From 10bbb07894ae924eb9aabd824883269d9c388c8f Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sun, 3 Sep 2023 06:24:12 -0500 Subject: [PATCH] Add in sound effects. --- olcCodeJam2023Entry/GameFlags.h | 2 +- olcCodeJam2023Entry/Scenario.cpp | 94 ++++++++++++++++++++++++++-- olcCodeJam2023Entry/Scenario.h | 1 + olcCodeJam2023Entry/Sound.h | 12 ++++ olcCodeJam2023Entry/Textbox.cpp | 2 +- olcCodeJam2023Entry/Unit.cpp | 87 +++++++++++++++++++------ olcCodeJam2023Entry/Unit.h | 45 ++++++++----- olcCodeJam2023Entry/VirusAttack.cpp | 72 +++++++++++++++++---- olcCodeJam2023Entry/pge.data | Bin 24592526 -> 24783488 bytes olcCodeJam2023Entry/pge.js | 2 +- olcCodeJam2023Entry/pge.wasm | Bin 1071467 -> 1077820 bytes 11 files changed, 264 insertions(+), 53 deletions(-) diff --git a/olcCodeJam2023Entry/GameFlags.h b/olcCodeJam2023Entry/GameFlags.h index 4372797..338b4a0 100644 --- a/olcCodeJam2023Entry/GameFlags.h +++ b/olcCodeJam2023Entry/GameFlags.h @@ -4,6 +4,6 @@ struct GameFlags{ bool unitMetersGreyedOut=true;//If true, all but health meters show up as dark grey. bool playerInControl=false; bool limitedBuildOptions=false; - bool guideEnabled=true; + bool guideEnabled=false; bool flashMemoryBar=false; }; \ No newline at end of file diff --git a/olcCodeJam2023Entry/Scenario.cpp b/olcCodeJam2023Entry/Scenario.cpp index 8ecb924..383325a 100644 --- a/olcCodeJam2023Entry/Scenario.cpp +++ b/olcCodeJam2023Entry/Scenario.cpp @@ -160,18 +160,20 @@ Stage2::Stage2(std::vector>&units,std::vectorIsRAMBank()&&u->IsFriendly()){ state=3; flags.playerInControl=false; + SetObjective(""); break; } } @@ -209,6 +212,7 @@ void Stage2::Update(){ } }break; case 6:{ + SetObjective("Build a Memory Allocator."); DisplayBox("To allocate 5 bits, select the RAM bank and click the Memory Allocator button.\n\nGive it a try now."); if(box.bPressed){ state=7; @@ -221,11 +225,13 @@ void Stage2::Update(){ if(u->IsAllocator()&&u->IsFriendly()){ state=8; flags.playerInControl=false; + SetObjective(""); break; } } }break; case 8:{ + SetObjective("Build a Left or Right Bit Shifter."); DisplayBox("Now select the memory allocator and let's make a Shifter unit."); if(box.bPressed){ state=9; @@ -238,6 +244,7 @@ void Stage2::Update(){ if(!u->IsAllocator()&&!u->IsRAMBank()&&u->IsFriendly()){ state=10; flags.playerInControl=false; + SetObjective(""); break; } } @@ -278,17 +285,94 @@ bool Stage2::MissionCompleted(){ Stage3::Stage3(std::vector>&units,std::vector>&IMAGES,std::vector>&SOUNDS,std::string&objective,TileTransformedView&game,GameFlags&flags) :Scenario(units,IMAGES,SOUNDS,objective,game,flags){} void Stage3::Start(){ + flags.playerInControl=false; + flags.unitMetersGreyedOut=true; + flags.guideEnabled=false; + SetCameraTarget({3*24,6*24},true); + oopsTimer=0.3; nextLevel=LevelName::STAGE4; }; void Stage3::Update(){ switch(state){ - case 0:{ - - }break; + case 0:{ + DisplayBox("I haven't touched on what the other meters on your units are, but they are important!"); + if(box.bPressed){ + SOUNDS[Sound::SWITCH]->PlayCentered(); + flags.unitMetersGreyedOut=false; + state=1; + } + }break; + case 1:{ + DisplayBox("The Blue bits indicates movement capabilities of a unit."); + if(box.bPressed){ + state=2; + } + }break; + case 2:{ + DisplayBox("The Green bits indicates the range of a unit."); + if(box.bPressed){ + state=3; + } + }break; + case 3:{ + DisplayBox("The Red bits are the attack speed bits."); + if(box.bPressed){ + state=4; + } + }break; + case 4:{ + DisplayBox("And Purple are the Procedure bits. Without these, your unit will fail to recall how to function."); + if(box.bPressed){ + state=5; + } + }break; + case 5:{ + DisplayBox("As units attack each other, their bits are going to get shuffled around, impeding their ability to perform."); + if(box.bPressed){ + state=6; + } + }break; + case 6:{ + DisplayBox("Your immediate goal is to always take out the Yellow bits but sometimes taking out other bits is important too."); + if(box.bPressed){ + SOUNDS[Sound::SWITCH]->PlayCentered(); + flags.guideEnabled=true; + state=7; + } + }break; + case 7:{ + DisplayBox("I'll leave a guide by the map in case your memory betrays you."); + if(box.bPressed){ + state=8; + } + }break; + case 8:{ + SetObjective("Defeat all units"); + DisplayBox("You now have access to more units as well. Do check them out!"); + if(box.bPressed){ + SetObjective("Defeat all units (Oops)"); + state=9; + } + }break; + case 9:{ + oopsTimer=std::max(0.f,oopsTimer-game.GetPGE()->GetElapsedTime()); + if(oopsTimer==0){ + SetObjective("Defeat all enemy units."); + state=10; + flags.playerInControl=true; + } + }break; + case 10:{ + }break; } }; bool Stage3::MissionCompleted(){ - return false; + for(auto&u:units){ + if(!u->IsFriendly()){ + return false; + } + } + return true; } Stage4::Stage4(std::vector>&units,std::vector>&IMAGES,std::vector>&SOUNDS,std::string&objective,TileTransformedView&game,GameFlags&flags) :Scenario(units,IMAGES,SOUNDS,objective,game,flags){} diff --git a/olcCodeJam2023Entry/Scenario.h b/olcCodeJam2023Entry/Scenario.h index 6f59f29..2b7cafa 100644 --- a/olcCodeJam2023Entry/Scenario.h +++ b/olcCodeJam2023Entry/Scenario.h @@ -59,6 +59,7 @@ protected: }; class Stage3:public Scenario{ public: + float oopsTimer=0.3; Stage3(std::vector>&units,std::vector>&IMAGES,std::vector>&SOUNDS,std::string&objective,TileTransformedView&game,GameFlags&flags); protected: void Start(); diff --git a/olcCodeJam2023Entry/Sound.h b/olcCodeJam2023Entry/Sound.h index 5980244..1318616 100644 --- a/olcCodeJam2023Entry/Sound.h +++ b/olcCodeJam2023Entry/Sound.h @@ -10,5 +10,17 @@ namespace Sound{ VOICEOVER, PING, ALARM, + SWITCH, + HIT1, + HIT2, + HIT3, + BUTTONSELECT, + SMALLBUILD, + BIGBUILD, + HEAL, + REFRESHER, + TURRET, + MEMORY_GUARD, + SPAWN, }; } \ No newline at end of file diff --git a/olcCodeJam2023Entry/Textbox.cpp b/olcCodeJam2023Entry/Textbox.cpp index 9d61bf0..4fcdf1e 100644 --- a/olcCodeJam2023Entry/Textbox.cpp +++ b/olcCodeJam2023Entry/Textbox.cpp @@ -199,7 +199,7 @@ void Textbox::Draw(PixelGameEngine*pge,Resources&resources,std::vectorGetTextSizeProp(text); drawcol=WHITE; if(totalCost+totalUsedMemory>memoryLimit){ diff --git a/olcCodeJam2023Entry/Unit.cpp b/olcCodeJam2023Entry/Unit.cpp index 51713be..5fb04b1 100644 --- a/olcCodeJam2023Entry/Unit.cpp +++ b/olcCodeJam2023Entry/Unit.cpp @@ -8,14 +8,23 @@ Unit::~Unit(){}; +void Unit::RandomHit(int chance,std::vector>&SOUNDS){ + switch(rand()%chance){ + case 0:{SOUNDS[Sound::HIT1]->Play(GetPos(),1,0.6);}break; + case 1:{SOUNDS[Sound::HIT2]->Play(GetPos(),1,0.6);}break; + case 2:{SOUNDS[Sound::HIT3]->Play(GetPos(),1,0.6);}break; + } +} + std::string LeftShifter::unitName="Left Shifter"; std::string LeftShifter::unitDescription="Shifts target memory 1 bit to the left."; std::vector LeftShifter::resourceCost={{RANGE,2},{ATKSPD,2},{MOVESPD,6},{PROCEDURE,1},{HEALTH,4}}; LeftShifter::LeftShifter(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly,bool moveable) :Unit(pge,LeftShifter::resourceCost,pos,12,*IMAGES[LEFT_SHIFTER],CONSTANT::ATTACKER_TARGET_COL,CONSTANT::ATTACKER_ATTACK_COL,friendly,moveable){} -void LeftShifter::Attack(Unit&victim,std::vector>&otherUnits){ +void LeftShifter::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ victim<<=1; + RandomHit(6,SOUNDS); } std::string RightShifter::unitName="Right Shifter"; @@ -24,8 +33,9 @@ std::vector RightShifter::resourceCost={{HEALTH,4},{RANGE,2},{ATKSPD,2}, RightShifter::RightShifter(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly,bool moveable) :Unit(pge,RightShifter::resourceCost,pos,12,*IMAGES[RIGHT_SHIFTER],CONSTANT::ATTACKER_TARGET_COL,CONSTANT::ATTACKER_ATTACK_COL,friendly,moveable){} -void RightShifter::Attack(Unit&victim,std::vector>&otherUnits){ +void RightShifter::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ victim>>=1; + RandomHit(6,SOUNDS); } std::string BitRestorer::unitName="Bit Restorer"; @@ -34,7 +44,7 @@ std::vector BitRestorer::resourceCost={{PROCEDURE,6},{RANGE,1},{ATKSPD,1 BitRestorer::BitRestorer(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly,bool moveable) :Unit(pge,BitRestorer::resourceCost,pos,12,*IMAGES[BIT_RESTORER],CONSTANT::HEALER_TARGET_COL,CONSTANT::HEALER_ATTACK_COL,friendly,moveable,true,false){} -void BitRestorer::Attack(Unit&victim,std::vector>&otherUnits){ +void BitRestorer::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ std::vectoremptyMemoryPositions; for(int i=0;i>&otherUni if(emptyMemoryPositions.size()==0){ //First see if we can find another damaged target, if we can, then we try healing them. Otherwise we exit. appliedTarget.reset(); - AttemptToHealOtherAllies(otherUnits); + AttemptToHealOtherAllies(otherUnits,SOUNDS); return; } int randomBit=emptyMemoryPositions[rand()%emptyMemoryPositions.size()]; victim.memory[randomBit]=true; + SOUNDS[Sound::HEAL]->Play(GetPos(),1,0.6); } -void BitRestorer::AttemptToHealOtherAllies(std::vector>&otherUnits){ +void BitRestorer::AttemptToHealOtherAllies(std::vector>&otherUnits,std::vector>&SOUNDS){ std::vectoremptyMemoryPositions; for(auto&u:otherUnits){ if(u.get()!=this&&u->IsFriendly()&&InRange(u)){ @@ -64,6 +75,7 @@ void BitRestorer::AttemptToHealOtherAllies(std::vector>&ot int randomBit=emptyMemoryPositions[rand()%emptyMemoryPositions.size()]; u->memory[randomBit]=true; appliedTarget=u; + SOUNDS[Sound::HEAL]->Play(GetPos(),1,0.6); return; } } @@ -78,7 +90,7 @@ MemorySwapper::MemorySwapper(PixelGameEngine*pge,vf2d pos,std::vector>&otherUnits){ +void MemorySwapper::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ std::vectoroldMemory=victim.memory; for(int i=0;i>&otherU if(victim.atkSpd.index==9999999)victim.atkSpd.index=0; if(victim.moveSpd.index==9999999)victim.moveSpd.index=0; if(victim.procedure.index==9999999)victim.procedure.index=0; + RandomHit(4,SOUNDS); } std::string Corrupter::unitName="Corrupter"; @@ -120,9 +133,12 @@ std::vector Corrupter::resourceCost={{ATKSPD,3},{RANGE,1},{PROCEDURE,8}, Corrupter::Corrupter(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly,bool moveable) :Unit(pge,Corrupter::resourceCost,pos,12,*IMAGES[CORRUPTER],CONSTANT::ATTACKER_TARGET_COL,CONSTANT::ATTACKER_ATTACK_COL,friendly,moveable){} -void Corrupter::Attack(Unit&victim,std::vector>&otherUnits){ +void Corrupter::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ //Chooses a bit at random and corrupts it. int randomBit=rand()%victim.memory.size(); + if(victim.memory[randomBit]){ + RandomHit(5,SOUNDS); + } victim.memory[randomBit]=false; } @@ -134,7 +150,7 @@ MemoryAllocator::MemoryAllocator(PixelGameEngine*pge,vf2d pos,std::vector>&otherUnits){ +void MemoryAllocator::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ } @@ -147,6 +163,7 @@ void MemoryAllocator::Update(PixelGameEngine*pge,std::vectorPlay(GetPos()); queuedUnits.push_back(std::move(buildTransformUnit)); } } @@ -194,7 +211,7 @@ RAMBank::RAMBank(PixelGameEngine*pge,vf2d pos,std::vector>&otherUnits){ +void RAMBank::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ } @@ -293,7 +310,7 @@ _Platform::_Platform(PixelGameEngine*pge,vf2d pos,std::vector>&otherUnits){}; +void _Platform::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){}; void _Platform::Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits){ if(IsBuilding()){ @@ -304,6 +321,7 @@ void _Platform::Update(PixelGameEngine*pge,std::vector>&S for(int i=0;iPlay(GetPos()); queuedUnits.push_back(std::move(buildTransformUnit)); } } @@ -335,7 +353,7 @@ Refresher::Refresher(PixelGameEngine*pge,vf2d pos,std::vector>&otherUnits){ +void Refresher::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ target.reset(); //Doesn't acquire a target. for(auto&u:otherUnits){ if(IsFriendly()==u->IsFriendly()&&InRange(u.get())){ @@ -352,6 +370,15 @@ void Refresher::Attack(Unit&victim,std::vector>&otherUnits } } } +void Refresher::OnDeath(std::vector>&SOUNDS){ + SOUNDS[Sound::REFRESHER]->Stop(soundHandle); +}; +void Refresher::Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits){ + if(!soundStarted){ + soundStarted=true; + soundHandle=SOUNDS[Sound::REFRESHER]->Play(GetPos(),1,1,true); + } +}; std::string Turret::unitName="Turret"; std::string Turret::unitDescription="Automatically targets attack and movement speed memory ranges before others."; @@ -359,7 +386,7 @@ std::vector Turret::resourceCost={{ATKSPD,4},{RANGE,5},{HEALTH,6},{PROCE Turret::Turret(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly,bool moveable) :Unit(pge,Turret::resourceCost,pos,24,*IMAGES[TURRET],CONSTANT::ATTACKER_TARGET_COL,CONSTANT::ATTACKER_ATTACK_COL,friendly,false){} -void Turret::Attack(Unit&victim,std::vector>&otherUnits){ +void Turret::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ if(victim.GetMoveSpd()>0){ for(int i=0;i>&otherUnits){ attempts++; } } +void Turret::OnDeath(std::vector>&SOUNDS){ + SOUNDS[Sound::TURRET]->Stop(soundHandle); +}; +void Turret::Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits){ + if(!soundStarted){ + soundStarted=true; + soundHandle=SOUNDS[Sound::TURRET]->Play(GetPos(),1,1,true); + } +}; std::string MemoryGuard::unitName="Memory Guard"; std::string MemoryGuard::unitDescription="Reduces the chance of bit modification for all surrounding units by 30%"; @@ -395,7 +431,7 @@ MemoryGuard::MemoryGuard(PixelGameEngine*pge,vf2d pos,std::vector>&otherUnits){ +void MemoryGuard::Attack(Unit&victim,std::vector>&otherUnits ,std::vector>&SOUNDS){ target.reset(); //Doesn't acquire a target. for(auto&u:otherUnits){ if(IsFriendly()==u->IsFriendly()&&InRange(u.get())){ @@ -403,6 +439,15 @@ void MemoryGuard::Attack(Unit&victim,std::vector>&otherUni } } } +void MemoryGuard::OnDeath(std::vector>&SOUNDS){ + SOUNDS[Sound::MEMORY_GUARD]->Stop(soundHandle); +}; +void MemoryGuard::Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits){ + if(!soundStarted){ + soundStarted=true; + soundHandle=SOUNDS[Sound::MEMORY_GUARD]->Play(GetPos(),1,1,true); + } +}; Unit::Unit(PixelGameEngine*pge,std::vectormemory,vf2d pos,float radius,Renderable&img,Pixel targetLineColor,Pixel attackingLineColor,bool friendly,bool moveable,bool friendlyInteractable,bool enemyInteractable) :pos(pos),radius(radius),ghostPos({-999999,-999999}),img(img),targetLineCol(targetLineColor),attackingLineCol(attackingLineColor),friendly(friendly),moveable(moveable),friendlyInteractable(friendlyInteractable),enemyInteractable(enemyInteractable){ @@ -791,7 +836,7 @@ void Unit::SetPos(vf2d newPos){ pos=newPos; } -void Unit::AttemptAttack(std::weak_ptrattacker,std::weak_ptrunit,std::vector>&otherUnits,std::vector&debuffIcons,std::vector>&IMAGES){ +void Unit::AttemptAttack(std::weak_ptrattacker,std::weak_ptrunit,std::vector>&otherUnits,std::vector&debuffIcons,std::vector>&IMAGES,std::vector>&SOUNDS){ if(reloadTimer>0)return; std::weak_ptrfinalTarget; if(!unit.expired()){ @@ -810,7 +855,7 @@ void Unit::AttemptAttack(std::weak_ptrattacker,std::weak_ptrunit,std bool hadMoveSpd=finalTarget.lock()->GetMoveSpd()>0; bool hadRange=finalTarget.lock()->GetRange()>0; bool hadProcedure=finalTarget.lock()->GetProcedure()>0; - _Attack(attacker,finalTarget,otherUnits); //Call the parent function first, followed by the child. + _Attack(attacker,finalTarget,otherUnits,SOUNDS); //Call the parent function first, followed by the child. if(hadAtkSpd&&finalTarget.lock()->GetAtkSpd()==0){ debuffIcons.emplace_back(IMAGES[RLD_ICON].get(),IMAGES[RED_X].get(),finalTarget.lock()->GetPos()-vf2d{util::random(12)-6,4}); } @@ -838,12 +883,12 @@ void Unit::_Attacked(std::weak_ptrattacker){ } } -void Unit::_Attack(std::weak_ptrattacker,std::weak_ptrfinalTarget,std::vector>&otherUnits){ +void Unit::_Attack(std::weak_ptrattacker,std::weak_ptrfinalTarget,std::vector>&otherUnits,std::vector>&SOUNDS){ if(GetProcedure()>0&&GetAtkSpd()>0){ attackFailed=false; float procChance=float(GetProcedure())/procedure.size; if(util::random(1)>=1-procChance){ - Attack(*finalTarget.lock(),otherUnits); + Attack(*finalTarget.lock(),otherUnits,SOUNDS); finalTarget.lock()->_Attacked(attacker); reloadTimer=1.f/(GetAtkSpd()/2.f); if(GetCurrentTarget().expired()&&!IsFriendly()){ @@ -944,9 +989,15 @@ bool Unit::IsAllocator(){ return isAllocator&&attachedPoint.expired()&&buildTime<=0; } -void Unit::SetBuildUnit(float buildTime,std::shared_ptrfinalUnit){ +void Unit::SetBuildUnit(float buildTime,std::shared_ptrfinalUnit,std::vector>&SOUNDS){ this->buildTime=buildTime; this->buildTransformUnit=std::move(finalUnit); + if(this->IsAllocator()){ + SOUNDS[Sound::SMALLBUILD]->Play(GetPos()); + } else + if(this->IsPlatform()){ + SOUNDS[Sound::BIGBUILD]->Play(GetPos()); + } } bool Unit::IsBuilding(){ diff --git a/olcCodeJam2023Entry/Unit.h b/olcCodeJam2023Entry/Unit.h index 1214b62..a295386 100644 --- a/olcCodeJam2023Entry/Unit.h +++ b/olcCodeJam2023Entry/Unit.h @@ -46,7 +46,7 @@ public: std::vectorghostMemory; std::vectorsavedMemory; virtual void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits); - virtual void Attack(Unit&victim,std::vector>&otherUnits)=0; + virtual void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)=0; virtual void Draw(TileTransformedView&game,std::vector>&IMAGES); virtual void DrawHud(TileTransformedView&game,std::vector>&IMAGES); void _DrawHud(TileTransformedView&game,std::vector>&IMAGES,bool unitMetersGreyedOut); @@ -61,7 +61,7 @@ public: void SetTargetUnit(std::weak_ptrtarget); void SetTargetLocation(vf2d targetLoc); void SetPos(vf2d newPos); - void AttemptAttack(std::weak_ptrattacker,std::weak_ptrunit,std::vector>&otherUnits,std::vector&debuffIcons,std::vector>&IMAGES); + void AttemptAttack(std::weak_ptrattacker,std::weak_ptrunit,std::vector>&otherUnits,std::vector&debuffIcons,std::vector>&IMAGES,std::vector>&SOUNDS); bool InFogOfWar(); bool GhostInFogOfWar(); void HideGhost(); @@ -85,7 +85,7 @@ public: virtual void UpdateGUIState(TileTransformedView&game,Resources&player_resources,Textbox&displayBox,bool&hovered,int totalUsedMemory,int availableMemory); virtual bool ClickHandled(TileTransformedView&game,Resources&player_resources,std::vector>&units,std::vector>&IMAGES); //If you return true here, then the left click does not pass back to the main Virus Attack class. bool IsAllocator(); - void SetBuildUnit(float buildTime,std::shared_ptrfinalUnit); + void SetBuildUnit(float buildTime,std::shared_ptrfinalUnit,std::vector>&SOUNDS); bool IsBuilding(); void SetGuardTime(float time); bool IsGuarded(); @@ -93,6 +93,7 @@ public: bool IsPlatform(); bool IsAttached(); bool IsRAMBank(); + void RandomHit(int chance,std::vector>&SOUNDS); //3 of chance odds of making a sound. Unit*GetBuildUnit(); Marker health={}; Marker range={}; @@ -142,7 +143,7 @@ private: int GetBits(Marker&m); bool selected=false; bool dead=false; - void _Attack(std::weak_ptrattacker,std::weak_ptrfinalTarget,std::vector>&otherUnits); + void _Attack(std::weak_ptrattacker,std::weak_ptrfinalTarget,std::vector>&otherUnits,std::vector>&SOUNDS); bool moveable=true; bool friendlyInteractable=false; bool enemyInteractable=true; @@ -159,7 +160,7 @@ private: struct LeftShifter:Unit{ LeftShifter(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; @@ -167,7 +168,7 @@ struct LeftShifter:Unit{ struct RightShifter:Unit{ RightShifter(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; @@ -175,8 +176,8 @@ struct RightShifter:Unit{ struct BitRestorer:Unit{ BitRestorer(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; - void AttemptToHealOtherAllies(std::vector>&otherUnits); + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; + void AttemptToHealOtherAllies(std::vector>&otherUnits,std::vector>&SOUNDS); static std::vector resourceCost; static std::string unitName; static std::string unitDescription; @@ -184,7 +185,7 @@ struct BitRestorer:Unit{ struct MemorySwapper:Unit{ MemorySwapper(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; @@ -192,7 +193,7 @@ struct MemorySwapper:Unit{ struct Corrupter:Unit{ Corrupter(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; @@ -200,7 +201,7 @@ struct Corrupter:Unit{ struct MemoryAllocator:Unit{ MemoryAllocator(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&units)override; + void Attack(Unit&victim,std::vector>&units,std::vector>&SOUNDS)override; void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits)override; void Draw(TileTransformedView&game,std::vector>&IMAGES)override; static std::vector resourceCost; @@ -219,7 +220,7 @@ struct RAMBank:Unit{ QuickGUI::ImageButton*allocatorButton; RAMBank(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false); void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits)override; - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; void Draw(TileTransformedView&game,std::vector>&IMAGES)override; void OnDeath(std::vector>&SOUNDS)override; bool ClickHandled(TileTransformedView&game,Resources&player_resources,std::vector>&units,std::vector>&IMAGES)override; @@ -232,7 +233,7 @@ struct RAMBank:Unit{ struct _Platform:Unit{ _Platform(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits)override; void Draw(TileTransformedView&game,std::vector>&IMAGES)override; static std::vector resourceCost; @@ -241,24 +242,36 @@ struct _Platform:Unit{ }; struct MemoryGuard:Unit{ + bool soundStarted=false; + int soundHandle=-1; MemoryGuard(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; + void OnDeath(std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; }; struct Refresher:Unit{ + bool soundStarted=false; + int soundHandle=-1; Refresher(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; + void OnDeath(std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; }; struct Turret:Unit{ + bool soundStarted=false; + int soundHandle=-1; Turret(PixelGameEngine*pge,vf2d pos,std::vector>&IMAGES,bool friendly=false,bool moveable=true); - void Attack(Unit&victim,std::vector>&otherUnits)override; + void Update(PixelGameEngine*pge,std::vector>&SOUNDS,std::vector>&queuedUnits)override; + void Attack(Unit&victim,std::vector>&otherUnits,std::vector>&SOUNDS)override; + void OnDeath(std::vector>&SOUNDS)override; static std::vector resourceCost; static std::string unitName; static std::string unitDescription; diff --git a/olcCodeJam2023Entry/VirusAttack.cpp b/olcCodeJam2023Entry/VirusAttack.cpp index 27dc0ba..ed1658e 100644 --- a/olcCodeJam2023Entry/VirusAttack.cpp +++ b/olcCodeJam2023Entry/VirusAttack.cpp @@ -145,6 +145,41 @@ void VirusAttack::InitializeLevelData(){ } } #pragma endregion + #pragma region Stage 3 + { + //Stage 3 data. + LevelName stage=STAGE3; + levelData[stage].name=stage; + levelData[stage].cameraStart={96,96}; + levelData[stage].worldZoom={1,1}; + levelData[stage].size={30,30}; + levelData[stage].levelColor=DARK_GREEN; + levelData[stage].bgm=Sound::GRAVITY; + levelData[stage].scenarioIndex=int(stage); + levelData[stage].availableMemory=240; + levelData[stage].player_starting_resources={100,40,60,40,100}; + levelData[stage].enemy_starting_resources={0,0,0,0,0}; + { + std::vector&units=levelData[stage].unitPlacement; + std::vector&collectionPoints=levelData[stage].cpPlacement; + + units.push_back({UnitType::RAMBank,vf2d{3*24,6*24},true}); + for(int i=0;i<4;i++){ + units.push_back({UnitType::RightShifter,vf2d{3*24,8*24},true}); + } + units.push_back({UnitType::LeftShifter,vf2d{3*24,7*24},true}); + + + units.push_back({UnitType::RightShifter,vf2d{18*24,19*24},false}); + units.push_back({UnitType::LeftShifter,vf2d{20*24,22*24},false}); + units.push_back({UnitType::LeftShifter,vf2d{21*24,22*24},false}); + for(int i=0;i<8;i++){ + units.push_back({UnitType::MemoryAllocator,vf2d{20*24,17*24},false}); + } + units.push_back({UnitType::_Platform,vf2d{22*24,23*24},false}); + } + } + #pragma endregion } bool VirusAttack::OnUserCreate(){ @@ -303,6 +338,17 @@ void VirusAttack::InitializeSounds(){ LoadSound(Sound::VOICEOVER,"voice.mp3"); LoadSound(Sound::PING,"ping.mp3"); LoadSound(Sound::ALARM,"alarm.mp3"); + LoadSound(Sound::SWITCH,"switch.mp3"); + LoadSound(Sound::HIT1,"hit1.mp3"); + LoadSound(Sound::HIT2,"hit2.mp3"); + LoadSound(Sound::HIT3,"hit3.mp3"); + LoadSound(Sound::BUTTONSELECT,"buttonselect.mp3"); + LoadSound(Sound::SMALLBUILD,"smallbuild.mp3"); + LoadSound(Sound::BIGBUILD,"bigbuild.mp3"); + LoadSound(Sound::HEAL,"heal.mp3"); + LoadSound(Sound::REFRESHER,"refresher.mp3"); + LoadSound(Sound::TURRET,"turret.mp3"); + LoadSound(Sound::MEMORY_GUARD,"memoryguard.mp3"); } bool VirusAttack::UnitCreationClickHandled(){ @@ -311,14 +357,14 @@ bool VirusAttack::UnitCreationClickHandled(){ for(auto&u:units){ \ if(u->IsSelected()&&u->Validator()&&CanAfford(player_resources,UnitClass::resourceCost)) { \ std::shared_ptrbuildUnit=std::make_shared(this,u->GetPos(),IMAGES,u->IsFriendly()); \ - u->SetBuildUnit(CONSTANT::UNIT_BUILD_TIME,std::move(buildUnit)); \ + u->SetBuildUnit(CONSTANT::UNIT_BUILD_TIME,std::move(buildUnit),SOUNDS); \ ExpendResources(player_resources,UnitClass::resourceCost); \ CalculateUsedMemory(); \ } \ } \ + SOUNDS[Sound::BUTTONSELECT]->PlayCentered(); \ return true; \ } - CheckClick(LeftShifter,leftShifterButton,IsAllocator) CheckClick(RightShifter,rightShifterButton,IsAllocator) CheckClick(BitRestorer,bitRestorerButton,IsAllocator) @@ -686,9 +732,13 @@ bool VirusAttack::OnUserUpdate(float fElapsedTime){ mainMenu.Update(this); if(campaignStartButton->bPressed){ + SOUNDS[Sound::BUTTONSELECT]->PlayCentered(); state=GameState::GAMEPLAY; RestartLevel(); } + if(exitGameButton->bPressed){ + SOUNDS[Sound::BUTTONSELECT]->PlayCentered(); + } titleScreenY=std::min(0.f,titleScreenY+fElapsedTime*120); nextColorChange=std::max(0.f,nextColorChange-fElapsedTime); @@ -816,7 +866,7 @@ bool VirusAttack::OnUserUpdate(float fElapsedTime){ } } } - u->AttemptAttack(u,closestUnit,units,debuffIcons,IMAGES); + u->AttemptAttack(u,closestUnit,units,debuffIcons,IMAGES,SOUNDS); u->_Update(this,SOUNDS,player_resources,enemy_resources,queuedUnits,resourceGainTimer,resourceGainIcons,IMAGES); } @@ -991,16 +1041,16 @@ void VirusAttack::DrawSystemMemoryBar(float fElapsedTime){ col=CONSTANT::HEALTH_COLOR; }break; case 1:{ - col=CONSTANT::RANGE_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::RANGE_COLOR; }break; case 2:{ - col=CONSTANT::ATKSPD_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::ATKSPD_COLOR; }break; case 3:{ - col=CONSTANT::MOVESPD_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::MOVESPD_COLOR; }break; case 4:{ - col=CONSTANT::PROCEDURE_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::PROCEDURE_COLOR; }break; } DrawPartialDecal(barPos+vf2d{barOffset+1,1.f},{barSegmentWidth,3},IMAGES[SEGMENT_BAR]->Decal(),{0,0},{float(playerUsedDisplayMemory[i]),3.f},col); @@ -1016,16 +1066,16 @@ void VirusAttack::DrawSystemMemoryBar(float fElapsedTime){ col=CONSTANT::HEALTH_COLOR; }break; case 1:{ - col=CONSTANT::RANGE_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::RANGE_COLOR; }break; case 2:{ - col=CONSTANT::ATKSPD_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::ATKSPD_COLOR; }break; case 3:{ - col=CONSTANT::MOVESPD_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::MOVESPD_COLOR; }break; case 4:{ - col=CONSTANT::PROCEDURE_COLOR; + col=flags.unitMetersGreyedOut?DARK_GREY:CONSTANT::PROCEDURE_COLOR; }break; } DrawPartialDecal(barPos+vf2d{barOffset+actualBarWidth+3-barSegmentWidth,1.f},{barSegmentWidth,3},IMAGES[SEGMENT_BAR]->Decal(),{0,0},{float(enemyUsedDisplayMemory[i]),3.f},col); diff --git a/olcCodeJam2023Entry/pge.data b/olcCodeJam2023Entry/pge.data index 46c46a14c0ff4ab40e3a55d83a5b556638b2d263..c09d239c97010a3287a63770e336bfe8748eaa40 100644 GIT binary patch delta 188335 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 delta 1690 zcmXBVXH?E%7{~GR&z9(sY>`A(L&M&)A}S=S2q__3_Ku89UcX*Ev_=r#Vj4$|# zZ}^TM_=#WmjX#qk;;$ilvfEu~Kp?c@%5Kq~uj>lzfV< zl3yvH6jTZ+g_R;oQKgt-rxaI8DE3N8#X%{hI4Y%;GK!N@Rw<{HS1KqK6=%goaaG)u zN{YMUp?E4@N@b;rQdOy@R99*!HI-UQZKaMB^W zr!-euDE>--5~#FPS}CoSAf=5Gth80yDeaXGN=GF`2~|2Nos}@9i_%r;ri3fql?WwL z>7hg^J(XTcZ^O*FF}#fbzes#~MzlftD18lcdPYCvq+7hVX@EfnDua~4hS}Q`V|bYU TJ+s-KY?o%3lU-wsGvEFKU&$AG diff --git a/olcCodeJam2023Entry/pge.js b/olcCodeJam2023Entry/pge.js index 456ef32..ba56a99 100644 --- a/olcCodeJam2023Entry/pge.js +++ b/olcCodeJam2023Entry/pge.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={134124:()=>{return Module.canvas.getBoundingClientRect().left},134176:()=>{return Module.canvas.getBoundingClientRect().top},134227:()=>{return Module.olc_MOUSEX},134255:()=>{return Module.olc_MOUSEY},134283:()=>{return Module.olc_MOUSEDOWN},134313:()=>{return Module.olc_MOUSEUP},134341:()=>{Module.olc_MOUSEDOWN=-1},134367:()=>{Module.olc_MOUSEUP=-1},134391:()=>{window.onunload=Module._olc_OnPageUnload},134435:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_MOUSEDOWN=-1;Module.olc_MOUSEUP=-1;onmousemove=function(e){Module.olc_MOUSEX=e.clientX;Module.olc_MOUSEY=e.clientY};onmousedown=function(e){Module.olc_MOUSEDOWN=e.button};onmouseup=function(e){Module.olc_MOUSEUP=e.button};ontouchmove=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};ontouchstart=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()},136829:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},136976:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},137210:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},137703:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},137771:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},139423:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},139833:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},140918:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},144548:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},144631:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},144700:()=>{return window.innerWidth},144730:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function ___assert_fail(condition,filename,line,func){abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var exceptionCaught=[];var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_rethrow(){var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function stringToNewUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function runMainThreadEmAsm(code,sigPtr,argbuf,sync){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return runMainThreadEmAsm(code,sigPtr,argbuf,1)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function stringToUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}function _glActiveTexture(x0){GLctx.activeTexture(x0)}var _emscripten_glActiveTexture=_glActiveTexture;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glAttachShader=_glAttachShader;function _glBeginQuery(target,id){GLctx.beginQuery(target,GL.queries[id])}var _emscripten_glBeginQuery=_glBeginQuery;function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBeginTransformFeedback(x0){GLctx.beginTransformFeedback(x0)}var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}var _emscripten_glBindAttribLocation=_glBindAttribLocation;function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}var _emscripten_glBindBuffer=_glBindBuffer;function _glBindBufferBase(target,index,buffer){GLctx.bindBufferBase(target,index,GL.buffers[buffer])}var _emscripten_glBindBufferBase=_glBindBufferBase;function _glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)}var _emscripten_glBindBufferRange=_glBindBufferRange;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}var _emscripten_glBindFramebuffer=_glBindFramebuffer;function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;function _glBindSampler(unit,sampler){GLctx.bindSampler(unit,GL.samplers[sampler])}var _emscripten_glBindSampler=_glBindSampler;function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}var _emscripten_glBindTexture=_glBindTexture;function _glBindTransformFeedback(target,id){GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])}var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _emscripten_glBindVertexArray=_glBindVertexArray;var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}var _emscripten_glBlendColor=_glBlendColor;function _glBlendEquation(x0){GLctx.blendEquation(x0)}var _emscripten_glBlendEquation=_glBlendEquation;function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}var _emscripten_glBlendFunc=_glBlendFunc;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;function _glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}var _emscripten_glBufferData=_glBufferData;function _glBufferSubData(target,offset,size,data){if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}var _emscripten_glBufferSubData=_glBufferSubData;function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;function _glClear(x0){GLctx.clear(x0)}var _emscripten_glClear=_glClear;function _glClearBufferfi(x0,x1,x2,x3){GLctx.clearBufferfi(x0,x1,x2,x3)}var _emscripten_glClearBufferfi=_glClearBufferfi;function _glClearBufferfv(buffer,drawbuffer,value){GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)}var _emscripten_glClearBufferfv=_glClearBufferfv;function _glClearBufferiv(buffer,drawbuffer,value){GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>2)}var _emscripten_glClearBufferiv=_glClearBufferiv;function _glClearBufferuiv(buffer,drawbuffer,value){GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>2)}var _emscripten_glClearBufferuiv=_glClearBufferuiv;function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}var _emscripten_glClearColor=_glClearColor;function _glClearDepthf(x0){GLctx.clearDepth(x0)}var _emscripten_glClearDepthf=_glClearDepthf;function _glClearStencil(x0){GLctx.clearStencil(x0)}var _emscripten_glClearStencil=_glClearStencil;function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _glClientWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glClientWaitSync=_glClientWaitSync;function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}var _emscripten_glColorMask=_glColorMask;function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}var _emscripten_glCompileShader=_glCompileShader;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;function _glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx.copyBufferSubData(x0,x1,x2,x3,x4)}var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;function _glCopyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8){GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8)}var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}var _emscripten_glCreateProgram=_glCreateProgram;function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}var _emscripten_glCreateShader=_glCreateShader;function _glCullFace(x0){GLctx.cullFace(x0)}var _emscripten_glCullFace=_glCullFace;function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}var _emscripten_glDeleteBuffers=_glDeleteBuffers;function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}var _emscripten_glDeleteProgram=_glDeleteProgram;function _glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}}var _emscripten_glDeleteQueries=_glDeleteQueries;function _glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;function _glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}}var _emscripten_glDeleteSamplers=_glDeleteSamplers;function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}var _emscripten_glDeleteShader=_glDeleteShader;function _glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}var _emscripten_glDeleteSync=_glDeleteSync;function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}var _emscripten_glDeleteTextures=_glDeleteTextures;function _glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;function _glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;function _glDepthFunc(x0){GLctx.depthFunc(x0)}var _emscripten_glDepthFunc=_glDepthFunc;function _glDepthMask(flag){GLctx.depthMask(!!flag)}var _emscripten_glDepthMask=_glDepthMask;function _glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _emscripten_glDepthRangef=_glDepthRangef;function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glDetachShader=_glDetachShader;function _glDisable(x0){GLctx.disable(x0)}var _emscripten_glDisable=_glDisable;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}var _emscripten_glDrawArrays=_glDrawArrays;function _glDrawArraysInstanced(mode,first,count,primcount){GLctx.drawArraysInstanced(mode,first,count,primcount)}var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)}var _emscripten_glDrawBuffers=_glDrawBuffers;var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}var _emscripten_glDrawElements=_glDrawElements;function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;function _glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}var _emscripten_glDrawRangeElements=_glDrawRangeElements;function _glEnable(x0){GLctx.enable(x0)}var _emscripten_glEnable=_glEnable;function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;function _glEndQuery(x0){GLctx.endQuery(x0)}var _emscripten_glEndQuery=_glEndQuery;function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}var _emscripten_glEndQueryEXT=_glEndQueryEXT;function _glEndTransformFeedback(){GLctx.endTransformFeedback()}var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}var _emscripten_glFenceSync=_glFenceSync;function _glFinish(){GLctx.finish()}var _emscripten_glFinish=_glFinish;function _glFlush(){GLctx.flush()}var _emscripten_glFlush=_glFlush;function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;function _glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;function _glFrontFace(x0){GLctx.frontFace(x0)}var _emscripten_glFrontFace=_glFrontFace;function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}var _emscripten_glGenBuffers=_glGenBuffers;function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}var _emscripten_glGenFramebuffers=_glGenFramebuffers;function _glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}var _emscripten_glGenQueries=_glGenQueries;function _glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;function _glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}var _emscripten_glGenSamplers=_glGenSamplers;function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}var _emscripten_glGenTextures=_glGenTextures;function _glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _emscripten_glGenVertexArrays=_glGenVertexArrays;var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}var _emscripten_glGenerateMipmap=_glGenerateMipmap;function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveUniform=_glGetActiveUniform;function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetAttribLocation=_glGetAttribLocation;function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}var _emscripten_glGetBooleanv=_glGetBooleanv;function _glGetBufferParameteri64v(target,value,data){if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}var _emscripten_glGetError=_glGetError;function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}var _emscripten_glGetFloatv=_glGetFloatv;function _glGetFragDataLocation(program,name){return GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _glGetInteger64i_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,1)}var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;function _glGetInteger64v(name_,p){emscriptenWebGLGet(name_,p,1)}var _emscripten_glGetInteger64v=_glGetInteger64v;function _glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}var _emscripten_glGetIntegerv=_glGetIntegerv;function _glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}var _emscripten_glGetInternalformativ=_glGetInternalformativ;function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}var _emscripten_glGetProgramBinary=_glGetProgramBinary;function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}var _emscripten_glGetProgramiv=_glGetProgramiv;function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;function _glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getQuery(target,pname)}var _emscripten_glGetQueryiv=_glGetQueryiv;function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;function _glGetSamplerParameterfv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;function _glGetSamplerParameteriv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderSource=_glGetShaderSource;function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}var _emscripten_glGetShaderiv=_glGetShaderiv;function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(true)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}var _emscripten_glGetString=_glGetString;function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}var _emscripten_glGetStringi=_glGetStringi;function _glGetSynciv(sync,pname,bufSize,length,values){if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}}var _emscripten_glGetSynciv=_glGetSynciv;function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;function _glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;function _glGetUniformBlockIndex(program,uniformBlockName){return GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName))}var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetUniformIndices=_glGetUniformIndices;function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}var _emscripten_glGetUniformfv=_glGetUniformfv;function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformiv=_glGetUniformiv;function _glGetUniformuiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformuiv=_glGetUniformuiv;function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribIiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;function _glHint(x0,x1){GLctx.hint(x0,x1)}var _emscripten_glHint=_glHint;function _glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateFramebuffer(target,list)}var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;function _glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)}var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}var _emscripten_glIsBuffer=_glIsBuffer;function _glIsEnabled(x0){return GLctx.isEnabled(x0)}var _emscripten_glIsEnabled=_glIsEnabled;function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}var _emscripten_glIsFramebuffer=_glIsFramebuffer;function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}var _emscripten_glIsProgram=_glIsProgram;function _glIsQuery(id){var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)}var _emscripten_glIsQuery=_glIsQuery;function _glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}var _emscripten_glIsQueryEXT=_glIsQueryEXT;function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;function _glIsSampler(id){var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)}var _emscripten_glIsSampler=_glIsSampler;function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}var _emscripten_glIsShader=_glIsShader;function _glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}var _emscripten_glIsSync=_glIsSync;function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}var _emscripten_glIsTexture=_glIsTexture;function _glIsTransformFeedback(id){return GLctx.isTransformFeedback(GL.transformFeedbacks[id])}var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)}var _emscripten_glIsVertexArray=_glIsVertexArray;var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;function _glLineWidth(x0){GLctx.lineWidth(x0)}var _emscripten_glLineWidth=_glLineWidth;function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}var _emscripten_glLinkProgram=_glLinkProgram;function _glPauseTransformFeedback(){GLctx.pauseTransformFeedback()}var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}var _emscripten_glPixelStorei=_glPixelStorei;function _glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}var _emscripten_glPolygonOffset=_glPolygonOffset;function _glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}var _emscripten_glProgramBinary=_glProgramBinary;function _glProgramParameteri(program,pname,value){GL.recordError(1280)}var _emscripten_glProgramParameteri=_glProgramParameteri;function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;function _glReadBuffer(x0){GLctx.readBuffer(x0)}var _emscripten_glReadBuffer=_glReadBuffer;function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}var _emscripten_glReadPixels=_glReadPixels;function _glReleaseShaderCompiler(){}var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;function _glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4)}var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;function _glResumeTransformFeedback(){GLctx.resumeTransformFeedback()}var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}var _emscripten_glSampleCoverage=_glSampleCoverage;function _glSamplerParameterf(sampler,pname,param){GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterf=_glSamplerParameterf;function _glSamplerParameterfv(sampler,pname,params){var param=HEAPF32[params>>2];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;function _glSamplerParameteri(sampler,pname,param){GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteri=_glSamplerParameteri;function _glSamplerParameteriv(sampler,pname,params){var param=HEAP32[params>>2];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}var _emscripten_glScissor=_glScissor;function _glShaderBinary(count,shaders,binaryformat,binary,length){GL.recordError(1280)}var _emscripten_glShaderBinary=_glShaderBinary;function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}var _emscripten_glShaderSource=_glShaderSource;function _glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var _emscripten_glStencilFunc=_glStencilFunc;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;function _glStencilMask(x0){GLctx.stencilMask(x0)}var _emscripten_glStencilMask=_glStencilMask;function _glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;function _glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}var _emscripten_glStencilOp=_glStencilOp;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}var _emscripten_glTexImage2D=_glTexImage2D;function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}}var _emscripten_glTexImage3D=_glTexImage3D;function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var _emscripten_glTexParameterf=_glTexParameterf;function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}var _emscripten_glTexParameterfv=_glTexParameterfv;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}var _emscripten_glTexParameteri=_glTexParameteri;function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}var _emscripten_glTexParameteriv=_glTexParameteriv;function _glTexStorage2D(x0,x1,x2,x3,x4){GLctx.texStorage2D(x0,x1,x2,x3,x4)}var _emscripten_glTexStorage2D=_glTexStorage2D;function _glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx.texStorage3D(x0,x1,x2,x3,x4,x5)}var _emscripten_glTexStorage3D=_glTexStorage3D;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}var _emscripten_glTexSubImage2D=_glTexSubImage2D;function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}var _emscripten_glTexSubImage3D=_glTexSubImage3D;function _glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)}var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;function _glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1f=_glUniform1f;function _glUniform1fv(location,count,value){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count)}var _emscripten_glUniform1fv=_glUniform1fv;function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1i=_glUniform1i;function _glUniform1iv(location,count,value){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count)}var _emscripten_glUniform1iv=_glUniform1iv;function _glUniform1ui(location,v0){GLctx.uniform1ui(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1ui=_glUniform1ui;function _glUniform1uiv(location,count,value){count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}var _emscripten_glUniform1uiv=_glUniform1uiv;function _glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2f=_glUniform2f;function _glUniform2fv(location,count,value){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2)}var _emscripten_glUniform2fv=_glUniform2fv;function _glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2i=_glUniform2i;function _glUniform2iv(location,count,value){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2)}var _emscripten_glUniform2iv=_glUniform2iv;function _glUniform2ui(location,v0,v1){GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2ui=_glUniform2ui;function _glUniform2uiv(location,count,value){count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}var _emscripten_glUniform2uiv=_glUniform2uiv;function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3f=_glUniform3f;function _glUniform3fv(location,count,value){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3)}var _emscripten_glUniform3fv=_glUniform3fv;function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3i=_glUniform3i;function _glUniform3iv(location,count,value){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3)}var _emscripten_glUniform3iv=_glUniform3iv;function _glUniform3ui(location,v0,v1,v2){GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3ui=_glUniform3ui;function _glUniform3uiv(location,count,value){count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}var _emscripten_glUniform3uiv=_glUniform3uiv;function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4f=_glUniform4f;function _glUniform4fv(location,count,value){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4)}var _emscripten_glUniform4fv=_glUniform4fv;function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4i=_glUniform4i;function _glUniform4iv(location,count,value){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4)}var _emscripten_glUniform4iv=_glUniform4iv;function _glUniform4ui(location,v0,v1,v2,v3){GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4ui=_glUniform4ui;function _glUniform4uiv(location,count,value){count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}var _emscripten_glUniform4uiv=_glUniform4uiv;function _glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)}var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;function _glUniformMatrix2fv(location,count,transpose,value){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4)}var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;function _glUniformMatrix2x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;function _glUniformMatrix2x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;function _glUniformMatrix3fv(location,count,transpose,value){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9)}var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;function _glUniformMatrix3x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;function _glUniformMatrix3x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;function _glUniformMatrix4fv(location,count,transpose,value){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)}var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;function _glUniformMatrix4x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;function _glUniformMatrix4x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}var _emscripten_glUseProgram=_glUseProgram;function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}var _emscripten_glValidateProgram=_glValidateProgram;function _glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;function _glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;function _glVertexAttribDivisor(index,divisor){GLctx.vertexAttribDivisor(index,divisor)}var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;function _glVertexAttribI4i(x0,x1,x2,x3,x4){GLctx.vertexAttribI4i(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;function _glVertexAttribI4iv(index,v){GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])}var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;function _glVertexAttribI4ui(x0,x1,x2,x3,x4){GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;function _glVertexAttribI4uiv(index,v){GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])}var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;function _glVertexAttribIPointer(index,size,type,stride,ptr){GLctx.vertexAttribIPointer(index,size,type,stride,ptr)}var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var _emscripten_glViewport=_glViewport;function _glWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glWaitSync=_glWaitSync;function _emscripten_has_asyncify(){return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(e=event){var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(e=event){var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(e=event){var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(e=event){var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(e=event){if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(e=event){var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={134924:()=>{return Module.canvas.getBoundingClientRect().left},134976:()=>{return Module.canvas.getBoundingClientRect().top},135027:()=>{return Module.olc_MOUSEX},135055:()=>{return Module.olc_MOUSEY},135083:()=>{return Module.olc_MOUSEDOWN},135113:()=>{return Module.olc_MOUSEUP},135141:()=>{Module.olc_MOUSEDOWN=-1},135167:()=>{Module.olc_MOUSEUP=-1},135191:()=>{window.onunload=Module._olc_OnPageUnload},135235:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_MOUSEDOWN=-1;Module.olc_MOUSEUP=-1;onmousemove=function(e){Module.olc_MOUSEX=e.clientX;Module.olc_MOUSEY=e.clientY};onmousedown=function(e){Module.olc_MOUSEDOWN=e.button};onmouseup=function(e){Module.olc_MOUSEUP=e.button};ontouchmove=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};ontouchstart=function(e){Module.olc_MOUSEX=e.touches[0].clientX;Module.olc_MOUSEY=e.touches[0].clientY};Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()},137629:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},137776:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},138010:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},138503:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},138571:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},140223:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},140633:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},141718:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},145348:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},145431:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},145500:()=>{return window.innerWidth},145530:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function ___assert_fail(condition,filename,line,func){abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var exceptionCaught=[];var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_rethrow(){var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function stringToNewUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function runMainThreadEmAsm(code,sigPtr,argbuf,sync){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return runMainThreadEmAsm(code,sigPtr,argbuf,1)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function stringToUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}function _glActiveTexture(x0){GLctx.activeTexture(x0)}var _emscripten_glActiveTexture=_glActiveTexture;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glAttachShader=_glAttachShader;function _glBeginQuery(target,id){GLctx.beginQuery(target,GL.queries[id])}var _emscripten_glBeginQuery=_glBeginQuery;function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBeginTransformFeedback(x0){GLctx.beginTransformFeedback(x0)}var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}var _emscripten_glBindAttribLocation=_glBindAttribLocation;function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}var _emscripten_glBindBuffer=_glBindBuffer;function _glBindBufferBase(target,index,buffer){GLctx.bindBufferBase(target,index,GL.buffers[buffer])}var _emscripten_glBindBufferBase=_glBindBufferBase;function _glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)}var _emscripten_glBindBufferRange=_glBindBufferRange;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}var _emscripten_glBindFramebuffer=_glBindFramebuffer;function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;function _glBindSampler(unit,sampler){GLctx.bindSampler(unit,GL.samplers[sampler])}var _emscripten_glBindSampler=_glBindSampler;function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}var _emscripten_glBindTexture=_glBindTexture;function _glBindTransformFeedback(target,id){GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])}var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _emscripten_glBindVertexArray=_glBindVertexArray;var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}var _emscripten_glBlendColor=_glBlendColor;function _glBlendEquation(x0){GLctx.blendEquation(x0)}var _emscripten_glBlendEquation=_glBlendEquation;function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}var _emscripten_glBlendFunc=_glBlendFunc;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;function _glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}var _emscripten_glBufferData=_glBufferData;function _glBufferSubData(target,offset,size,data){if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}var _emscripten_glBufferSubData=_glBufferSubData;function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;function _glClear(x0){GLctx.clear(x0)}var _emscripten_glClear=_glClear;function _glClearBufferfi(x0,x1,x2,x3){GLctx.clearBufferfi(x0,x1,x2,x3)}var _emscripten_glClearBufferfi=_glClearBufferfi;function _glClearBufferfv(buffer,drawbuffer,value){GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)}var _emscripten_glClearBufferfv=_glClearBufferfv;function _glClearBufferiv(buffer,drawbuffer,value){GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>2)}var _emscripten_glClearBufferiv=_glClearBufferiv;function _glClearBufferuiv(buffer,drawbuffer,value){GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>2)}var _emscripten_glClearBufferuiv=_glClearBufferuiv;function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}var _emscripten_glClearColor=_glClearColor;function _glClearDepthf(x0){GLctx.clearDepth(x0)}var _emscripten_glClearDepthf=_glClearDepthf;function _glClearStencil(x0){GLctx.clearStencil(x0)}var _emscripten_glClearStencil=_glClearStencil;function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _glClientWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glClientWaitSync=_glClientWaitSync;function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}var _emscripten_glColorMask=_glColorMask;function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}var _emscripten_glCompileShader=_glCompileShader;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;function _glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx.copyBufferSubData(x0,x1,x2,x3,x4)}var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;function _glCopyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8){GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8)}var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}var _emscripten_glCreateProgram=_glCreateProgram;function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}var _emscripten_glCreateShader=_glCreateShader;function _glCullFace(x0){GLctx.cullFace(x0)}var _emscripten_glCullFace=_glCullFace;function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}var _emscripten_glDeleteBuffers=_glDeleteBuffers;function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}var _emscripten_glDeleteProgram=_glDeleteProgram;function _glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}}var _emscripten_glDeleteQueries=_glDeleteQueries;function _glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;function _glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}}var _emscripten_glDeleteSamplers=_glDeleteSamplers;function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}var _emscripten_glDeleteShader=_glDeleteShader;function _glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}var _emscripten_glDeleteSync=_glDeleteSync;function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}var _emscripten_glDeleteTextures=_glDeleteTextures;function _glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;function _glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;function _glDepthFunc(x0){GLctx.depthFunc(x0)}var _emscripten_glDepthFunc=_glDepthFunc;function _glDepthMask(flag){GLctx.depthMask(!!flag)}var _emscripten_glDepthMask=_glDepthMask;function _glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _emscripten_glDepthRangef=_glDepthRangef;function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glDetachShader=_glDetachShader;function _glDisable(x0){GLctx.disable(x0)}var _emscripten_glDisable=_glDisable;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}var _emscripten_glDrawArrays=_glDrawArrays;function _glDrawArraysInstanced(mode,first,count,primcount){GLctx.drawArraysInstanced(mode,first,count,primcount)}var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)}var _emscripten_glDrawBuffers=_glDrawBuffers;var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}var _emscripten_glDrawElements=_glDrawElements;function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;function _glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}var _emscripten_glDrawRangeElements=_glDrawRangeElements;function _glEnable(x0){GLctx.enable(x0)}var _emscripten_glEnable=_glEnable;function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;function _glEndQuery(x0){GLctx.endQuery(x0)}var _emscripten_glEndQuery=_glEndQuery;function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}var _emscripten_glEndQueryEXT=_glEndQueryEXT;function _glEndTransformFeedback(){GLctx.endTransformFeedback()}var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}var _emscripten_glFenceSync=_glFenceSync;function _glFinish(){GLctx.finish()}var _emscripten_glFinish=_glFinish;function _glFlush(){GLctx.flush()}var _emscripten_glFlush=_glFlush;function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;function _glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;function _glFrontFace(x0){GLctx.frontFace(x0)}var _emscripten_glFrontFace=_glFrontFace;function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}var _emscripten_glGenBuffers=_glGenBuffers;function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}var _emscripten_glGenFramebuffers=_glGenFramebuffers;function _glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}var _emscripten_glGenQueries=_glGenQueries;function _glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;function _glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}var _emscripten_glGenSamplers=_glGenSamplers;function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}var _emscripten_glGenTextures=_glGenTextures;function _glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _emscripten_glGenVertexArrays=_glGenVertexArrays;var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}var _emscripten_glGenerateMipmap=_glGenerateMipmap;function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveUniform=_glGetActiveUniform;function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetAttribLocation=_glGetAttribLocation;function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}var _emscripten_glGetBooleanv=_glGetBooleanv;function _glGetBufferParameteri64v(target,value,data){if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}var _emscripten_glGetError=_glGetError;function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}var _emscripten_glGetFloatv=_glGetFloatv;function _glGetFragDataLocation(program,name){return GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _glGetInteger64i_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,1)}var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;function _glGetInteger64v(name_,p){emscriptenWebGLGet(name_,p,1)}var _emscripten_glGetInteger64v=_glGetInteger64v;function _glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}var _emscripten_glGetIntegerv=_glGetIntegerv;function _glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}var _emscripten_glGetInternalformativ=_glGetInternalformativ;function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}var _emscripten_glGetProgramBinary=_glGetProgramBinary;function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}var _emscripten_glGetProgramiv=_glGetProgramiv;function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;function _glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getQuery(target,pname)}var _emscripten_glGetQueryiv=_glGetQueryiv;function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;function _glGetSamplerParameterfv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;function _glGetSamplerParameteriv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderSource=_glGetShaderSource;function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}var _emscripten_glGetShaderiv=_glGetShaderiv;function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(true)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}var _emscripten_glGetString=_glGetString;function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}var _emscripten_glGetStringi=_glGetStringi;function _glGetSynciv(sync,pname,bufSize,length,values){if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}}var _emscripten_glGetSynciv=_glGetSynciv;function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;function _glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;function _glGetUniformBlockIndex(program,uniformBlockName){return GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName))}var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}var _emscripten_glGetUniformIndices=_glGetUniformIndices;function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}var _emscripten_glGetUniformfv=_glGetUniformfv;function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformiv=_glGetUniformiv;function _glGetUniformuiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformuiv=_glGetUniformuiv;function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribIiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;function _glHint(x0,x1){GLctx.hint(x0,x1)}var _emscripten_glHint=_glHint;function _glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateFramebuffer(target,list)}var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;function _glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)}var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}var _emscripten_glIsBuffer=_glIsBuffer;function _glIsEnabled(x0){return GLctx.isEnabled(x0)}var _emscripten_glIsEnabled=_glIsEnabled;function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}var _emscripten_glIsFramebuffer=_glIsFramebuffer;function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}var _emscripten_glIsProgram=_glIsProgram;function _glIsQuery(id){var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)}var _emscripten_glIsQuery=_glIsQuery;function _glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}var _emscripten_glIsQueryEXT=_glIsQueryEXT;function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;function _glIsSampler(id){var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)}var _emscripten_glIsSampler=_glIsSampler;function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}var _emscripten_glIsShader=_glIsShader;function _glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}var _emscripten_glIsSync=_glIsSync;function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}var _emscripten_glIsTexture=_glIsTexture;function _glIsTransformFeedback(id){return GLctx.isTransformFeedback(GL.transformFeedbacks[id])}var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)}var _emscripten_glIsVertexArray=_glIsVertexArray;var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;function _glLineWidth(x0){GLctx.lineWidth(x0)}var _emscripten_glLineWidth=_glLineWidth;function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}var _emscripten_glLinkProgram=_glLinkProgram;function _glPauseTransformFeedback(){GLctx.pauseTransformFeedback()}var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}var _emscripten_glPixelStorei=_glPixelStorei;function _glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}var _emscripten_glPolygonOffset=_glPolygonOffset;function _glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}var _emscripten_glProgramBinary=_glProgramBinary;function _glProgramParameteri(program,pname,value){GL.recordError(1280)}var _emscripten_glProgramParameteri=_glProgramParameteri;function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;function _glReadBuffer(x0){GLctx.readBuffer(x0)}var _emscripten_glReadBuffer=_glReadBuffer;function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}var _emscripten_glReadPixels=_glReadPixels;function _glReleaseShaderCompiler(){}var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;function _glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4)}var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;function _glResumeTransformFeedback(){GLctx.resumeTransformFeedback()}var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}var _emscripten_glSampleCoverage=_glSampleCoverage;function _glSamplerParameterf(sampler,pname,param){GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterf=_glSamplerParameterf;function _glSamplerParameterfv(sampler,pname,params){var param=HEAPF32[params>>2];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;function _glSamplerParameteri(sampler,pname,param){GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteri=_glSamplerParameteri;function _glSamplerParameteriv(sampler,pname,params){var param=HEAP32[params>>2];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}var _emscripten_glScissor=_glScissor;function _glShaderBinary(count,shaders,binaryformat,binary,length){GL.recordError(1280)}var _emscripten_glShaderBinary=_glShaderBinary;function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}var _emscripten_glShaderSource=_glShaderSource;function _glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var _emscripten_glStencilFunc=_glStencilFunc;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;function _glStencilMask(x0){GLctx.stencilMask(x0)}var _emscripten_glStencilMask=_glStencilMask;function _glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;function _glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}var _emscripten_glStencilOp=_glStencilOp;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}var _emscripten_glTexImage2D=_glTexImage2D;function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}}var _emscripten_glTexImage3D=_glTexImage3D;function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var _emscripten_glTexParameterf=_glTexParameterf;function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}var _emscripten_glTexParameterfv=_glTexParameterfv;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}var _emscripten_glTexParameteri=_glTexParameteri;function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}var _emscripten_glTexParameteriv=_glTexParameteriv;function _glTexStorage2D(x0,x1,x2,x3,x4){GLctx.texStorage2D(x0,x1,x2,x3,x4)}var _emscripten_glTexStorage2D=_glTexStorage2D;function _glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx.texStorage3D(x0,x1,x2,x3,x4,x5)}var _emscripten_glTexStorage3D=_glTexStorage3D;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}var _emscripten_glTexSubImage2D=_glTexSubImage2D;function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}var _emscripten_glTexSubImage3D=_glTexSubImage3D;function _glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)}var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;function _glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1f=_glUniform1f;function _glUniform1fv(location,count,value){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count)}var _emscripten_glUniform1fv=_glUniform1fv;function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1i=_glUniform1i;function _glUniform1iv(location,count,value){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count)}var _emscripten_glUniform1iv=_glUniform1iv;function _glUniform1ui(location,v0){GLctx.uniform1ui(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1ui=_glUniform1ui;function _glUniform1uiv(location,count,value){count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}var _emscripten_glUniform1uiv=_glUniform1uiv;function _glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2f=_glUniform2f;function _glUniform2fv(location,count,value){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2)}var _emscripten_glUniform2fv=_glUniform2fv;function _glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2i=_glUniform2i;function _glUniform2iv(location,count,value){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2)}var _emscripten_glUniform2iv=_glUniform2iv;function _glUniform2ui(location,v0,v1){GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2ui=_glUniform2ui;function _glUniform2uiv(location,count,value){count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}var _emscripten_glUniform2uiv=_glUniform2uiv;function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3f=_glUniform3f;function _glUniform3fv(location,count,value){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3)}var _emscripten_glUniform3fv=_glUniform3fv;function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3i=_glUniform3i;function _glUniform3iv(location,count,value){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3)}var _emscripten_glUniform3iv=_glUniform3iv;function _glUniform3ui(location,v0,v1,v2){GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3ui=_glUniform3ui;function _glUniform3uiv(location,count,value){count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}var _emscripten_glUniform3uiv=_glUniform3uiv;function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4f=_glUniform4f;function _glUniform4fv(location,count,value){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4)}var _emscripten_glUniform4fv=_glUniform4fv;function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4i=_glUniform4i;function _glUniform4iv(location,count,value){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4)}var _emscripten_glUniform4iv=_glUniform4iv;function _glUniform4ui(location,v0,v1,v2,v3){GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4ui=_glUniform4ui;function _glUniform4uiv(location,count,value){count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}var _emscripten_glUniform4uiv=_glUniform4uiv;function _glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)}var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;function _glUniformMatrix2fv(location,count,transpose,value){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4)}var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;function _glUniformMatrix2x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;function _glUniformMatrix2x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;function _glUniformMatrix3fv(location,count,transpose,value){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9)}var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;function _glUniformMatrix3x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;function _glUniformMatrix3x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;function _glUniformMatrix4fv(location,count,transpose,value){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)}var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;function _glUniformMatrix4x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;function _glUniformMatrix4x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}var _emscripten_glUseProgram=_glUseProgram;function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}var _emscripten_glValidateProgram=_glValidateProgram;function _glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;function _glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;function _glVertexAttribDivisor(index,divisor){GLctx.vertexAttribDivisor(index,divisor)}var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;function _glVertexAttribI4i(x0,x1,x2,x3,x4){GLctx.vertexAttribI4i(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;function _glVertexAttribI4iv(index,v){GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])}var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;function _glVertexAttribI4ui(x0,x1,x2,x3,x4){GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;function _glVertexAttribI4uiv(index,v){GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])}var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;function _glVertexAttribIPointer(index,size,type,stride,ptr){GLctx.vertexAttribIPointer(index,size,type,stride,ptr)}var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var _emscripten_glViewport=_glViewport;function _glWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)}var _emscripten_glWaitSync=_glWaitSync;function _emscripten_has_asyncify(){return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(e=event){var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(e=event){var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(e=event){var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(e=event){var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(e=event){if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(e=event){var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); diff --git a/olcCodeJam2023Entry/pge.wasm b/olcCodeJam2023Entry/pge.wasm index 6a7514855a7c5c966a5584b2b4e3546d90aa0be0..b90b75fc57dac0e621cfb96fe551e438a13b92e5 100644 GIT binary patch delta 245463 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 z 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 a1x-$e76|1z-_f^;C0C(m9y@Leh2US)F$41e delta 239132 zcmd4433wGn);E5u?|yG?(#V>y-GnXdD2fP*G>f33;xeP-IO4_(1{74>M#mc@VibhP z4OA46ut`+VuxJoLqXvi)AS@zCgdhk}0t5&o2*UR}Rn>hvfd1e2``-WayadwKr|O(K zOVz1UOBbv58;6z}`OjR{^7Z)4_&A4yIq*kwG^XFpSRCFNUL9JLUzNkyvaUTwd9?gl z(OK8t6DfB!89nOZVM7NE9QKznk32Yb_}z~_{>bQO?|k&%!yP}lJdZs%YSie59Yt}j ze?B>UxMNM6>#+wPecbV@TOT%T_>)gQK6)6k9~}GW=*JzULElru$KEyK$>GmBHpKa# z8vEeGBkz3hnc06M&3*adv>?m3o2LyJJE< zi@>AwC(ZF{y#zB~LK>$zGVAGeV2`GyIbMqf`m~Fj)5klHf^U${kKlY1O(-+jgn#J9O;Sxl7k>m%rnh z?aFoSc1?Cqac8+dbbaJ{&;7ppob%<-_|Pk%Ea+)MDAWIXXi_BfMrcy#6IX#N%em9_ zgX^4gm+N!aKEcK=*N?9Ku7j=vt_s&Lu3ue;T$QfFU~QR@{j}>h*Sqd{?lZ36UFTe9 zUFTi%-3#2~+%LPw1Nw@4g8NlGGu^MbUw2P(zu}(a&U0tGXS#m?g=wxO?qzOzMt*QD z2k2w>C+-6GYNUQ}eeV7O7Atgr>Hf<7wY$i@#=X|P&Ry*O#{I2(y}QJ{K_G5)Z$hbQ zu2T1A_ZIh7_cnJnwD+BRyLf)@-XWel-9L!uE_a!D{^;Hzn7B?_1z| z*SFA@>wC}lzAw+W$hR0dANoG>ec=1lx6=2SZCJLxUhdDtj}+}o?|lCP|GWN${`dVK z_!s#X`#|g3y;g8PiH=uc$|409B{~mw2f3N>1|33eI|Ihvd z{)7Gs|F8basH^`qm!0vy7I-}{F)%6cMqqNF+CL=_y{&(Xq#A#%e|8`@aK=9;FgI|{ zf8IYYFdx|q0?}9dUl}>$FARJsu)Yd>9hey?3akmd8JHSa8(0@84tx{%Hn2WW64(&f z7+4zE6etaB4r~c*4Qva15cn>zJ@9>CM_^~*hrq5tS>VUO?!cZvd0=ngr@$xv0{^kV zi9l7LI`F0UWB_ve&pA&8Y67)^)A-49{)XS5d(X5DoDCcg>~alhc4gC~jlo-Pz3r-& z-CJDIeCX}7g6{-p2XljSf^&oOqYn&7>;tzJTozm&9Pj)%_(`xJxFYyzaB46om>rA; zd2o7gN^o*;T5x7?M)2+6%HU_gw}SJ6OM+hnzYVSrmIV38(Rzzz-w)WwB8P)Vf=7c@ z!R)w#xD|0L<35j@<~kdf9?A+$3B4Jb8=4=Q7g`W{KeRaXLFmKKqR>a7{Lqq+-JdLj zKlzwk3I0vK0B>_>OK5#)YiM1lIP`7k_qcO$^lw|}yU_N~_n{r3osm#Q=v-Wu^H6BK zvo>@(^jqjm==ab$q{hX+96vrjBmR~63GuJSzZU;GQWF826#qv2nz-@Koe8@Vvi0fu zTlx%rmOfjbqtDY9=nM7t^bhpK`bYZKgzpl5NT^8oCE?eELkX1$hZFWE97#BuP?hja zLUqE)gqnoY3BM(D$a0=d_&wnjeS-d){<=Oa7^vU|0IytLpuCjz^ z`JhITX|7`l#}bYwkh?m8-_u;@63*kD9BaBhPQUp5WqrIZ^D{(#-FG6M9X~Ce$5SdN z{;l{K@zY#0il622pTw_>Ulsp3;ACuAf{NXSf>m=M)- z^qG2|zDUp2=L;#vB}`73l8}`!H6c5JCrs1d*5A?J*FV(f>hJ1H^n5)hAwrKC3DaD& z5@sd5BYtK>_S}TrKY-0in4`+gwaQ%zHZS2lP*{?%9KTm3e2L#*C9K8oFTCp#&cWG# z;Vs5<;k6ioNKxbmEA-R)Dg6*sUaOzfEAgz+kLySAJd1z7sv6+JVf zOKwb#6fg9L9jRKJp^Y_MX?jsy3hSXc!fas3L2#ddxcV9>mkPKlnr1jq$^~IVOe#I;=@Kdy8XDj55Okv2)cszHWq!D4gDs(Y|e)1APRXV1gZ1DXFJ&qEe40 z)l)S4zpS1WuLSf{p=8a-es0GQ6y-}4fdNd+D1uYyei>^w6Z_)(B7iD`pmOFSDS zM`8&?g*H>7rALUEg5^p?)M^9@o0id01`~b@Jay^T*eT$9f}A{!KaD3L(#X$mstRZ zFjhI<_aE|+^T4B@<7y--iMVA|X}~JLP`&)CSgodVHls$!`n3QG{;ev{N>rOA(km7B zR+$VyB;yt+6Chcg1)3!Bgy4#YEPyDVenlj!*#ZPq3ol1N>}WGhG*PM0M6QVjOhtUY zi5Jsyo&bp&RiQ-+lFlL~UcLgw(3S%tnY4(n07x(yt8W!Rg3B0Up+uCrQ8g9;M%uLG zE0%x=!GtU&0F+h=tKuQ8x&w*y^z^gi)6)wJg`LY$>JT%wFyl&-^Zfu_Nx+>J@d|(@ zF{7aoG7D7#5;R_A#x_fsDuA{{7{GHaST$f#W}IclR~E7K!@hnw;3C~g4XswNlrw!& zdiuV81jsz>Gm4n;Gs#vYtvLyx56G4dqfA1w0C5--m~nuag|Y$Kh5omj85LH!8~|Z? zcsy#|Gx1jL&^PKS;x!kHY$HZccX|YMhaJWn-$EpZz9(ondO7Yg@_-Sx5EcO;ix4tm z2;cT>?{Hl0@B#NLBqK-@9boIma$tLnJHyo<<$57%c>eVrBzIDzKQ!u>i88&BS}|5z*0dk3>{Y%LB0R0;?_p4AslO zN}hZwcY#%x118wFs$3y4ZA`3^cs59(z#{(>W3@=)p+<{Tu|yPtD;`P!5<0dDl?sR* zZJU7Dv38hPLR-S+lpXPr|EVKjxrrFl@_qplH7X7&6a<(GQmG&@tSUg1Y-XWqfCQ5< zyhtrzg3TD_S&1q5G*Q!!USQP>3m~nUiT6oIg;nv8?lT*(!V8R=0~o58f6udsP{d3s zc!5=O0TcXNTAnXaZ8pr4cs9r)iKPS=#PcN@YP2XVmw2c$V!>7bCUk5;Rtbn5uTVgQ zx|H6FOe~=-QD3o%228WXn0PTImkJR4Zwzsp1d(nO-VOzcp_Kumgfk1310^Fh>;~xZA@fKL>nYWqA9^;laXjba8+Th#1n!m(0qXE8Z}QqEVKwlg+&5nN6RD&i|lyqK0(36Q8!6)IGa7+R5n2rSwDivd!?nZ!!~5?sa*O92vG#_HQ9 z5e1tj<_^Gw1x-Mi1&~H9$NT;&8NWuVlvOJMEWDtvRsn|UvmV-;Y6%@}5( z#1wcY{UX5XShd&!NUN6Mz4VxjUymuH?f|Sz!tjvYcRyf-mZ2juKCA!`JjuUGqDm@w zfu*Ye6EazPu9lcKOV>&~8|19SQpymTPd_dzjMz+;0hp}NqMiwm(7OehBp_haf@BGZ zP@&>H+r$zY6!qnpXuwpZW)kRv`Dd;uCTdir<|{}HFHb>Y_F4pp63!%^50GFohPNCb z!DS3_#qmqbKUXRGmVkv8Kw7#8@5RT3rSXtfEd@-s0`F}AQ;?qiaxC!v{@PTBqlXB* zH(e`YaEiMl2)yHrGGKSJu*-qHkgzAju=9(Uz-bAb_f)zG(sNW=NBS+5rr7>Xl~%ER zJEMw(ph-oA$ubf~YQ(A)1%Q{DCfDv9#-dZKy@okg7|{7DO*PI`X{s?>r3rJAN@Fe# zO0)oIRM$~TEh>J4#Ih-6ZA7ZV4FX@rv;w7sjPw(BrDUA&^~)n{n^H2Bki=rTN)wB< zUrS{Xi&ZL3ELNzrQc9|keS-WCu{sIl#RL-xBh^w$_KCVm$*hSfC0(UOjW(rJ*_2XY zDJ2V(gi>-)L9C@jW}@N?o63RftfsR2y7n|(Qyj+`^Xn)j56FuyP|DsSCa_Z>@J^e8 zHro{RjY{ib#9v>k7n1Z-l~(n2GFG5Ip`d(IK}gsXgnXdITFri&g34?P+NRQEk`k3B z%t(=XaTv=@4Xvu9p+ZzVnPjvzn`2Td9uPQGM?vvMF^~&mbLJ9Ye@xh!_^0N~OE=5r z(V6OBtX@c63sjog(=3%H>rPW?V*U-4CgxvJX{D{Jj51SO+e~dCVbd1!ffmzNVQnPV zo>tV#G}V}|(o|!fN)u|XN@Jzk)Yc)?;K$0Q@e5T>iE<=P^lp!KL){%OXL@4+opLJi zVpC4l316gN{sr2Zyhds#71d2pX;R2JTl+a>wI7FZ#MXQc)NMZ9jPz>Nd}>XFAYoHT zdZfCpMrNLlDI{B^NgyowwT?WMCR^pIG$|!VrAfFfl~zi*+$gU0wUpka(9{YN zHt$$m9c}eU>qwC)(GF9hQj{;<@yfh|l`}p)EF{`xN>qkKY0LqXqvU!L=ym*44q($7 zW~?_C&2BcTh^iPGO)e^km^BDQPyp=v%%PE%B-6`<5i3p3&I3dA!rzG)X|@`P+_jGO zvKyYoTi#lS>WAqk>kMrtef{1inzo_sjdiT6!_nK3ii#tzD8-SYe_tyNK#D%8(xm9a zDovdJtkO!+9gJ+$CxzGmE&?9nnbBM8m zs1l)kQw$_*Vjv%U#l*-w8xtd4rAdlfn-o=+6w6I1R)J`2gf2XZHL?pw=#%Mkkfr(# zr%Q_{ZO0kKbtNkSv+FL9?A0U8SZB7tK}MM=*fvuzBrL%&Mx#I-$;xb!ZL>*MqS92l zNTo4Wn39!)YN0jvkW-KSfFVehe^t<3LFKHeM?@B^1W-iTR$yEuQEfAgYKdrr)JiNB zo{PD_S&4=kElTO9%nB_~20-*ea|Fd!rU2RTCJ6{wwa~ImG+-*UY!eNb3Y25w0abx! z3XrH#L2?x&62qIXKrysDK$LJMr9}VSVvj^E z2o(ZQbV|%U@Q{7E1hB#jtXc{fs+WJ2Jlm+8WmRd^9e@e;tt!hTrj3b6xkR*q_DeJ+ zxUg!4#6yi1sY;0_1Xny%0VH&66{;2xJ6f%P#IUeNf7V13>XI|q8lqH3zzhMBBC7f_ z1xVDWAd?gXm`v}K6uoU^o5-5DAVJjT8TO6z zSDe8_hq3Umuag6n4#u$wY$H(y6-CZ6TMo91%p4F=8v}|6o!#i5h5OUN+`m&DYK2*4 zw?lT=5j`=ojYlq0Mq7+ZVQZqssQScI*wM-Hl&GGLU5ud03DngBwKhSmEKm~@)Yt;W znIPgFr#zPM_~g!f(8~AZc)}+v)y~Gs0e4_Rq)sPF5ZrGp2)YqaJpKnZ74F zcg#O7-y4^r-KeM}Yji9`KO7gA32FNNXtyU?b>5-}@hZ-V zI51BQCM5**sM8S)AmskVp)Wvks#EhtwEtkOC;IdgPiS~lJn;hC7=7f)Zhf!@1eM`$ ziW9cL8=X&agk69nYe8BbLMp83)0{>*)@kq$?*>aF%a+w<xe>JzQ+HD@iCRos?AiHIxK>KsY@+dhXe-trux%aA*of zVGUWSgOnY(YKzdGjMi!T&(YhT8_-j7b>#(IktRMaz64iST1;(t?)v{~E#0FJ zKVMJDpNg8skAv(}rTm>x)BdlRF&<4{$v>V61*BS4Eq*>p@!1U68-QrWUSy3|*E3^7 zOnbKoH^j4K#meJG)Ag#0OWJuJH#3U9k8nTUc|r-GT%{^M$aRY)F;K| zY0$8qrcXr^?Br-_wJcq=EEyxBA{QzurixUAcpp*x4r~_3*c>d_#2GYc00cT&WZ6DeN2+as=Z7 z#ATJ3n}O^5z~m8Pl2&&h_yZ_hy_^|GVoW|Rm@Kn13428M{->pCd_yl#-d&(^a>FH* zS8Asr+XThPZXu|!F*tU``D9a|sUJ8T0P0(aLuH!5p#EAFJe8P}NVjr_V6o_8@?Mbl zkZrtmr0xltKM_qO^|he+)tB&!F{vLCBzs=eh&`Z)vvB6=>;C{k$Zy%RY2oH$TRV&s!|eI@;K52U|SX@YN1=~SfGs5E(p)hbQC`eT(Q zU%gnRscSA!Y1!HDbMz5nb-G9_7sNuG^G6NN^#={kDH|MGq5gVw%(&JOv(>pTXmw7~ zzvV^3kp3HzUU`w$;B>}XW_%OV|BZst@I{Q0hYzX-qXv#<{jGr`+UMo2*ZvoKKZfC~ zT=>gZiZH@70eel-Fv7g|a(@h+6JJY=ysMUv$bZhZmX(;ntz{+QKd}O({AZl$KUL_2 zVNHfkHb>)t3(F+RfCo*!e9|AQpg`SoIWg+XG@Go<8J9ut}{{U~WSossjr zj%mtyt{Z=q-%malp^h)Q^!1*9%{Y$!L=d3qli_^HyEh`hMLFbveEQFrsOzOT`DEnO zs`I!jYQ08+jx(GT0%L=7e^s>a#D!YU;pi_D^I7JywS*p#xsb3?wx!; zg3?bX-ww?Nr(98QPcZCDbB7u1=!!!y{bBUhDQ(%w=+jfetU5Y2DBUmX z&SvGoq+r-X&J3rDJK^xC2tvv8A^KR76=pl4Te6-)H8;F@GuslK`sQP7$JD7ULOb-Z zS44~=B1bOq>P3v`dZX4!4iiy1o=ZIZJZ8rYsg zF(i8{8Dh42t228qdiz@w0srwWg8SZX)=kLSBn`s)aJ)K99u=b$e%Hdv?>WQXPLBGL zK2AgXptHN)z5(QCyxp9P^7iNsr_j5-Sg{Gy=!!=Cohyuzt&^D~iF7AqAguZ>ddG}= z*~;kR8A-`2QK+*6bE-kXUXC1$-d>{{+FzU|<8nQ^tYSt1V;iEmv#!#%RYkv_Ww4TH z;yWWe8BlexE86Xy*3l2%>EOZcy?S*qBd03roZSNjd(FPWKi8G)MfccI6@7a4(D<#? zRq|LGtmg$MTW5E%6$s?s!nQ{5$?b9_1`V{-7sIUIo7BxzJd{qd96KzR{-|C2a@Y)r zyvE+>%G?&z}?;0Rf+w z+mQr(XYL^IePC{?mR=Rr=QRhBF7u40Z{hU$AO!R@?jz_{N(F#&Jq;DKFm4<5fs(Z zB%K)-(U~FW_%1=GAx>x3p@X7YTJ+ew7IATxDDK9IPrW$$)ch_^9ikL3xUV_f5Ec;7+8N(UbDz&J;l_M zCjXc=;^YAt7L$Jf)Ug8sEWzl9dT7#13=u%4T$B=XJi<_0+KPk|J{BtlyN<`!5U{^Z znUIch4j%V)v6dIGd2MDj6WhypOL1VXOZ&jm&4K00{V72JD9?jE=xE=yNpL0Q@7>j6 zhnP#HYT;xw5IRmvWe}J(!P}(6(T_g4W)PxWeT5VGUI^lquFF_;N(?DZ(fPwJxY`df z6)*N^>^}jFLq_>YHRQO++E_>48{P7LN*oUGcF-I>wGqbI%B3I7V(ioCJB!lsyXE4W zJwyRx!kEP`>iJ~nOqOOO8ci@^$d8^~+?#D&*7L(B7%N}){zpBX_+(0YFERD~Fj}>A z_08vPI>Yw2sTk;N;)$3xv9)dHKxNo+CXq>Hv`bt^WdKl~2Zb)7vetj7veZkeET`ro zl|}1+%x|7&<1Ht~8@T?+mV>=#8`szeHo2yq+d5nWAi2)J6xXSOYaEHDGRn}|Wa#T! zUu5L!OK_|gtZlMUcVo#X#hI4k4ZCP4b%y<6k6s=!ly+v zz&?Vy9kjysK-h)0VZeo#-^oUxF*uBum>c(Abw(H8xT+Y ztZB0tar9=ao6vfWD@D5@NDdOf&~RE*a6c` z!-ZH!-$ap4=_wWI>^BqJYP?usq?iY`SZA{Z_Q-`TqPZgzQ>a&>9bvE8v-umU?%-MCU_D^fV+Zt-ZKG{kZxT^plRCXHq{|{zZlh{rsAu z<_HZh-z#( z*xWXApbYFYo64Y_VN)5x4*?(*QF|#xbo(PkT+{WEoodnPi*x|NE~kcY)w;`Xo>CoS z9$V8Uix6vuEhj6M1LmQGw zExxWJdXqcsgF+E{q0zZ%vEvy$GJg{syQJrIljn?XE)ECJiZ2h6UHHf$dbapxwBfbAzVuv zJ~hPbt8ZU@LA0c#ecW+GxNz*r0RsiuhWiCpb0@u}Zx}$>=^L6y_igBNA%(*0LE*}c z?b-2V_isGH1YXPNsM0v3Hf;{$ch%-Aq9vvETytIevFP5?D@2iS^vcZ*nt>Z=!nhJ4 z10J1-t!DJAK^lravboPCsdaa+IPOD!>XsI4PISzK(yZ0q(=B818xa$ zY*!SDzqJ1mHMX|983zQcE{Ed-WIXaRXtiJ1a&UOS%t5Qg-aXlq#xdHlw_5G8t!;t; zP#(OQ*=o;iy-PQT{+`JmwAvNNqYrHxn0isGT_u_;G2UP2u4KPTMK^705u?yUt3|wC z6a9T#YNXZ$dTyf%YvEqNsOD6yr}&NFsLngWUmEEVqaz#b6Ktqv30K?=M#Teb;Q(WH zQiyCCJFpr8Kx$eYTKbn1yAh2}s5?uv?H<}BjryB<$)Xn=#uS?9p=E1E#j$AVcZm(r z902Q~ZH|oj6cJ$nLk2K3bwJt*==c zREW7`v|{^%?EPgoeV@+Q7t!@QzC^cuV`mhuH~EK#_18evG|@yCqM-}&uZ!OJL%%L- z$polH7hsx9Sz}xeEd$L5-|o8f#Y)KNr#~!2+kSA@m1Y-6O$)ohM3`E?PQQHA1(xi( zP84eyjW6>f)ugOBe)lLdyTIdRP1(t1ua^yHSDIT^x5A-#jrk%x=%MvQ8XH)26w%oY ztyS%2CHu6#M(*KgtKC;Xy1(x3&`-?Oy}~@mGIzNov3x}=3}V>x62zJiF}VRIh%GuC z{Ynr!xtpf9;XS>t&BLfKhIQhIVgUpMa%k%0Xl2c7<+c^3x@uPhDA*N=@;$9Qv`vKR zXyKkLt(Dv|z+OQIZ9YrJ;tK5^B;#vYtlH`+SfM)4qEG$Q6LZN$KV1)ZTlrI$hse>& zg@kZ`rn~5VIOk$@Oq_zDR;xPZL0b+E!I(Mdm^jXYHyM-LIwtz_91$4c6bt1eF0YOS znJvwZlEMCHKx`W=`MEw$CtM;vKtp;K?WszRG#A9^5Ci9BEHQ9W#$*;b6Hmr+a8Aa| zff$p-n~am`JcL+5(b24FZhQie$Y)gvJ+#okeFZ8q=fR11(v}vUUgV zVQgA7{op@t!)X^whMX9ukl`a+4$isQWWa$HVv~F%oi{OkBuw$PFa>~8jC`9ImMPNz z+!TKh^q;**mSqEeX|9E)!Lh*uj81WnO>souJXk+E?og+j*V%Yq72_RJZMEg#jEhYw zoK`WVqO&HZRKhR-NQt)DB(eoIXy_VtNvETu#jBWVY1R5B*^9kdZC_2^Sk1SEfl^UyKZT=wb7 zcW6=So|@|r98It3iQk)Q1~o51`BbflC1d&CL$@3_lCk1Q)I9ozX!qJXT;v7#tpl}o zI;9-699hcnM3h!odxJLfbkuj6LWuUK`+(+%(|0GEU3W}!KoZwC=*fQNdUPY_bhP~R zQuxj2Z!^$+x}IqRyuX}z3>(+Wiq5>xSbB8y?-LUD*Z431f;s&4)$`K+E={KpEXJR^ z8hAIH>k1mroa@y9zL%Pki{@llSPhDZvgq8TR$!Ra0EY`ZTbzeoS8F3w;8+rU>in~8 z!?Hu?NtwJOWA}KW5^u5|oX%JWfIeodCEHN&9b;{o69joz#(MB8o$T^@L>>{J);C-a z>sz|Mfj{G9M-({D27cOQfkQU%Shod^w}GGXup_Lb;2|%2PfO%3#2e|?huurVjh0P| zJ^*uGMkC<{-a5c~gTDs?EQxL4F9g_JJX!?VCIF8F*&vUUp7)MpErjV3XfToScnN*ofU){6Cn>cA?U#b z)*hJkbXGz7h8%uuc&gYW#ht1Rz}g%h4alCJoYTB-1J;aZ*JHP` zjeK7{SP`($W$YQYhG$&H&@%Y@m$6o;VB=-%WNTCqc3()|Pvl3T7Fa+}4)B)spb=3+ zJKnwlYpAM8Lk%A^kTrbQK-4g#p{U`>hN6b)4gaWy0M#%8O<2?rGHdv@ktIV4@6ebH zMh#CjmNm?3ENUoA5;gQ{B5Jt5$sg4aPc=M({!+IFXsI3lG*QY>n#f3o-bu2C;Yn5v zw~$_RVH<3{xKiA(ja$5;sQvXa1W0nZhjk4<#K;G~Y2X|FZb0h`5fKeV+H`SpzQ(SM!ny^CNz9qXN;e8i6kO=N^Ku@2~(^{h8yw4|7k=1-*OO~93U>iTU zuthH7x+vzQMIL=M|EVSG>IYe}y1uvoUhz&ATqI^3$@rwEhR;rBiScb6M!pHl7qDg? zc?PWD%VhWzHkbdN!p`7vx)nQ)M`dev8y?rTVK=tS6E0c$F&f!U5s zKrETSj8-PFS1A)X4KjysPemu#$Zu)S5<&A{?b+4;?=*L}XYIhcrvq!#4y;=X3+OG) z!~qRzfLL@BQ#08L`5hhDzo4R(9oX8$!gN}p4$auN(OJ*6%KI*H@dQ>FxWr3vJ#fbJ9J~$;PFT|))&TH(2WhpBX~K+-*VpL za&{w|#?voHL!t>y24l_$D9(;<#fiU-(Nm)aw-J*sr`RZkwW!oSAM?{0HGO1?3lmlx z5+BD`U5+ts4c~b=y9$qlE6}CZ@YE|Tm-66ec<~ij z5n00n-C4@@qP($u2F=>39jv0$Z{ji~)U--VOEb2KJmD{lVhtzTjl68Ny1HWqAK9HH z)suwJ$I+Rtv+z(Ae0q22dJW%*D)2Za-`ZcvQW8al*k99x+k?BNIk8~tkt^9Y_9?&S zD%RJltjp7{!l1r}&%KJ>a0S7Xo9yIBu;i0&P_7N*P$4-u{S(=kcv27cFwkG>0TZp^ zZ{r~Z){JZEx+uYcX7n5>&fF{7&J-MDqy;(Au&8Ze1qe-pj!ilBH3ii@*a!wc_K%+I zYjl(3YuFul8+#3#iq&T^p=tY`m7Xbg{uqa~#Z?F&7v@J%o=M!kTm@HPZYz zmU*S@J_KzYgQg0UuKm~pXn7 zCwfxUGOCQ`0JOXvKYJshfUo(=n^+Wjzx8G|PO85xfHgNG*jdB>r!~H02-^Ybuipao z6!FAcF&Gu`zuXG_f6ZUKl@0E^#)Z?6=v892Lj#{1zjU%W!Y65S9Aq$Ue(YA(q%jGK zOlfnGDQwQex3Pv0p~r1(B>R@ny$x>ZTV8w{>&4b{=TJQI3i=FXe%8TWCsl`C8>$c^ zaHR4v$9SF?!a`&BVOc*!_&o%PM46Tqbf^?VzhXt^D2)8`# zPS(0E`kFi0x9l69br<^vk9+?j6tMO$tdF#BIL?obL+d^%0sU)!`CnOQ_VvPHe`U<~ zb{tlYociv9f8EV|4B8uWkG;#$+`=2iLB}Dq0%Gu0OoH9G4JpWK>;bUKM7&UuToNG0Z3q{>>p`(J1Tv$;M3g9ZH2 z2sWUR7zPoO(Rm>{CrpbQ`fUD&ERv5R9Yql|FHuB|m14l8c>n^#QZq0tt>G;nWnBVu zLcylQ2m-~sA7w3XC>8~bN{&tcX&|I)i;diz*h|0ggp8}TQO4F7EEy+nZEsGaxQ4HK zlr?WN@huAvW!|&BInkI!po6049%YG**Tgd6bDdUZmo%2xdXGI5)M>>h*@4l&)G;!} zN6OTH;3L!6OgUi zfYbpnfJDrPwuAu=FPIC|b2|_gBAVmBKP_g7Bc2i5MxSBt2X|l#M;KX;^1;utQCd+= z!6(mR2nO5!=h-6~Q5G`478W%dO!Z zUt+0==zR#g5I>Qi+ng!R!L;jVq}T9KFR?u+JtV@gl*Dn92nCBB(pf(|9!tkCyM?bx zXPveEr}&|C*5)=)!g;fiG6I4VctE;jYuy|mtecaU?&P>x9(Mt#uLK$5h#^I`WceV) z-^0eSa6G=Pf&NqANCp$^jd83e#r5mPu>tf9z0A_g_}&@zP<&4Zpknd;)R)=iRB+A9 zY%o0&#)I)S{QmJG^!hg*;zW-bdimkjMCe5y=7jz5u}jCZ?u2-7Jo^}Gn3cg=U2&$0 zwWp7YTcT{WO4BLNN|nZuc^qDpWw51SlvVNL8LSKRmi!7^>^^&xn&j43Fa+-A@e|k! z$asB%Q0UGHtWQVG9>pe0AyV_{=z*=X;WK)d?tPBlxl;BkQC>lebMog&y_mZrJs!DfAqeL&C6S!^x)g6F)6FzyS!_f0Hue!%+1xo?y#w;(Z&A=ssVgPVqNHjdBBW)BBc5$t*Lded1Go;r>7ZG&@pZZVPtUuK#X zasCJH7?Uv%?#xx?F)qsT3#P&8Zsdoju_WTnKb@5$2KaTlhym(xiUA6)=FG(sb_bI~ zVOrHrj>pLMcEL?K>`4t#%j&n;;QQ>6fsY~sKYoc&4O@qU#lolG3Qo|^0lij2DNvx# z-&A0NjBc^wB3$7Q&JfY!volz0;&IjtwhPYZ`I#)U!xx?uI%iA{N^EO7X`#D;j*U(e zf+ua=t>YbMv8G9do?sIUNnx!g4ojFtXwF{DADG3)#ZCcY+rzs+X#os>wJ#{#0gAWO11)3~pzXra++6E?}RCV0P zaHj5W1RI?`VXrZ^x!{umrZM1rx&mJAU0%I{<>PI^r)(o0V^?Ap@=d`lpRpTImS?YG zJrb*47MjH{q}M>H)DdAkWBz!)Zxy>Xo{oJJ3{wlEcs%dCnzhrGALf5u4WBlZKf9Ve z!jAB=)fjrg;7y;ibvi~4l!a52t>s;w`~~Ymxwn78HlWs)h3qacI<}DYU>6r&`6YW5 zh5CJk7;rNm`xPcin|c0M>g0jOu9Gvgjkj1d7~mQ^EJ;`4f&SOc)LVZ$G@ z^IxJdvKUieIYkM^lUG6m*JsD+-@Ah6{F>kL^N70TawM+0U`WaJNF4Ge6!J?KuSdF) zF%GNsNW^?tkIdS{dh{&K(9&q1yW2>73ZXq|nD3skMtT#1u^224u=F?rmS*sCo7jNC zbjAovQ9hcYnO{Y#52I;Y%Y@fDj3g6`txo~ogu998BW(faua~kS3bcl9W{v6j=w|j3 zBISzBY$VOw@s*X=oVUB=ynVzLHbyLcTW4AL&s%UK1X{Yjl}+odGiZ9;Ix?ZbBO{_prsDeG(UI_3!#_|<1kZX+eVwKjB zUZB!Gq-XIa-?J(1HF4C-7JbipT@MNv1u!Vpxn2g#!Zvyi8$Dc3WYNRrM7+%obdmm|F2-S5Fe$~KtY`hZ}vWW9nIR8Y`du;F$gBU{*{gsOZecg@uH;u1OaV}U& z0A~Xs;AN1BosFqDKZg~mI84vo27lxSc3m4%1=dMv_Cddu3SbVbE209NiNxAIU;6{= z*w8FWt4WyUV#AffRnIQgHUO()972$=i1*mV`uZhzAjTuRSh7}L!{_e8+V@7jV;Acl zw0K8;qcYaLEo2bKAeB^@l9T>v_rNrXlW2`DV}Bn^T*yhNTy0e6F=N|2h)PH)7D0=S zunBw!R0WCoWk0efz){AJtfMynG+*)~o2XTv;(c~wjy#QL?Pe_!_fBK3ICvJ!!e4?t z@|l>_8(Hu1b-S@>HH~}ruyO4nJghwl^TmEsuoq?C*Oi6VX&gQ1XiqaDoT4%+c>W%i zbo-l#t2#NjOU_v^@t7pXJ0|-VNTn00=|n06|L}!q29a7{AxXs}y+);J61AE)EoVui zB-x2EvgsF+t;X6$Kl)DEBwLFwkBv_cI>grlyr29Xq9-Jvh!!}hU8&8a*IM*W@E`la8dah3e`dwUVOZ{($WS> zBUdKK{r{(^CjV_kIi#YJo2br(Su=D=-%~e$R&X67U%!tv9dZ08*)YP8^jD=nn#}*C z(xibORGJ#hmbyAlG3Z0GQk#x<#gtNN*YU0US<|7*_e*PG1=Cop(nNKEN-N7XHn6a1 z6xpb5icu}HQ~eZF6K5)H;x*ewbrL_kpCv`4vA&K`SYe|edi5geGu+l^@~O|1C{o1i z8XMWwDs3?v0JDp1%ofC|TIAIIV)&qL&!_y%nzlK-Uw$k{TK-v)BF=xbRq-9)^fODk zLvsE>j9l)8oM#i~**4B|i1SzX%ce|Z&+n5eCpFjX=@l_8(sdy0raaS z2V!XNsk9PUH$o6N(JN;_8goQD(GcP2I!|ZjNL^hG#V6jqDbcRvK(* zG=|(+klUf!@{CwjS(@D?Z2T2n?<6{(RA=#!NTW%wJC`Pv2CISC9s3v}6b3R|$oX<-B zVWp*mJuwQ~ObQqvg=;7#9V{Z(FaiG%rInBl7Vnb=OGSEt@;G6nXQ?!KrD-;=^oGqV zy`s`EDj#&1>1ur18e^i^WWsFYs~DKDhl+*7#80ZbP^egD3sSb#bqtM+7SPx#o5pbO zplOIzbqulRFbr|tHh9$7#-yWlhrI?yOOVaCk^L-2Hs2-zzv&1J@zp-_6LHO0Y1771 z{?ZZ45Ff=T%(qbxhR7iu*c;H}}1Onr1#7^7nb?gAYA7xb+`@2PKXpER(Z~z#z&zS~;<|Y*x z6NBq)Bls6}NASyxROkUaESBYNv#J@Os=3PS$URYyJ~zS_d?MEG*jr5W!#jr}y~+IXBLwKOMb zv}urC;KjKQIqjl|lBQkW6YTlsd14_V8Oslb_X!-i#+C$KF5ohrdm`D-XPv-yo}VXH zvuhIJKk;83;{JDRl)U$Y^p`%Q=kSr$th3jjh7GzDFVFpiHR2yvv;I!nZ#+}Ynzoak zHw<0TT`uNKyEWK|(Lvkf*PUdU0Y7eKiSO@l^zA$K`y~F$Nj5HswQrg>qK(z?r%z$? zXFFeg3JXfx`JPj(d4fNTpqVys7=6dMod;`J3i7(th$2I4*fkBdW9Hb&(a};`7)s;D zUacu#Q6o1*57)?bI!`Sdf?L+*wND5~=CiP`-><~Bx&bMV+|-thxFn7)q9KK(Vf_z} z8B`KeYWOkno<;BJ>4hAfr11KywM+rWK|ECsS6Ue*i?9kv@cFo|!)Ii{Utm`$B0l6t zf^Ndl^PFLb|Drg9f}kG@4d6gD8tkFYP+kQkvZPl5&~&>1T5ea|A!d_n%mrfMUN1|k zh+V9INvTFiq3)|I(_IAZp$(N~21BBX#Y!UFBY{k8Op-+M4huZ#LOUtY;Fv%|V)6+8 z5a~-2O9ugQaG3=8Hh{*czCyxied))#Ig-Ad^I>Do`Vx<7HNV8`iM2HIOFSUrOFR(6 zHoOtIh0wxUFGqhA@0pg&Xw@yE8CB=cpZDH|TM9LGOCfFTVpkLETXb?c{kbQ5XoQLB zcTXaKkAi7UQFN^|U7VT`jiDQAvwz&@Gt7_saDd7BxGzlnsgL`>U&O$Fg?1r>9Z^24 z7_|7K`s6K&m*5XI5PxCGU+atbBg-|Amctgkt*P=MXILCMK~J(^SQ@a2d|)|Jnh$qV zO4W%g^~~m|dKj3e9)^YSP7dYi05UzDyw1+Z&G&+)xZ2KGwM3<@#f|&;_h(px{^UBS zd#eqBNpNE~evS&5evUdSt(tT>i|wwjc-mR)4DaJvXR$N8 zk-vMEbq&o=_rqy5#pfrwzKs8Lmi4(KCmpBR=wr~Yy>wF70V^}CQ+tgp+^Waoj0^KA z*YG9>$b#wV*b1gy#LRSmSLOhxnlT}rKlwYm8;3N${hhT&#YcZoIS+lgyL#!w3iVV3_qjzeNHVL z!39uoP$KZrr;BBZi^Cq11cf~lsrSE(f8q*2&DdEWuhyoe;w=SCEE}VJ(tv;tNB2t^ z#10+MkmTz|KoKf*pg>$b%I-lry+LnwFP^(4E$2|Ai3l15?fxnv7e_v*??x1vvVx&S z_i_wI8W+6ZjK`~TCx%*qphSZut_YRfL~gdmM0s=xn(XDc21Q;`ln~+&rQUe_u6XK( zH1UK%6}vWyQg4fpJQgJgwMU6F1(Kyyq(P`79w!u`a5y37R*@D{c0yI(cpgspt&P)LX8`ren|YL7ALwnUi5PKQR0~51a6TyA=MB3 zMX^F{fGDB;DKbHej6;zThq}<}!XxP-TbP5!1hL1Vd9-YEzZ|!((4N0Id_$K4VbA{~ zk9K{1?3cT({c`N*U_G2Ouhvn^%HUnR+SOO$YH8{x;${haF1ZXY5%*6M2p+osR8Y8 zvCLIgCf$?3wV*akWx_Gm*3En_sNECGJX<&OU{L#;k^-3NADg-$vQpgVcq9nsUWn7K z#0Mw&aoY3U#8|J%YxTv3qSlYXKeOZ0#>K)-=F*)Lq3hp5+PwqP-B36x$z29-U>(1t zEe~oyh=HiRh*62!qh?Gjm2+ss53)UK#&}*6(uQ<0Db4>gO0>Nc#!BMocr7t;*><^p zN*&{a?dFmbGv@I*@!Fk|HEIigMvz$ZQoj)Hi#*!dj;Ri~RB~wNJMx|h+D(>_i~heT z!Ha$|a3QGi!;ojm!vh+Z)e%qLfhU18XXQfLKo(UAxw;Knt6e^aep z^IUlYBnVT7q`g~g_fp5h@KnPuPtqDSr2StSccCAO8tGWK&iQ>wS}WHd^4gK_Oww+? zLNIJ{YO?reyeY0${jcO|$Nx&Ms{dDVm30Dbm%ah|U)8P_{jcPz_g#Jz&7+#AM?r*#VR@@8820+ONTTFM2WYnxxhOV?IfvkOYS(OkRg z0??-BTE{!<)F|1*0Xz05Y`Jmr2osOwfY#Uip(F4^a7G1>p(%cTdkZavukWJO^90Bf zd->}vw5B~UU&BY6hV$tZ3^(}k-`Et&mJ|4kR4pz7l%rLIMf*s;s)x}d7-#|sxyEulCDeET7~@h6c=lJ2y95|toGWVrWk~V;;1kt zkwfsn5HvXK8i)xmMW>sRwZy9~VMul8;7@GH|De@g&{F1f(8B*O4f+4N)!x(UlCAcJ zO9%^n{duePidO4~z3_z^wN@_=w$|ER<%JW#H*rwu5D^}PX>y$68ELqlMsvkCDweIB z23DKS(=jp6^sZX#0IfR7rpl+a)_U^zmRi4dUOE~zGz{yJsl+vsgK+~3Oy!}q57a#r z-|>0*rmk4kOz*C_`Cr>;@!*22P16Oz1zK{9ivV$9wNe`w{H-=x>jYYoFq^F#-_GJv zyY3vF!Nv=b{S#hru(-?rj2<57rZwd8?X*_^7s~j!omT%(^&qTqNj+p=ANVoWTz^NLcoAV2RjRCUXFPH#p-k$h7Xj1 zg%AER@%>1sr`DA2cY~i5D0qtd-FWYw+Wk%I+zM>o5ln+=*)hJnCni-Ow7aMF5N;eX zuF;0!G3OfXAxweMuU5?BU-Z(tvI2gz7Zzr5?IYqB^9FD+FZ^$fGljyQd*tN~vDTQ$V@ku|u3 zMyVL+@cGgls-X?sgcH~HOU&J}wv~NEZEF+~zJM?Nvh< z7MwXx7OauH;N-N$OV_?ymjnob)mXE1CjY#b){PyOg>jtPD!gA6#tNZXxJnj2E?Jmt z2o~Nlv@X}s{V#IChrTsrs3B-%P6!y^<3qHG?qp2C;o_1#a^}dy>L41VLw|RAKkbSZ z_yCtCZAS4M0ewz9dJMhk_y(7u$TU8*pVl0o$v)msOKyUqUYgWphcM6H7fQyLz4W?+ zF9e}(c_DJX_(5&z`&`4V&%k%N^uLJEr@6Eyh3at_nmFVB{#b7WO*+&ozyFO#Tg502 z0=P>SpJd{=yEyT?BjIA^LrEB6V0a(ZN<0(0p%nCL{XOuhUy2=e5j*&v3V2ceVSg>P zp}7Fk3>P@|6t2YBwtye%ul+lSiz|cu9pVa0K4yS+O}l)2#UjQIdFy1^Au$;a(9vbw zt3Xp4iWv%d=>V-E-7QHj1UJiIw870X{Nw=bcJ!A)1GO&g$$X?4+V`UK+h#qe5m?2T zrJEJMGf*3>Rn_o{fm-`8{;vugN2gl#Rro3%bV*xeX;g;)(1>4tgLaFy{3K7mLEFnd z;13Pb9>y~D+ClhkDrfri!P?cWaKanqaTdPPiqo4>oKD|LiS;xb5Wjb@*3>TxlB;@Y zu$HV<*6=xlH983W{a~$oP?1Tb{DwDb-P?kkScRt}{unz`~8tB$L9;!;Or23pM>%Fr^U{ zXfzPJ7D0Tk8D_e|j!R2vM7tiyG>T{O^+Ukc8h&bs)*gI^Z_#Lb;jUY>Pw}Bd{H@x* z*fIXht=d!UIREul?Y4F&+~5w1!*}l|-1IQo_Rz-AXBloIg;E%Wki{RkO-nS6yQyZk zfu<=kbmLbnp5~wS;u8JLIFS{@sdm=|2r?^g(>ivmcFV>Z`T_A^B*Sb^Ch8w`?Ic{>{ zfJw3odk9qXi??gNyP*_vn+O~i_IXgeht`aGB<`QT$<>$2+KKUlw`*tRP_Z`&3p*Fta4($_d(P=*BPVIXwy_Vm2mo}$y9T7c- z`+rJzx6~ml^!_Kh!$(deicdcZ%Zo)v?D7KwYv${t^jco{7YM(XANY&b;(C-h&z>;8 za^PkrAd&J(M*5$Z6bZ`y`j4`C|G#SO?~_DK1m9TfM`Op^dBBcp=bYB7KK4lz zbqS^V(4BFG99Rb5DPGyck>Qxv@r#|zLIX_9;5A6i>*k#xV-!HX7;`EVW&->)?) zc<_GhW0qW~C{6bpT-HYi5$5CnX*68M0S!ax)emTY4`nTvJiP2TK3rQc`vIsRv{#`n zCsbbbpwt|c>pUHuj=A9*jdGP5 zVC;}7qf|U|b8{)X*vc+c*(>bX`BrwG%Fe|X%EPtW*w6fh;aX2NfiEAf^=MnZR@QfY zzs{Kpaht;vViIZ8uJfdUkKC00P+iqJuK!bO5~=!L0OtTytCDk52IQs;3=g26xhaF@ zh6jZQ;Q!(lG>uHj&|HAh6{uEJM-mJ&s#MiC8Wk!vAlyGZa1I2_%}pK<3=ar?5_T<} z_E}1Qy&`CwZ;|jsiZ%dY4*q0a3s8!4qI z{Tz4VV={++AV|TjLqAAYm>E?c6N};gbB$V&N*S1&as%p48E9mFA~iD5NLQ);xul2w zb0O%!x#9jso`f5@;t5#>0+^$KS@dk{0Q82{Dc52Df2>hOj2q>j2&%!t8uf_3oBe3uF(4%Oq zzww2SYMs2~28_rJd`g-ancZnxI{LE?~ph5~qcq=x^iir+IzJAVZ= z*PLITa*n_&)YrRl%AkahHOU>=DydEj0Sx zK`H-n?P@$KTr)iqbISmB(B99~+_mtKN?(IW*9Ob*7 z(o*^#6&t>nf!P0H?``1hs;ayHd(XKubCa3L+$57^CNoLSy$v#8qERD^5X~H*8Zm1A zmA16Vi%$hu1}+UwMmFBSQZ%cB=^d9Mihq?pbt(Gc!Svnlg0^It zco!^tFn#b{!L2o5uUEPT0ox~FZ+N!>yZhZiFQ5PX-6kkYe-j+r=iBh2hgLb-s%Qka z_G@@M_iu1i*tD?WZ%Arncf0;3ct7|${j%UC5^(Q*Pw>a(U!hK6UNLpX6UZawx>cpT zy7>5ef)$iL=Wm0B$G9EB2HE;tEH?Ebr8*5uzavB~;kAoelnOTSNl`**?bk9nF8228P(oE~V6^Gwtjz@Ph^ zllNbW;-^Ub^Y_68@y@o^ik;o5YMyM>Nv2>kKGdq2@=5!9uyuLqQR$kz=nD=p==y>u z?eD?X(l67Uf6o;7Nc!`?5B@p-lXU2P!B>Fp-1i4voj-1#Dcz8gzFdN^PzWCF@oAaMZSA813y)nJ%)4?BedHU1A>tA+bbF8$BC<=r@ z5Nz69;z@J%WIIoadLp~r%9KhsZcA=N-c!Mz&miV*Oc!npe#d3OO~D*4%WeuzJ)SQ} zID?irKlfvT!gR}tM2Mo#F#5P>!2Xn~3#A*=FWiLx@W%9aHwABfNd`Gg@52N+B z2k{Tl@HW08UURP-GF$zloAfAMzBRZqe@*)9t-+f7#`GU=56T#{H{TvC$={Sdd3&&Y z!g?@)KfQEK`nEfQwf2)B5`Ko;f)@whAKJEXTaZp@|H*dO(Dz>u|7>X6-W@?_p89_A z#o#P}e(jfF^pB*!_)@T-{kxxKdneIw_s@u*`bv8ImxKS{&9t4tgEnlb;(I;Q?SK#U=ttf0mG`7?xEqmqU%KvYbk()# zm+xj8ShMZG-N708;yy{3S*35MOYb4l`M&h$_aL+Or;~OCFFa3bz)V7?aeC2A?LdyG zw;Bv1_k~4M;j-Z%UQ2IfQ(F#~hP-9o)%-+|CsWga{`G+u?8Q&7*#+GRzqoUkd1D^m zg*V2BWe^hkRJ!1+cw<4YHQ9o0h-4*&#B~T&k8J-|Bf220x z?y^+~Wip{YTVTyqX4pE!ROxZ;Zt0ShY`-)WL^B9_(>g>cYUkh5U$E>59xY6|Zk3g( zL+XCJoJyr=D)+2&RiUywgDR*(6;z?3R{BQ;T&4rmjP#OnF!e&;Be>`Iz<*0pG=g>r zn~Fj_;p!2kky-f1nxhWAX^zYXWh>qgkxNNvz}XhzPedi zb+ezLxfY)7tMVQF3!J2M=WI6Fhy8N}eop&5=!8X0I+0i&0Bl6wj`uNPx1 zfN+76gBJ{lpq-O~Ts{!fin?ga0k)Rz2?kv1?!*?&7r9Iz(p72A=T^*NtSZ?e!>JG7 z4zKu-B{yH!JAf=mFZoswoy(1CIlV`TV*o36dXF!3k$^m%cw|d7(kkz0p9Uq@-fDM4 z_n=Ly0Ms*0N^7X@iVqM7>49$r-G3PH`rd19`z4rKbvv0UrB~X45ah{1)Tw`@C+Q1@ zZ*QsSs6vWoD;CC^&G2Tkc(eO$Kzlq~pC8h-u%Rf7fr=U zRhb@7STQNc=ghlJGx$jnTTy44JP^!ICS#V zhD1I=`f)a6B`k|UW=^Tp^d@aa0+`N30R$RcY@&S2x_;pF52ou^o6mNr^>T5AzNzNV zbmVp~RIPtIZ?c_P=V$FGzg8kCsh3gxn$E!o^SXwrE74eh=Wr!$*>KejgSaxCaSQe} zDmARWbhezVzSGnF;w7IkG0JfrxOqU+MJZu^uY1NTS5IfH9_DS1s!Ug zuvlqkJPQWh!g2DPteO=TuUAhNrh-P0fFd3XBD?*=_&@R_(b=$XkHrE==ktr(&nsApa2 z;=RG#W4df*(M~k7nm4Fss$KG>p*58Z%Jho8!JL8Ym%()otqpGjC2d-(+7k$Qy@+MR z8Cw#zs6$)zE7&5yHwTJOU-r{r#vEnlUr!9Om6o>($%RWA_Ce38PV- zutAj{a=R2!#SiAGjB6(sVK29Ms6RNAw;{R8h96ljjGBjR;C4#8>l%Yzz zc=0Kq%Gojcxr3iDB{M)`LkMbCdfniJY3eX#_ZdAk8mprYdRAuDD5`fyfhu4aTr6pm z93QOQ*7Et&US|LNbn#mY1E=1*dpG8T2_t(Ob*(LTA#x)G1%*AD_sh1+hW%P=zS{SV zM64*Bq3x7wZ~NKc)}QUZW(PuGvv3RxJC5Kl8b~5^B&QCU{F0LFB$p}4T{lTxA$7Oo z9mhGUL*l?{;?VhOntL~a56g}!ER3v-5PEhLP(9xXF)a;3KonseRK1J>2YYG+KS@)w@|D&z`N2&ft=R0TAebiO=D*eM_n&%W1 zn?#Gv>4nEM&z{h3+8Crym+uc|zZOk`cY?$()H_s5=?|qAw$0DoFWa?^U@VOsPNt1G zsA^B(HRe}WntLi5N$EHD2c2*7UoolhUoY#JgamQ#G)P`j1LjV1)!bpesgA-oOPP?4 zRw>w`5&8@IW0>~;IOyvTYAY7vLIL{n^{4XP6PhzEFV&X)WRuh3F`yV0Mhvf)NU76= zz1nsJ1H<6pUJ1yD5mlONuVJn|h;-X8(Iq)JtkL->G7H}g-*oW_eb}ehF!Elm98_%@ zB$RtVkGUo&1-y9J@U)-58n=7xSKD$V!&1pOsRe{JsS|;!M-fr=x<$`W)A1Uq5*n1A zp#eq1QXL?5Lj{LNVT&(F%J_Y11>p7~5tJYv`;k5Xy*}YR`LBS^)RX zaH)o!kzDlDM4(n~!^qMN+8&B$yJ?%EOHI@3s%d(We8xJY>qL+_UM0yX9@6Q{Vfw~@ z3ua7Zig!vmuaV{o=%<`*3G!r@4;kj!CEFUxoTT?bhRC(GWbNwoU3xEp-OBIKMoED;n;P` zfER#ira#rmP~*d4n+fU_LK&5#NO%kw9b3`;|7j?9R5sH}*8QJALwtv1-$lgC&*c=F zP$p5!ndPGMNU&8I`wW-IoM6B>y`y3hsl$xANzO^J@>YDylc{Cr&D^LuZKf=@Fk`Vs znX9mc1Xln{fAO63E&m>zl}zL*C*w?>l%rM^nV;Kg=hx}J^iKuA$d@O`t7#8D%&Bkh zEE5gQ((H2DH~)b6bdJJ_avLkw=iqu#A*C zLT+82jut%Q0K`s>cralaQX&zxq5#tUy5cZ-2>X2kOE%gP;BtxNFwWH~3*+j`qAg5F zR+yW8A)tJ}0sOrl{5^tZj|YF3fzPiD{0EZJ@ZYa5c8!8xI35kZ2VboS{9Ojo3Bm4B z;5TWG*ve~}70QQmg^b)CNf=vpYkP4EWfgWdn0kG+_l1DY+%>Eb0^F%&G$T z+3p)sjS#a1{fgj-J2hoNTJI8>$Up;M6Exmbo4g=~-R*$qGVdh3FlxCz$2qP$Lgj;K zinoTA>4d?%HLOh3pb%wfd7}BP*vWr?=zLie+2xXC^6-(`!~Omt0zMaIW6?&}dQ&4% z9!N{t6mJffGge48{heRyjFY39sK%ZK$`h&W+s|AZPIou`$xEYo?=aPI*sSuQQYmLZ zJU<}X=uWxV*2d;dgo`tV? zLIa6tKH+%q3CF_2#smD~Re6#=T50zUJbbgh7#_s~?6dJaFgfGl$tabMh1H69U|3fM z%7#%qFa`@J>#a0Ae7$)1=>{G?WQ=e^uv*YO>3R4HgP&gpKi?d5>{2g+*6IVYxsDJ) zEu+CtYVfNS!GDE8gb!d8{Kmsi65GbvoPmfFKH*1DiZ3% z!Uq)2IHnsX4<7{!W9T=sa57$fcx<^~ zJlw#-wBT5HuCXxbg>J!~gX(eaHLVC^rY_QmAa%vno1aL;*3j{@PIIYD`ol}a(39jN zw^Vb)bdaE_XcP3U4cxuS#+dmWn&J(fyY~m0p!t$&3*(QAKT+(Gi4>I}`+ z*u!%-Hj|s6ZLl&yGyI-;g0{k%paU57Qw`t`8(OO z%M%gBXh~JRe!$QeVGzLAN95@wzQ2Jh_Sn#}ge{EmY|1vK;8(^JyWIe+XX=|prr}Xc zfo^bkp5Dl2JU3F z>WeEz!QXx)_|=Nd*anfj_9JDIo3ROKZQ$uaoNpc)g$ZlQ&d1PfOr~bDVwI`!@tbP% zq+K(nK9mo~H)ETbXZbE|#uiVL=h8Ftpugg8%%<#o-ISfLG4YHm1hZ}j? z4aNqZCh0XZb{?K4?bH7Tt-Cg3ACdozsY$opIAuRGQy&FSi~h9Wn7Y@Py0?L;>nCeB zS3fgT$A_7yh4t!0tu&kQhNQ+7W6jk10+;HDnXcnVOo4OPP1L%gT|UI9JN!hQWTv#0 z)=Zs0%uLNhEoiC}wZZ=k6SY3rH46Mv9r%fN1=Q4VwPG{1LBvcw3Vt_H^SXhlSv(mr zQIpF1Fg#tN2{%!re{A;+ZMAF0)OU`Pskb*Wwfx`KXPcmR{?;JWazBld375 zug%mhi>+qr+Qa?+;SnZk;8(VSqnfC3v(|jRW9zu%HKl7zeI)*K6LpoRY5#e!_Q#m0 zGoJ1;o+jI8-9$~+J+FWtg#Szd9|u!E)iBdNX+w*NT3CNHo2ZQ`_?69c2iyQ`n5gx^ zaK;qqpFYp-lsc{$#T05qOfjshZ0k`>F@|lu-U@4?7EeFY0RF=s{A9Jj*`LkS20y zaP0A5FA>=M$iRMJG}v#VxYCRPcD?;S<4ADRgy3G{;9fcsY-8VrBiMH!e$>N3gJ5@2 z42^)R&T>vxRLpdqLA{yjOf@yWT{Je|j%3^Z2DXJJu8YRD11s#ZFk{+IA$bo0R!bY1i?BooA2CiEYEIPMwx7Z-GM#=K|0!`B82OSyUX4W}Ptoj?V-A{5!+u z!MM-2KfB%+CcMp42!xPAYGROr+@Gk(OUwGN#jZsD?Y@9TE>^F&VTG$=t6Oey%UE0K zx(FxM(tG1F7a}s$Mw@BwjCng~-fg*A%YK$|{YyUprG04!9Qp!2){D$H`#3hR%-BHt}hOvgEYb~Bp(KT3)eI7vEdE;LmG<> z;7`yJ-9x-?uqzI563UZBg06IeIxg802#^uUcwh^z;FM*`>Jl9&lYbxlV2D{msuA(v zm*^hNhvxC{OLSTbCIORH>Z~^DA@FPh!d#g`iv|izoKa(6XJ)QVF8Cc zL^4%JUTe9@IbM~+Ckxv{8<;%td-Kk&!N{-ZQ3 z#-WTfAt1-GL}&6*a`G9M=qAMbs)oh$Wmh!CCejkOZNyq|&VnvR&jhv_A=XTUk#n0x zec^D`e>z2^>eQd;oca^x)OXAc(^Z%3{?Vx2A=r7zSuL0CzJ)i@r0&VgvQs0V`ic;-*6%BEj8xEfgX zJX*z`88@enFej43Ev`TRoXP<&qdoQ7GLw6D?gdlM>I@1d-^>$$3mLSSO~LZpB%6R& zR$26cIu=bZEJjbi0Rtd&1>D~-?)TWBIw3fd`gi$Zzf8lP9~qDCb_1`TN6(@-XVZ+B zy;wU+4nO5mwtGshrHhu2YzLs?-&jG zsg&o~uSQi`YW-o=2DC!~-tPcsL-rVYG~o|6`6aYL}| zGGk*YdTyN6ajR5>$YG^uBeb|Y8NV-J+^&G5Vcl^m&b?!>?(@RAiG{XJkUrCEp=!{= zIY^kHCYdjwdJ3AcF~+oJT8^}?xdLz`$k@V?=El1M8trMcnLw_9wvn!Y`OXb6PU}8h zJvBT5U6)4IcbFrBp~R6W`-{fM>GAUuy`8Z$gebM&l9eHyaAb)6rc-;9p zS#8`8b*O{!dP0&DI$L1hE0V2AvFTYvayYhtb5{&wJ+E_Qx@v0UlX(rWJOB^ z)VfcWl_&ee!c8QHW}kTuZyg42f$>Vf=;r*1wh{($m@=h_!-LyGIomOS z^eM+m#(P+>jHy zFL;2PX5H*exC_M$~PbLwCdvl9+_U8!L zcF)LYNP~t;Hh#NjY}KP}Bs=9WlB_m%@B;=uQ6Hi`*)|Q4e&kvj^)|Ya2Pp?ulYPo= z^0A5dENQrkrGVrbON;tUMBMQ4BN4Gm!+#w~L$h6=;jm~44TquOl6o2@I{WU*LKei> zliVqa^kZjqKl#$44*kFa2Hni-d+~s+cs}fR&vpU@I39a$gPa0KQy_Tb_ ztTP$fR!2qpNnNF8OCY7HxN5sfJGHL_KPBW@GV+4WqDm_kIfvov14oO? zMpQmNE>ynJF|qjiyhdD}r=xf4G%dVPhD&v8Y+MSJX-6fTaTumX+PO`qhY^XjQRqAl z&w#qaV=lS=Q%5-r8&UVvxKLNa93HNEiFjsmVkikwwHC?YYp7GV4v#u#giXM9meg(1 z^Nz}zxU2E5rqiA+CCz{RO z9GfZCKX^jK4`NaaCVC+IKG4KvKYkb5H>BF?tjwaCIp_57clO!*U8@H}R30f4SC_qx zcui|6#yNc`dltzpj}I(y6A{u)q3WqLZ&7zPY-*{@T&F%R9x8XUKGsYFThi+{=ex1`Esq3; zBC_7op)8!rN=a%pQdDeGwhDf8Ob|){DF@%aC7QWTPX?ma6` zIZT0+?hbcUT6EpeQ7I{bT{sG#Za58$LSwnxI&l=`!#^Y2p;!Vmk|Yp6R;7dSRc;3q z&R$1&S&Bd9$$a~kwUwD?gWYaDC-))0d-S`DbZpIA)|_LndZG?@8>ah?3uj`D;AC5% zVXL~CKNd#KWLqJ}rV_)dn}kFyR{}{9jr4n{%6+`%mldDqk_Xon)PX7xZ-JB&yX(`G zT12ZBdl6Gn(YK|0OG?nA$Qw)kQm!&+v(^vJgbi5_s#xww^7`r-3HgL=4!2VxQRV^y z8=9kb#dS7IgTKhZOV(wwj7p&oC7i7fOew|5xg1H3^|1{<8V8K@$>YOm3+eVQ>WX(O zHIK%olKPNJhYwVPZxMk=i=qYyYFWGb^V1XZ3|p$4=9rW?6?@f;U(%-GWe5w9i zwEPXKr0+$+68*ePe=bJ4OESfGeokpRR+A_Fugh?pG7k+dj>4XDclua}mK4M{6>WMD zF8+`cAo%#SE%9pei&V&N(fwx5dMj zmoI!A02uC01$RjUo?JEbwgFGp;%SJfD!tY8c_f*($tSKhUTxYXOuJeQtcwZ|tDZuZ z8Pq7mo5Wt}LrcI?(D1WkW#gREIJ@~+m>fVC$?F}07Y5fDt;kolrJpQ(FdkPf@Fw&=80FTmL)okiU%llIr+VoE)T`<-dmE~6 zMhPo-M_hU(?AAj+5il-7pIMf#8@Y5GX#S zG{2x;Ra#Ihz4pW`LQWl|LR66QWx8KiQdP5%fu>;AYjMRbe8RYp!1QX|TA_$popt7h z=TO?^KaG?pt66%T$aZ+O4p0X>wj@JQE9zpGsug@D(wJf5_n~K2+o*J{t8}Y#gPaX< z(H34y4eeUTq%Nk&N#TlSnoi%Xbg{B?yl~;82&wO?^Ih@Psl#(&8mls>t5O2BzRGmj zOG)={NmA}wLrZqISeatCVqG1uBy@sqBfnf~Y~?NH%u2^;R|Nj-N(M8@gY`8s*}G!Mktd(d8Fk-*m(zrqn5D+#jZPienB$zF%o4MV7XGUDKfd} zj4ow;c5LOj%jJ%y7XKS~@)3B|(bU#BUke`3MjDvX=Ii(?{f866ImN8f^s^^~J^8Nm zYbS(pf@I%&oj@wa`>yl(tpya?z3P-vRVJZ#sBG%6PFrawDae^`neq6@(jR7J`C0d+ zreew{h9UC#yj|{YtEZQGco8O1!3V*kNgo#!Ph>XDQg>rGSPdDE04gBTswI@yIUWII zQ{rwOgK!;4Xnheo8sN=<4IF?CgAd-NKZ{LD%0k_KUCY{2*?Km364?+vY9%+V=-EA` zujnK-eXGJdX}CL6QV|&iFT37s4icwA=W^~>(X~Tyvz2K_pAN0PQu5Ls-N_@}ue~x^ z^HG%+2+p(O0Xe(p%8}A>XsEQyBULECGL?YhcyNXhSxEOiR>YEy3T5lG>?hN0Q2jNb z1Rz4D7^V?8;eZZ(6tc|l_E&`Emve##xTFTvit+2}qM&RavORKx#sZ+Z+_~VEHh7di z)gQhjA^oXA0GV}X*<4%W{f}XJ*mJY7bXd8-WF#f3tYS85uF@((2`tVF%hO!oQlJLv zn}fI2(zg<7p}}a+bl^#xYb}?ks5wgLRk6~p-UJ$H?XvK4yl4?Xvd~(~7V|+7dZJpa z2%35`ry(dgEvGN@As5wTho*GcJ$3R*vzQKbP@RTpO5~yrJ(APmd;_0ng{XsC+;i%V zNNHjRvdGTEo_%#sxkbLfcG4GLA`XS$b5Y5tfedOZ7kO!uk3)?c!YWIxLHgK9VW(IX zl&LAkQFhf5M)w` z!jMc^I@Bwqq11AOUK=nQH!}$e`7I8?>Q6hzu?Lc}ZEe8lDzLg#13hQNi55s_om%5+ z12h|>w!9{(Ox@N+W5Xi5kAPl%1f%L>&_EoD;;?aa36x9h~*k!Mo~KkI><9R2!WnzLE3wA*qfLKz$(Egu-+Pd zG<-d27{W#xM;1Huya9z8HX=_W!Cd2pEcHJYq%E)MF>}?3f?olJB5?!-F403|6_-G| zG3YXGJRKHIG%|uLiP3%(T`Uu_x%uFeXQa!h_OfAMCa;EojRa8eYOj(qOmnRWx>oaE zqf2o9Evg778ZsnF$}4w{Nh3L1Do7(xlWXOPdDrw1`HN_=q9&_MWSU5JOS&#z(9Wnb z7p#;6@3fvMDa}$3@q|;*?&2%BnaXt#8-jB~{34KM_U*ixK&u+;l~CuFaMmsd9+H?^ z%F`YtFFtV3p0DG98V;me;On(34px6gMVo!B{263FrXD5$+vsB+GG(|sPV+`JW6uAliM?aWeKeygjA)FnD3V%9A?h@lK1@DZ}z3szw++ftmypQyDnH285WY#g-ZIB*8H)p`1yDMdi;Y#&PO>yQ6Dn`-dRt; z9b;3)(T|m{8vO`EI1K&nglNkg{kC$u1bQtXl2U6kBIWvGOs+7(TdZhD9lQuNd9Os#SB=D$8iqR*w(nmV2`D4z@l{A2DDJhF({>K8SofXkG7^a`{PX zaJ^KzI9p+egGtV3j=wesI1>GJj{6j%gwXO`dqFrPJ zRB>hS;X&*ka&4lOA#?P!k80|k7SW0Mkj0D-z?Q1%a1}cw)YWNiVD0jKU7gkjPZ`{d zcPa&54NyCXn6{+kRT#nM3@^6l)V_oq!&=U88@YU9Bi78`(VvX*1zlL65ggDH#FAMG zt?~OcgKt0XD0-(C{TSBwQ|yyb}qX^98?42 z3hTJ-c+Q{!p*vzZWd>h`V{whGJfQzXGy!ZFys)RZ6&juF$LNSp7MGB~%*+JSPEvV}|xDd$2)UP!&x z8A0Ww&>Hv3mZp?;$D3&jc_i31*b&5xXekSw8Vyn(!ZI1lOpR8P%=e~mn`$a*p(prm z$TAEYRB#q%XgJiC&krJ>IFuui#DeH%M?eF9l-v)^1a8K$NN+!Fpr~x7XCT5UshPZE z0?>g7N=74LLIigp_r%6L2pn13Nt;bbn}LYT_RJg`xbLT%ZP?2E;ncs5XhLZv+87;* zSYeJhNGqCBdK&bw9HQyjzEd3w+^wqUvnm$ohz8j0a8*=SQWO!uLa$Aj%;H?vcPN9o z!poRQ8LLue1MCJ(F94fOjhb<*QzM5I97eS62^6!GojSz2%*UHFD(d)v^INR;tgUAE z3k^_(!dml!A_D*&a!-TV%4J zu}3W{#P6)gAz*k0_yHzIL9Fuil-g0<_@~PgHt^jIBwR2y^OM& zu05P$!y=rszC+`VNPyCJYz?I*&StB=Ra#*8EoRN|A#-W^!PkZ_^e{SmJ<3VPU)51n z;P~ztPSldo=MI2FFO@TiGc)YC2z<^=b3DOMTz9zEIz7VSJESX4-t@(%hm+wpj@pWB z;`=}890`-r&(}E;9N*#Aili4e9w>pA=Q$<}lzDb^2TC{^4{Si?-O|agwlj$@s7?^3?1JatUQU&c8G2u(|Ku@gWkRF3@MPHoK|=Q$wob8jSk zSc~eo?Bu_up6zxng?}df1?vW!#(nYAoSNZJo1^#41M&q>^+q&V^iu*v&~x>GtzSHt z=N?EWCW@pREgh3clxYCE-1^c$GMARo_2{g5zK-0HnIk*G19e1d_sEX;XV2IXK=5tn z#zZ2xF(i&|BX2q{h)$TltFQAOIpDqatcKqVEanW4-!J9kW8#gY@ay01%*P+d$2qXW zCP|O|+PAm^c$w6{6>}JE`Ypo7sKPo;RkkdWY@rb0f%VT=;GjkMFuSzA=QxXBj9mSK zzs&VK5U-Q4AreQXD(a5LNXK&AjmCIIg&7vpW&aN`K@fkPoYv2L3|r|j3xM!Fc71xz zT~bWYbLdlJmkNNWE}F^WqrKeXMx$s`v>K8_I#hyR$qw+6pOI1}#S`d7X_fRcCn@ds zeo0YgB=;7R6uablR{VIX^DC{)?`o676?t=mQxg*c`YweL%S`k-v=h03<+yTV0~cf3mPhl6Z(F!wNX4Q)w|^IbaoO<^~2t9~-*rU^G0xUcnt2_c&dFiqWa zHy;3y)uZ~D5$xcsT{3o@PH38&7OywqyONy=UN+gp5O1zm#iG}$(-jO!Z1DP(D)lg@ zmEFkD;*RolzKH_HBqppHQn*)XJ734^f0;i0rm*Yu9Y|^(N-kP_h(_L+O@CSoThr59bV`jOL0d~ISdyhHuNoQMl@f>W+X#1 zyBgyZbhv@S(Fh%^8nz>>J)@QWDMbFt_ep7I8{m0Wv;3r>d(~|Bd?Ie-6IndE)e?`h zbTs7Ps4z+}xfw|mkT|PMaiusRT94a#+-^hxm5Kte#UN^7)k#YN_P%rz$FjED0&~$V zJ2Su86nq7_*1;(EO>_D$e;UT8sGVkO zK|X5nncAT=%@m^!sT(#)$+OO5Uu9fyF;M6a#dO=BhNmW@>Y=QSDL#|cB>WFMM%~~U z)zxK4Yp+fuU3QRmi}UU}j%*i4iVMV%jvETbXVAhkN4(gWvPIq?@M zLFSmqGn)tAJ>y3`V-=h~){P;$AFZgU`%te~NmRDd!bEDCC)|~@`bq0&;kHiYf<=9t z5YgxSP<)S~YkFAj$2enFYq1 zD^}@Ior?6)k6zWuIrQ8&P7G~z8j!BK$&wSU#YPWIgAgHU_! z3-SI(HDK`=XweG`KtB`v&FE)eTlKZ{%lOgiPpLHVf$XO-RU6^;l0-~|hDP*TajSWM zP^+btU!?fcR5pG6Q4o?aIdJK>*9c|^1`K(wQjB0#q>TK*hy)L z+5p@eG2;pBau(Vj&8+K8HXo}e@*h7#PmC^h&b*(Lo$EDy$>MOj3tMiFBnJbtjHWV{ zH|JMWTIKmi&bOzl-%RxFy`@TvBq;p1Azz-!A(9L$f=!3*+ND6`?3&BvJ#hQ<) zKh5?li&!gRRfC5vAGENl)hu(V6iOw*Leb39x0oF;J>V84dgJeU`>Qlo?Yb{LZfl;j zdl6j7<-$t0f-WUd6b{$r_ePzi1vOr4Ea(cAG8*@KzNEq<6AR?l6ASP_xX`>9{ILpT zTaz3G)+H>jfPCb9S)A_i^*vAXMtm5iWP{N$rWXysRK-U@Guf#9gvEuk`p zHgas2=h$w~u|_pGu}5l?BP8_h3(oT#+pULs?>IJr%;RR+i-p3R1tr@U!pYGaF$2{Y zQ|Inh}__B`DB3z9v5uKu|V?yMWn=2TT z40W<~djSH**ofr>2#Sc-=fS}uk52iKCg?$-TrBC@U!IbdF9@eECts&o3(O#L7)`;| z6Ne2BqfT=eX@)uM%Z}yCnJv%~w83Sn{6(azcS_gePaqwQjZi$QbohS0S4XlY{4lF6CqR8>gUoZ}wzfp3X--9;$h+Q}W zQFLOmVRRuflzG7s-yD?f$`(foH|s*lVWggqu#+?*r#Lp6>QRyQT@ZGpcm8EqZ0n@k zIBmsFQ`1?6d{+~{{OvI%SVcH7R`IS?Z&FzVlq)J$`AfEou{dRe@uRB-2X}Fj`Ni(% zT7K^5=Vg9)OaRRsv%przR-LL4Pmu@ezgT}|@v$r?HV~gSS`-*H2fQTstBi7EQ0;jm z+F_)DCi;)ir@0IB-gh*V+-kBV_p0stiBu%LW-fMKXL!)ahinMMg-5w>QXe zMZI4|r;KV|YO0e)wI#lnO-42C!fj?kH<9YZ_jRMJc`V zezYce- zdZ>j&u%&PtC2z&)MZImVjsAIT@%eJVJCllOnCD6T3v37>$}WA(@rDT1 zYO5huD?e<_k@Fvpb=%p%N3UC1a68CC)^f6C62GM81W8|Tr&}qZw-N+0rEfr+G?(EQ>epVl}Jj1_U_Gtkm?tFXPd69YqNKvuwH$V|J#fB~cXN5S-p~H9CNdorI zjqY+okBN%-@9wfms$IUvr`5V_ARm2~cXhOyul8(PYoPM^xlIIpwWFUEydK*LlkLf| z#)I@zK&i40yTuDJ7BT}9$&Dqe)wMdKyr>MGHwZNkA@=b*{%6?2?89yg-+ZI&M>ZHudq0%odc}iCV5HhCjr& zJYh~adbmhEKYxs__uJMqI$sMvLJuQ?(C|=C#s9518Bh0%@uO_yV@)S&@9|RtvxX3e zpl(DBPI-?SX28=9Gb#q2chrnAmeOAq^Ucrq2pT`OSn{f2Yk|X7=SXZJ`fJ!)dKhdi z`M&^Ls8uy=&2!jdn|kBeBDr1-TMG|^tp)!VV2jn(8n*fzwp@r-oseQR6KqKc6Xb8} z?vuBmSWQx{7_qZMdAVdi+-PM{zsBh0PW$27a`BQDJ1wbhQ@qK2N&Sg6jasub1r}5b zETjPEDq3s}Dz<;$UwyyGDu_A}E4A0emmuX;(P{3r;s9!|msDRbb+1eQHJHFVE%{#{ zn9|PxL!e6X-$7Q2(!2gPoMxL?Eom!?prmqADwG^KiwcyZQK#M z@&xKie5cE0j~*%gUJ>V9eB-s2tzjl<<-2Pq8?9fu?jZC;N`E%K>y%+>x9Ghraqd=P zWPp%ApQml*Uf-eeEI((J=P;R&h<`V3aCvXrDl9L(nfsZnbaxMZ7!9?b6m9KVB3$Z< z6!i!fXQF3IR8%t~C2YZkFZiuoa$J^0?F1i({qC~BUHaT5q6mFv{Z|)Odvxh^7bbl3 zrSb=}wH?j5^i?@DJfPqLqZo5W@fT>s=q4`EqA16n3|}x))pI@WTs91!r_nZAu|Q5r z!Aew@ld)luvKm)`;ot%;DkR!r>Dom{yiVZ}tVg@Ri3%Eju1umwG;M|w)-IYVJ~Ut{ zSUeLUO*zbbtutgaL^~C2u*1{4-$&v%!VXl)Y}8ql@HXN3&D?jBgb^)cOEk*@FGLhZ z$r-%iveXqW>XB4)8$Wy_nrP?N94OhcgV?1u-Q!)Z6M;(=`Ofv=+?jr{>ZD~$fHL_7w~<6u_}D4Cd>5!S-_0aFA<0qVy0yA z7M3~*&5{0|k-tjYt-9VqHE(BepGc;oJGJHIu$)Fl>KG1BCt)nXG=9rrF{kPho$agK?Py@pT!9h35*)G7rp4-ye3L z<}w>7KZ!|6VnQ)*D;nE`%NJ#H*(R})9%*^LxU?NHW1GOVxdpH*LHd#Rhc8|niu**Z zg71I=JwnAr`YdDpPk8i0GLDTrQkTaj$xAego54sHrBH*(_;Ct*U(-k!8VhD^(|Z8^^4Qmn?*qgY?}i z8JDA*x*~hOdF=PAviJWn_WRY@`?((+v;Lv%{W%{DXPz;-{q_F6&=Ws-yBiyHE54rW zJYuTD_KX6qXS>I4c{qFD{Gl-++mO8<;62+O>WGlO{X^lbSBfQZ^$lVsEz!V_TUL-f zP*R_*KtRVd*%ZZzgiv2h+_}BwkqcX3mv2 zGpu?u=W4e?SoLO_&I5yG-||jUhqwZyg0!H;YxtX(Nj#{aTl(<4ajN`0QB)5x#6?{21KD51TirYa8Z2V*XTe> z;9>w01Hcu~1_sttdM!R6jJU391RS_E@>#mB>z2h~x$gP*gyNVGBox8s&CA^7Vt2VP zdXqhsxI=hpHs>ON$wdN_%Q8uxx_()&r0<}A7>SMVEZnt$u*}K-{e+b~dFQD{SkQ;q z5pZ&PjHEEA`(Hz0)*`igo|6GH5<}s=qbWR+vf0qA^?(it`W^PSj@p2(-Z+8ho{vH0 zL^D>E%+H?6p?vutSUEVjM~m@;`6^qiHnw2UN{M0sHI!Qxr1P%~CncKw;tfv~wwBV31z97Z9y9F8wTt7ApIQ@k<4jToRgJ$=lvD+*6E~GLyut|aA|4j|X@|E^ zLDM^~%RsD=b#)%2N*h89w!y-Q(hkzySF)i;L-U#7n(N>iBr?XqBc{(F;?{9=;OKlH zFQ;7tcn@4x1Fwcb1FxHo>o82OUJG>@c<);k&itci1)k703OvKtX>|KPR)v2vHP8fG zomUl%AEcLlm~8^^IghEpslLp?r5`HR1;wjBX0zbaEtjD3#uJrl3>_#H_6z+cIhHPGLnhuyatBQ$pkhUHbC*{r(Ccs<`6QU}$@M%<7!8M4b zakn^h(3T+taCMH36R31f+?FMM9$;6IeaK=bacDM?<~ywB?F2W@r&4 z;KfM1{TJyQRui~=BLq0*+S`71&_|heoqFvx-K>a-ERhoy@y~YuLR`oSfz4$b{8gq0 zioeaEoAMFJvH-Yjnqx~p8zzFC}6 z{c>>dz*sP~jRJ$EGhdGcOV;qc*F0vQCnNfVe5JVJ__A)`e#ziy=!SZg)pqS|j~}KN zY#PYE?gq2hyvkMsU-q(>{q+SG{EXE=G#Bczq#Sku#{$62Zj+hS&lz}E;$2wc#pY&@GA_wZBF#hy$7Vt31+JKjL%* zPR}u5(5Mk7_@8oPmZFMy>lkGg<-ExuTSkSpk5Oo3nLB-%w0AADkedNf{E$$+Hq85% z$E%-W16nTrsJpCj7iSQI(S=7W;OEq`iKc$EZ!om5EV)jAsRWk^hIl1EI^sb>zZIts z)s(sye3>%I)z7J#l?I0ubLX^1!VMkgHalzBBt<2&iA@TX{2N`6f?7Y32ME`h>;pnA zPvZhd4QQ++vVN)3Os`23?h)}>eSww$<>TKuZ!{Da1%c{;!~!c)!;TBsfIpR0n*GWK$22)pR3@2tAOPf ztAO)Bs};DdN|k2P49;~mAlR%1rG&wi>uPw?)qr!;YT)$HY7Mp*%BGvhRnX=u09jP< zkgMRJs{k*(RlrfB)e6iid$H9Z?+tx{t_FhUxm^6PtKpEV0gp5_gz33ghg~ym4H#UI zk0fuKd`t;o%(SH+y&6@9Rf70yxfR=@!nV_L_RqtMKlzC}NOTMOox;^7h3mKMBpD{4 zdo%6TwhY&A^+lX$>6!gPo*Wr&X7{yG+*iEk3bE zWqP=U?QzPjQJJ)5T{*8HA>dB$PQyPst~1`~rc~lW;+9JoPUO0IBXYSVzKoS?R&0yt z*npi5tPkIobmFJBt;M*ji;-WJCV^>Ai}S8v99)W0A|cW#*H$MrAzX0h`!#I#L2~W} z9_lcfbP+_VW){Z^u5RKpm$ly{XdY{~d+-HvShJnSKsJsMPSF~1c4~w8;3-4+oGa-i ztJz2(*L>+BWF5PmIB7;*k2)#XYYQb7bbrcFrMH%!ytnSynF?D?JE2E`4|?!NyF+uR zztU6tpr`(WmWZwb+`Q$byKwPGWn)JJ59f!yRO=a-q%s$nGf2U1TQZ5cao_RTT-U25 z_8IFs_(ob~Tv)xlkKFsy1Rw7p9q;ic@*X;~l@)JU?6Jc!Y)H$`q|C-mKNb!={ruoE_}f(T=t5oVqk;zSp`Cif zKfLcc)Yqv*`yeCP8IB`xrhGjmTXI_w=TC3X>$cEp_ZSOA`r5u)V%Jqc)J_12#s{Zl zosPG zZ70JV{VY8_Bc?iBN*S>1y5e(`{&67RH{Di+5gq?XFiNR+Fuu`%M5P}aND#fEtQ{UK zOtr@oWhP59PhcyAh_Hkq1!G})MpJAvd`J3&kB2iV3SV|ws0)G|&A;h&oAWapn3eNl zl@7KQ{IayJP%V~m{ai_yRxrRgNVF(K&UL#mGC&;3{2d2RsBti`!GoTIxvk^iNs*Sk z%O$26Vx6RjW$c=epg>PF`pKtF9~qZTD;V%FK)Vs#-Y=Qx;VUt?Y2C)q@?3Uc&v7e)I*d3sDtR4Ba|kDG)5DAZSt;v2m$Y z%9bR!Rr4T&^?0^8qD<(kIks;kw^$m);;6Z&l8+z%buoVM*Gv&q$8NhybI<%-?lv;j zQzlol;p}&koN9(&a;i=%P$h@SC1Mj?{1{b#kE)MY_*4Ph#AN8xO4_?2Y(-93bTykHqE7r^%9z*;{TV*| zf4Y2ZIu1jxCg}7mWQqQ_7vL)@^1_A_{HKYd{=@7&bIJE^sP>LyiXJR7!czg!?blPWQ7Zm%nM2ql# zX|n{(;|e!x7Zv?-(~4J=y;g0hMcSiD_D=fxTRt706l{7b{n)3&8M@x_>F{NV+uX}y zxaa~PvSYG1dw8D4M%fd#nao)*IyMT>aM76WE$)?Z!orY@x1!99Re9d-CJF+3NIOz< z{KRf$&X(m9bGv-OdqJUN;Eh&n4^?Sq%J)liK4&ZlyYbLR=Xj-8d0>~V&24yk*=Z#_Cp97w?&gahiYX}-t zV;v4b?*;Caw;Fy9;kr1w`u}X~`Y)?he<{@uZ?@{6JnHKIgzAMegd{`;i{RoS^~4=% zb1`-6AUaU<=uy|52=wE1RE!si=fGRE!Erqm9A~{{Tn|b{&AOMeoY?tHT}bIRIeKw1 z`~SQbi_v?bL5ceBgs{YDG(aYUwb~!wA3Ul)kY9?_5f+!3&3s=P9yWSS(FU94lpRegD-Ox1ViA&{X z@5BsDlfu&47*s5Ky_Q~D(euL{XxTjy?7ZZ-sVrKH79|c=u4G%Oe0DHN5I=B7{>3?V zye#4VVYj^nK?aKi@uTi19xFz85D#{qoIjoG?mP0waheiB5W7N$Um{XZNLbae+B0E; zLy)p$!Qd|*-#~M1Ad@H1wqqk|>077)^K!5AHbGx7V6NIRf&LIcU-2b?#`&Ng<0z=Y z3xJoN%TEt4uEdKCCIWA8Uq}sXfXsZD29)Z+tO}$S8mv{Y8ew22NRQt{C_)&2`B@ zJLTAP>q0agrb`ciCW27QItLOODTmlt!)go)HR~`kp`?y9=kY7+VbOXBg5FABAe05t z%Smt;dUc6l*nEKuw|au5`)=U?k;b7eZ|{ddkdWWH1Igz@<_;n?jz2=>@lj^Jd{ptrO5Z zCxUb+sN_)yOV_5i-Wnb==aY8!NBn?1)cSXG2Rzcf2=eovU!!L@H z9p7C?-usCvvYxn-tWdh~8Q*{-F^q4tV?9sGQ6)&+P+Tr~mdoilv&&#lJHDmBRxBrK z+$pSH)C5}ZSO)D7XYi^nq9i1|3JUCyyy?%{Znjx5U`@H63VM4z)x^1yW>=+HajF!C z3tnHz{>l`rmLwctkVvl}Bc|8633ep#*PT4TU9UJrYMXX91>r!PkAh3l204E_ZhAL% zR3(&m{E|5L8f0rx_ffNc{k3+v1qdKa-E5belVoY(^QW;M$3Myai_fn%D>DdzQ?VVD zG|auLO!e5^J55yCZJhk|CG6bGX)iCvS!*=KX{Xt_EA(+3X}jl*%-fxpx}exh%fzg_ z-6#X%(o>?YbYM$38#g_PW^E$pS@$|J;q)`nGEqaG)sSaUFXq zxw`=#D70;ltGj$)PR zU=2Myqg-24>Ozjm1yIh#eWc2}ZAbXpx$D}>%_aU6fV-I$_IDskySOj-`(Bc!rqLI} z7cJNf<4I;%g2)yGj+V7p62WaJ&MSRUGR$65h@6Y*`@R_d3+V3uQuuRAfZ1eycgH^B z-4ZY2k}rKW%(a&8=8tN#wKA=Ps4>)2o=Q;x3F%*aIb7DR1egwoIUeo!a`=+`?)335 zhnMCbOn-cLcucx#XE?z9y*tCt*o8EbMIM^@d;aL>x{#y7ozJ2IxjIOc2{d4#H zykc15d$P!f z-^k$F$-5VPGwkEx8^0O;k7lZEE9X@0G3mZ<(uv*aS>Fm@-Em8k#`Gk_HtJ02v+3q< zfwl+J`@R*PU*wxE>5b{)?}TqjufIP$mN#Jhyyh;4l;a-=Kja>rA3PYQr+b`*l4m>PdP5|BMB_rjAbjyR`aa05m-^S&%?-PRKNII#l zGF?Q)VuPq*y7c?uTec1D3tyfOa8Z2y2jTquuJkuQ2w%`mWEC7MM z8`E=t7+#g%lm7CDe7q-}`=f9%m$&{1GVDpO`;k5T=8wWx#d}Z(szG9Ki3{*(R*=Bl zT9n7Ob9!Cvdr7|^mcG=Cs(>w5)V$8mblFeBWAZ=U_U@mA&3Qif z`=2sy?oL1b)9`iqt?6SwWv<-XjKi;MMaiyn{dIxAF7nr1Ie+s&cB3s>dHX0^%J7+W zwWYTvC_^n`Qnf`JY}LX|{KFfA_&XZ|c5j5zmAZlI|{8!8Q-F0L?9&;XmWQ2-SOm%N{*L##bTU^tXFkB zT~d3BU(h|(U-mL+NL-$ctCv+rRi7Ii{7qU3`XLyjTIh|{LZ`VxN2;K8@pJgts(-~Z zfY@4~K%KYaq?E4#jX}_9& zW#50}KsY14?^od)sB6}N?2)FImp>NX&t<~nR{R~0hkwtn15bwCY4a24D-Wh8JrUl< z<(E%bfp`BpJR$w3C+(h6OL_Ck{|vvyrSxk(+(v;g&(FVo%F672D%^zB{qVuCn`!ei z2gBK2w=`K!aFGSzbNGd|%E`3wgM(ou|KQcXu@5i!jm>8-`E6LHwm1DYT+ZcRe@owX zrx*S%+%9|{3K!*noSt(id?g%m{h{!+Glb`>I`Yj*GqQuIwgQ_g`${|0Lx;kiVB?c% z_kSVNe{u(bb!MM%uu{D7$qAxGo}2W%{|dXNZ?XrKCfNq!5r|YMeIvcIkG~&Zl^;f?Sr*~ME5%L(a++b~&e;>|#SsgG(Q`>B?@!{Wx zFL-4Yz8ms3QL(JEq$j?LAkqoX3~Tz)d|_(-8|jX)Fg>05bl5I%T=*M9jBxpu(xa$y zHGGW)VtpkGRoLO{6ZnVZ`YMq%ar_m$q*lQv4dFA#`SrSE3on4)>)u%Ce#!2uWx#L1 zAS%S40)n=2){&NjLf5*x3sYWG?Zv0mi|y1TkCLl*tJQnk(bk)uo-a(Sk!yo0-iM1> z^9oBp`BL+EyJ}!A6PAlrY*E?6A4TUSw@mziZVK_I)dKpvHB*{+6ga4yT9OO_GQP1?}G#nsCeFYoUox<``%Tb}})kt;bsyC|_@3q;y5Md1siUIvdmmM_T zPQfT$3$ridfA%yy3Yf4#UfGSsh5N>wBu%7sRXTrox2d!zeRrYomY082nNEr)$mM|DqNhO^=pnCF+Jwt$8C>;W@%hr@ee+hFa19K%a+2NGk%ZbNUOx= zv)bGAI_YBZy6bt*3)TVwkZ20N!d>$Qq}rX==bPg1U7v5w3Sa>++3oXR{^B~-ysxD& zyXni;$kQ!_-lpH!Eypjsc-|V_x~j3d1I66oHvD+)p<;^&h1HYv?~0h3KloOT+u>s2 zp)D#V+b^_CoLLuEHodA$TB9c^Ls>Oc?YDw2S{9e4}kpn zxenVFF=nZBPkZ5%cI#dCVLE40;h6mT^baQ$UYP&K^pZ)1?rF4$4ZjB$uygSJl$q`K z=?#+#Z~OCq)IvW}@Bur3sRr-u?XFXR$6E3V-;4Ku1r!LE23)E3v8b=3b&Y}!Y3X?# zg*O?E0#CGm?I`s62M!(o)=_w^peKYQp2S(CrGHOPE)`x1^nX<x7wvEKddg@TPnQZB|mBPLT}qW>x6vQvGjYLg-QcF|M0THi)Z{J2Up^XFRf~k+9x9B`1Rv- z>9j)6WXE!#CF^l|*|fq*O%HxoqGsE)!Yf`nyr0`<@#(~vy*0b@l2jZ%^z-a-KANb> zm^V+y8s--m+m+76>7oP3R@kJ17H)R0R|) z4;6ow=L39-`h4osmjwao2~vg+NmPG?0HCwe99kO( zZ5m*#d9uUFz^zlQv50n%^hH_HmWKJ`DBo9Ad#FP}I60mX{%|z*{y0cG%m|bLRyN2) z6h_Mj3;v3_sI}l(aauw!;h`|An9C&LcLOL1k8x2-_}}BS{%y0vX}5$#Dm}yD z`4|c`DR{>Y3Tk6~l#z97(M`i?3Z?q-aq;C9km=3*!-f#{9(~V2k+IbG2w>1w&nQ!uMlC_qPoo`2N!Z0b* zLnMO4v)MjxQ0^CN&2MKW?PG+VIjGTnI8fB}M|WVDAVg z0AQ8}KYPxjODYH}eemqly|LEdE{zjcNB>M(<53XJmewL{H;#YSSbH3c=GZ1$GAv~+ zn`ko!jQJI-VF(}EdPkSiX-iB7)F3h4Xza693Z^tEoys&9eNIw~*j3hEzhmx9YpT^P z!=%qNy-ndMR|4-s>bpqbYfZIgk=6tS7QsHIgJ(C>s`9?gv~$s5GDJo)P0HaL7fI+m z(p;;B*J%FLT~opMO6K(jbVSEOLwFIe?6(9{;_Q0BcAFfx|5(CVg3p{-B`*!oTa zCNs>eZ)pfH3SsPH>W6^SAdGQX6i3xX2FRW>mYx9V+)!qKz#%)51DTE?Q<&DlNwYXj zVzgH}C^eGgyF^>T0}4FaQma{cYJ18JL1TCcF6x)jQfpQp!tZu{v5eG_QPN6#nv<(bg3YT)JrEU;jxqK-FiQeQdvD$!4u#PwxaOAr~; zIn~!nf)Lb*OZ=WTTI{pva7?=6v38Oj{`q{N6G9qd#t!Onl^DutsfC%C^F?x!hU1|V zSV}I6(O78-paTeWlz-ettJhqv_}DJA&I-<}E<(4@CZZEb2ZqMSU2V0djmz|tG%VmZhoqrw$@VB658KYyot9# zZ{rS2JyL>J8CEzT-ZI*2bz2I7{bMtlY=rg->kn>$D_DSdex>q}_<4QAx_pHh+llT|MF2UU0@6$RfGkL~++C$0(e)K-Ax^}F-=K?o6 zXiw=gesduBw+>p0J_-GLfoF8kdg)(7o4UY{b-+x0fu}GnTK^r3)eF20)7sV91gUpH ztU03TjZ&-`&>x=B;nWtA7QnmbQw6E#Fs*;{DbN>?8UwS6=xI_6t0K|2!?&%2$w)#; z8=+W;mUA}=QQeN(!iRFxtei5(rJu))GuSs&VNsrpJzccmM}v(JNrh5FH8`_*^+kgf zH9$%?BSJ;jaYXaw`}Gvwp_5ik&pbs)p6jIbjS14pXsHQZ6`Xa9@9dZsSlQll|o*{KPHT}yKul%@iW zfZ;+32FNpxN8_GfUN)cG zMQa?sN=8EKb`0PZAJA%Q(QIuthY$NP>5ED;;Pf~944(}Z2jy3o{yNLSH>ydjW7)5B zX~kK^gOegA30_ld3k1^7m&I9Wm&mkBObc$!jlVhM)DBLE4P3+JgdP#3;qi-7DUj;g znfJgiSPL}5Ri&oC3QG@J2r!fwPM^!wtmcgrDl^^P#VU$sJvka8A(`fN)!HcM`H`+# zb^NH^w3-nZrNYKeL>$SRbqgr7Vv^wRcGIetwS$PUtgx^_%#^x~6%GvkUEQ<~^axzJ^+)g8xGX{HHQFk; zCO|_NY}T)*)?PWyC-=m&%HxCvf_({^n6UbD$MZ40v}*jPp4y9grclEB_R^lWh_a!V zR`1VOXMLAYKMI_HGE#O8wB$i+4TR~C z;aZSb1Lg254{D2)FL};G;E7qh;34hprnHz7#BkXp2pVk6UdsWAB$ZeO4ehN}F=vw! z3M=P?-rD_o?l98qzUi$cHG=_;43c0}P$j}M8~fgn$2h!|>6Fvq?r8zD*a<7hpX{U6 z;63|j8}y%cI6NbGL|?6iGKF{UtKDP8{Ijn%05SXfYJ(!MI2RqV9|Cs-@A0tqh?Qvm z!&)z8A;0jj)>of&9ka2&+auaoHF?s0Bs6jI!vU=md%tvP87Es{Kv7@EUe&MtAl_gVw%iA@=@@u`)dlL1e&J z@uo+${-{CRW7bZjVtb6n!OkN7zY0G`Df6?#(_^f&<$AJ-B* z$bsUZmJEd;qSyx>*BUAd_&*=lRwzgP^`6k`7!gy&R0|Ua_;MmJ-G&-F5$qFKdr`kattMR$0||fK)gA zhlgqZ(2%+JDDB^sRNs7FI9;pi_I>0`Q8B?Y-y;8o>DoWT^?8`juJgYy0P^d6{sL`~ znm^Bvr;~1Jm?PloxN04oD#i&e9M8Z`3mq~3vk(5zVyw@P@;4W2|BB5PZL3VgheS*F zWTWo{A>6rITKp!MAcdY~u#0D{W*N-i8a3>33@1>xx|MZRJCrwnTe7>8o(LVhHYd zdEW~M19-s_t$O+?!|MR6;s=9V9N6&uPEp{I0-ZEK2<8?D%BV~u5S3}A@|8yUtf*ow zkg6DGwWzG)rBTNb1@%(LF;bs5f@VySV!G4wGk**JAh~d+Z4c@1Xc`^8K>KKa zWlEk#r%gV~!&ztC7WyquYfQg&mun3pXnS9gkF+D|`Q=)()T|crC@2hOnn(J-EduM~)nkJ#;iimQM_StA7Z5$F3mTbI@gfYCuHGbbLAg4mvK#7j*nSKZJCwR8EuL{=#ljwb0VB zaydvJ+GHb*4hbF4ZMuVwHNLb_#Dun8RqkjPDM0+kFSQ3CN9q@7bqACx9%XbXQutD^ zDv+8P46Aq1rD$y)V_~oorrt%9+FT&GlR=Y`RXz7?x4$|`hq|T7gapJZ+=vc7LZkHC? zb|sb5t{K}!=k47d!p=)B2jAa!*o`zoLdS@mchIrZP8)?8S~_~mX;9M zgpLFE-$BP|`?1%wn-}ia>V-@js8>#t{(eAfEt~WO*^z4ATdMHVCRm#b}bnr$6T8+k~&G`@YH@@T>t!i{xi(9Z&>fARr!3sh` zu*^eu5Nz`yBG|NVLr5>Y_5P>JuQ}h^EjkpE7Iip$M~mJ#thIFsYvI;>sknrUxf|cT zWy8+XIi2sY9|#NLcUt|B;cIetd_o8|D6*Tm!)oULb~x=V3Z~_+MOq(8#$6#QKll6K z@3zDA$NcM$V0JJWr_rLg2YYPEzd<>34Nq}EJoT8fYpPnW7D|Ba?qx~G+2-acL4FSc|_425*! z51rED#6F$Sw_Z7A>s#MSee226M*WBSR_Wd&*~<>tZMnO_jGeamKPyE1A81dhfvo8n zp|8GlMynUHKKjyb*WLC~!_V3Z*yfNZU`x+heN@_}pMU~_u-ds0w&|-sX%mE0RsQ)o zd#SW1ByAdaKDbTL?jAyO_MQ)6bGH0RbA(KMrNr){y`niGV~nlkVeR&-jde#zhG2lW7DY^Ym+648rD!+cgW{h1SY18bBceH8$MbW0nOCfC2&Od3BAmWls zc0X+mNt+(Jd`Fu`T^4Q1zZ}9g?JloPPyc3594$jKaoqgvjy5&FA{33GSG4*e8&8Gh zwW;D&yPtN4b`zAij5*(pa>bSeOFGqc)V(3tsh#fMde{F31CeK2{|*IcaU?lQ>Sx*H=TOuM(vS1 z+a!k6C{3rM0J}B4Zu*iNu&fq1m8!7Cbk{L5zRYJ-;4_z?p1|i4`mC5<_PbKq z&&q+%rIb3l>}Qp-pD}^YWt6yT+0WQ`c4dZ(6;4%g%vz1d4GXod>S!6}bg+3dT`Xrh zzp3l>>unXsMsZaH4>QB1(H?gS-VU*sZFC5h!YO!k_zJ&a=xN+%=!qcZY(uZxGC)c? zS^fW3(EYNEnymt50I^p|!R0;c+$mjC7iVbien5lgn0j4xD;~)+^(XM_ukF%PmCCXf zOljkok821~R4qOrOizxn01NQq0)RLbD`A;odQBVlkquKMY)6>hfiNVy^%MM31zh<9 z8hp4Eimel_*Qeip;kcWbJDpDm*I5;MKTW=l>2N=$(EF*(0*O~6Ef7v`H;&L_A1jwqTMVH-}yn`Ypw7ia&DbxedN%`bfhc_Drx@=|6G)=Ds%a| zC_NrO2cq=Z6)>Z~kqj=HF68fc^w?y(s&oqbDqiJ;uLiupjhBg$%9G1ic=X0<&K3TX zM{l2yD^D&v=q(&^{u_B(;h9gCd&S?rqTW}pMmgEZ8Mse?6UtO1&MM;u! zFOAV#r%%sPyCk>`9K@cjx^Y1OV{^91;c$C`zi{eWg6Gc(2HRf&aAtNe*!~KDua^N| z&n73lKofwU%n8nJe+9sWbA!S5R{*@~!(g!e6#!?=3kHj?^kC$p=Lf^>uR!*aGGO~F z0N%eKIJf;p;QoT^;FZ#PfDn(1g3htz4VFI_t2c4m{qA=E%IC)F4b;qGd{3<20~fs$ z;`C9GbTJrSAyx7Rk~@npi_@#Pr_aK>P}GwfX7N37dZL;?i=T~yF#QE@VAF%bzE@hR zU19hsm?b=th}86WQ21alI2c<*%OchWl58L+Hi0xd18E4ag>M7}kj}}hD!4qu@Q&0J z3GT?J#_O|C@x}>yvo2>x;?^dlGp@I?pGGS5$Ueq7-ny0-)fI7azK-gx=%AKZ4_rd( zMbazSS;L8-NX-`~=<6Yz{+g&K;eo!9iF%!cuflPwCHRflj(B*MUa-MSidz%)4)rC? zil(BB!YC9j9-;)%JuB&{1HAqyeow-u+#Y|^Bt1$&ojWD#f5p$@WPKxk{#H$Y4?kzC z>2Is^ulfJx)gM<{ucAs#!Non)5>7)r3n3weTMro`M;S6iJ}qR3JWybS{{exXdXsdMMwxF2a0zb-iz;JUsAyc#Y1Cr4?A#m^&1b{e}z9-Lw`xlyTUit(5vFtf3Sw$ zNr}so!VHg5pt*PixuPmAf*@U!TKWt6#n0eHna{4J_wE15I*W@SWq+{3tq?wJg&QHf z&kEN;c)Jz$BD~28lZ0Mph4F4XTd|J!X$pynvVmr91O1WyD?TelbIJ-6njfq%p*d`Y z3C%t$OlY=SVM4RX3KN=jpGh<*+eUMKLn)et8)cZ#WLsfE!>ur($*{tN=6x$nXl_~M z5Sl9+BpQ@$qgj(*isqaZCNw`=VM24n3KN=xR+!N2w!(yFvlS*ZpXEz5DBDJ}G^jN{ zTVXm?eLZKFADF(S2Qo|Tl)%(B9SX0jC~G~=u=p?S{=6PiDQ82X~c&?wtN)9>=xopu4W!q@3Sd}0&%f2WbHVdsVp~<$wgoayTLX%;I3C;Uf zn9$s^_!(u}X!3#>?W7f^))ZS|LUYIp6PiLROlY=RVM3E{g$d1Ci_uWFjpm27rCl@g z)6&*_V1)_ISSw6uhFf7m^ShOo&|I*>gyz&*$!I9sLepWxD>42b!St1Tj^EPH;h-64>|LF}7~Y<)D|l;qWT1fRE!1}aUMs+GhQ}@gJfqmoUZVxP4Pj6VF!?q* z0q~IkeZGQO0Z(hN5&?&^J3&9t(5C-pBzOf0#?zzV!ZAD%5Pw$xYyo@-;EMzt9_<7H zK|~9_74R1UFA#9@LPzw&p9S9r_;Y|43;1!siGGFtK>N2N!9XOqE)o?RslNz z9{~7typbawA{GP$5iR&mz#jvAm4K6%C88hxEch3+Vd#oCp6d)^!+%xi&#KoUWUc{ljsVwy zvk9O&5GeawfV}{35MZxtcKWf^cJ{-7Cjx#*z!M=h;PmZ6V7B@WU^sVSmjoELs|%Rh zw!1CdMSw;Fni)YAj~>KI0NrXszXue4Fj%gDdIqs`fNmxzf3<^N#f9O^d@fKZql5ld zv**bKdE>P znetF#%-I^OroyP;>_Cb_X|u-`7d+PG-7s zo%DENgu@GAVWg?xnJ`dN+VoI2Qbha(o%AdPUWT5zUw_@He98}Y)jI?nc_eky6JhC~ zR|N?N9#QtvlUJpv9_gk(gG_6>=`BPi7&H0BZhBhf!{IHR&=5=y1@J5-E4ad&cGn+L z@jIfs-rj4ixE0F+Qv)mRcs3Kyf1p+h!@~Pmcimfku1;=2im|50L;MbRhABLe)KLe( z2u&8nXyB{SLnq%IJ$vXi@$+gA{SEy5(nD`ik!p@a17KFfx}MTD>Z$kWM(;PsSg3A^ zq@$I7ddq&!_mur!L?%rsi&p}VL>^W@_h(dKECk?##h|cOK*irv0i#D z{JhvpZ;(<3Yc5=<1lOX3T&k?@rPoU@jYe7d;G{q@d~dz&yYRN}LuJ0%2I1f=xCoNe zg2PKoWjlkTQiygAwm&#dMip66JpDoaQ@nK2`XOkhNBOdc^hf1SRn>Emdwc8klwrI_ zZ~b27S3b74K3F-+f9tJ3i=QX@=x?MIZcqndz|jjaF1%(;FQw_^n$3#GYd-|SMXf5DtQpza^tV|)n7-2PW07>$e(sR z^I`q-h@(rebo*Fkt7F;14Sc{O`e}f>_S4_3U4&|baH;O#y5gBdr{}!hR>45=g5^;1 znST1ekmtqz`b@m~>3me5BftK}-H+*wl@fpZ$Mgj%UcveC3B8*W#=f+t^y>KO^OW8i zKjWU#k08UKrzyK%AE;MSl=u9x&tR7Uzn!1e+p7RC`Ku^B=>>h2J_7Fvy14Q;J(*v6 zL0?-2TAdGmQJaH~w@SE7_oW zIy&6Uj@nL9{?}g8zgL4hFq+*GPs&FJ6Ge7lwAF#{zM|LYQnmvjk4pPPb|4DEe+qSA zG`ph%qh$y36R+qsD~_c1_`=~nJ8iJn1#vTyCk@qO+mAB54McR!!GN30<0*|HkFaGU zYqEETc#|->$dvrmq55;mDE~J@^{6oAtpCK@klg`hI2w<}^Iq@hUBJ;(-q8<%-CrK5 zC-O1x>X8u{%OuMT4`&-U_~*Z?XHyS#_UVK0Y}qm&_Q}rjoj!dbihX^U?olIFSQ#cp zu(2EYr1$jpC~wbudT0DRJ|g&M&IkzpVcahxuaD5H!4{o3QtvA(@H&3>PS+Fot&w^+ z8Lr9)j?y2o!#hX8pfBng%NxC~C!_igy^nhR%GbTGkAI*{%|(AdqTuB#hv%%GqCf^< zn)N}P(x+PXlbneKpnSq;2!aCc9HY0a^n*cZVPE%RaSY=vUhL^P2KLqho;gNOt#2^` zoEA7N)^U_&9RZO;|NAj|^-iUnBOqlMN0wsqjiW5z2%s4Eywg~{xx)EdWA%}!$E~sG z+XDXhIQ<3u3}J(rqTndsnD3BJTrKc@p_#q0C#ebr$9=ido9q* zG!FQedo6ZGCyW`wUv^>{r~)_0Cg>-@+cDcA1%5QVOrpudC^ zbtdZ1sSt4!C+Z3K^)H^NCp(oN`1VQqljyZNAL!lj_1Xt|SA4xPS+5dC@As%3*ph3! z@nncs5gVf}E&I9b8XrAbPgQfT@m!he^kn^oWZzXGzR^V2>#t#}BlZoindVSlL%o^r zDt~#39ck0UXwmQoC-N~OXqv0f}f9ZF9&}fJBXU-NPwfP)jZrW=-+%KBggZ%HcMtT~HFj@at7P zo5N*H0smyZ{uZcFV}t&WF6Tdi&1{j%mRDw?H zqWniUV2A473R>@6CCFa0)@gD!| z?fRQq!cli>EqZ0G0`y$hOM~!w7ql&_Ug%Q+PlM> zVt7UEn1B9W{b5xtIl!-djYi=2iT!#}ot&%cpnI^{tzf(y6sRzMDy85i9uRr(HYTIx zQ1Mm%)B*jP^ZGTFKXFihR?WZ0KR<~5Ro^v!_MqN{ew%-zud9-OO>owfDMSZ)$B!Y4 zUpu6yDU_z^x7c{c?+f4RbB)ZaD!iEcBM$4goKgF4h>R%>(bU2lDo;3~H$x@;eU9j@ z@M@iZ><{`4#mu~kEl$s9|HR{ZqVC4mAXKm7V9#j2`WJmAo@e{pDd;Ij`A?_xe^wbk zT0HjeVJ>b=@XsX&VH0-9f75L-ZO6vXzE zV;Q&De(D;@_ERW|KX^@_6k!jJg|TeOSbpXjxb*{m@9+9TWdi^CcfEx&!JqU8nuX7H zH}tyTwHI#a=}kXcC`;NM%??{*b+eTP?EKNk58aM=Y`&1z9NfLW=UQcN(uM$~1nDZgj=ZKXu~)^wsCO zkx9yF?=WK=o>43cGwRc)E5cZTMC&7rhtnB!^)Y#WzGyPb7uIFbFW$@bDPw;E0F9T4?~obm2Bme zDjWUPysdmtWuqtkuB~iLr{BKOM$;%O%MhrBFnev~Q=*N(H{D^;>!(}fsv6I$h1+<~SmROpUJz@%Y<;KjmT|`8f#P{Q%iSis(=L8m zX_Q_3REpwX#u;7k{&0nOFvcuiKi=qopCR$aASH``6K_<;lDsy-O z9umb*XRpys&790L;9V3YZh-R({9N=J@8V}@iuhWTV!VQ{IQZqkPw!OYT{V9)-;-)o zMcYq6Za0}}2>S?GY+!|}Meb+Vk)Hds-=P!w-n-FRF5ZVF#r9ZzS^ zS1A)XW` zy^QR{ZqA3)3;aw?BZ)s>%ZNpN|6R-Ih@UTN8Be3Ml-fpRjEm;AjhguSOKl@nnaBTK z+h~cVtf_5OL&}4-jr;MFSjXrc@xxl#jPGi(pQrG*>KLy9a<-13ReW8eKXMJNYa}RH z{t0!B$JK~Wt@KAC+2$#H!aYWPq_5V%_y>L(HZ=ORr88`FPR*vz3=cbF(Px`QpP8jm zKUh(>BH4;5yk;6YFpCdNGdAES=^mrE_p+7XW+isZDrSOJg1 ztKivpru0C_0Y_<7;GPKs@U<33Mm2&*5&%%-a5x0F>j zTS0uz;*(n$X;ySq9@WpN#NT}+i`in#cx zy!$bwdgBJb;GOt7--?I(*YdEBVW zXFqBrQsU+J8u=F7^{7$rwj%F)G^j|_qEaB=`bPuh_IfO+su_<-yq`a2L-i3gUWzu zkKRFz@+piw-5v|7+HKVJJ$^@dccX3uv6KtTHF$kbiR9U>KqPd1Fr|U$`d{v7XX^pR zQ$*ew10m- zjA#BSueayl{?izVsy+SY9aYPE6Axn-P4jPl)7b3t+C420%Hd{5$fz^yaYoJhIdYk(Va6DN1t86+InCG(Sggs|ch;)iT#AC}!+5hUWx#v> zZnkc{On#^tJ8C5#XGQI&DE{?$V`n2-K4wt(27qTu_BB*ZLh@B|3sr_Al0@uZ0rnKZyU>YisH*B8h=!wdzKjBYFf$vsKS*qHs;0I zXy%(G@?xWu&dNirVAwg9fqXkqVh3_m3F_z@z5LS=zDd)z;Miz8f7&F&t<=tywNRut z>9yp^)1Bv3jdbN*Hp&-a6>-A9{F*fC0VuqZN| zI%pA@KP*g`sU5HfpdTD;0q!3-Jb5no1$4j*daEf$3U(sg?z&JOargx7gKsP>`fOk1 z6DzVWXY#kF7_}nyVogHs$){9g-_7JprWg;yiM%q^n5GpPp6z_rR3jM?>!yPBckyqg z8fg^2gS)0d>n!9Arx}BiH!sAAD-_X`WoOCGx&-Sw#WX_<_hVgvq=% zc-K|_>krP#{`{|?xuwmQOo8~Gl9xd5FRIwggI?rm){`OT{UQpWA1g52S*_ zmLG3Rb%mn%jjyp1o5BCS-`JXd&FyY)T^i8Dv-fm22HoKcPZ6e94F((4a|8SgsX?*A z%n!RPqzhtIcceprtOy~{WJ-56(bX(#wv@PtwS?^{@>c2)qSoa(AZ0Dzc)<7zgmm0N zqqn+sHXnS@NT>vXWu@~JS;?j!G!9|B5B0}NPwkl-8V); z%9=CeG)puF+~rl_O4Ecn&}|!M$ME02G455C_?sUxxZ>T0lNL8HobV4Tz&RrP{D3nL zHwY_w^d>*^t&vJjYv{B%M6LtJ&0xh!K5R54pEejmR+Jm=3!XV_JONYNhQme@ehweT z0(}g>b=YWypH|-)Y2oA^fd&`0km0WOJEM6Z=A?p{72g@{k+kGHkw3D?XyUeWya{lR zBIB7#c7zYtC?NS=i2tleq%SHm>IZ{03mo^o@joc_o$p1encqWvkKz9Bjm8Nm3*AY_ z;L!7R)Ix=P4v2P-;m#vQbEIp1#Au42myV#5#_(-NMCPB57)1%cTqhqcXbv2|V#_?N z7q*gcAr02jx%~U1Ms4(|UTm}sZh`-SVyuAEzg>lXVW(2y)G3Ob62VQk@EoQzRJwZA zE<|UPBvUP|CsIK=d4<;rc4UMCkBK6m@SX!_4se%<^x7bH+yS47qMNcUe}uAl;nEg} zgd}wG);~ZWuss%{WZ2#>eIi3k^3X=)&R$O<<= zxY!CeL-?c>ZijHm9J+fz$Ac6vulu9%VB8-#xpl)xHQ64V!i4uFV!x3ki1TOuXgsH= zd2{)1$BkxQME@$76UK3iH+6DP31Ljf6h`^G|73ivC>Q<7C%{4IsN_awRsPyZvrUe82j8n($t$-ttGvs!GMtO-d5Lbe|K#IDA zDBk>(@u1|QvgKU0%HeZP84m&9xl<6|W4P-yB=lHb@3ir#GL8>FZ8VZqs>-*Y#%wOC zC&IOPuQSHloi~-d2Z6t&M-~d)6y9!%X(xv^5fL+t_djp6jV_$)q}_xz4tSl#&`-oB z_FTT;yz!Wd-&^O682YVRV!TPelS+)r^!rhX@od#VPMk#|qrw|3YA9v){%U+*S-65h z#em4F;dKrs_oi7b!690!B@WMJ;WeD33{EuJ=@Eutdh&viRPQE6LZCI(&@sY685{wL zaZGKq;e7rDqk3F`Bq*_Li;FK9t+DqUf6-``Bq-$Q3O}W zrJ@!2$0dlI0^abl@sIWd6Oxx)x}id#nl=Oujm7pGHfOQp3<_&Qgkwv48G?cikEL21 zyKJP1;?+R$H+j-;M*En8a11&OMaX!TgF~2>vzb?ZGg8{yu4DorNPSO+Nq%H7d{b~Z z@)8^%6IZ6E7)(nM+qA+_8QjY7##fBWz2Qj)OJv3CssR^?>DA$H3w~lEaQw;6D$5q_ zae7AoN!coPnm{+ZRIe-*o@!8PX_+Vrr?BA6bvJ+RijnqkDGKr&ldm#JN6|=VXkjVN zyEmg06}6FkYJ#{3c}<)v+ry7vF{<~p3uf6?f#jg)zb*0MtH$Fgq8G)%D2@CalI@oa zv?4~wp}Io8>#EUAnatH|M)d|0cS+w#wH>IfU<#aX14Cd`-$_Y zn(Ff}kYA}W*NmFd-ze#zw%Q&MoG(F=(iPHw&&J1gnH|ZAx^V2|U>T)O)RBwaX`_B0Mw!p* z2f$tL@d_TZUtLfQ)q;L0jv%s+;J}w$8>52g1*lx~PdE;O9p$4v7 z{p2xIld`E2ro;WMTtQ;`#AdmWU!?ZcsA#_52CiOlm81k0LWE=jnaEw8gKex2LR-o! zO%Q_9C~$&SmXJf!{XbPS2P&OPKE#=SWTs59*!_ayg~RZeu*41r3#TaTTwiw%gl1RjM?4upOVgf@}4Z~tFn z%?I=_QE!MA&KD<{@%l=z%5}ay$!sk=w^P@EoKE=c!~|DOb8xA_a&Qy60RSY zobayX15CQBFr`3`_blTD$>yui`*4hzTzhL|u~#C9@3slH6d7<7k64j96iTT=yJo;; zd3Obg>42dak#am*9V8M_PoXeb@mbZ(t}sCyuV&V)@+-(jhY27eU>d{;1)Qax$CJHg z^(sGFAfO?4dITz($NPKDZt!}S<24_L0swda2`&`_}Gai_-)9#Tj>V?LqJ5^TOfFbF|A z8G>n!wNChPr}-9wQDlZpMfi{cI|GhQYNQ-kIs7;4n*XC1@C>MWe&;XLH)mCVmq@JJ zPCC^N{K1CiG+b6ib%jRRo7Ydniea3;XBvc_9k=}+^Brh&4>U9nDr5XmJl|K6;Q1YM z&l&W%*jpoonvP4UIREJx$2T=LyW7g%kTlc9+cz>}{2iN^ixlM#|LLaY>-gmZo15?A z=SXv)yvc7hH&^ty4E0gA%BuerLns~~0&Zui4V6t!%*N^BeijZ}d#)NOVH8~e=A#eT zQW`3o#RtFM!i;Scln=XqAPXrvNC??3a)}R7GIHU=-?^o^TY1T@$9#}YQ2vVWV=L)x z12>=$8wk;X%X64OWIt1Mio$Xx7~=U0S$*m$oRy(kpx>ziTM6eip5EF_RIc%?)@Fx? zufe(JP82K?pj}9SsNI1mQBR60q~Sw4h?RB|HJbnklx9a1Z`cN+>ze<8HfCKd%4T|8 zx^jWt{pt6@Z){7k=me{0O22_*xk+;@5-K&O>9M8|ItYz3aVe`nc=V$${zV7#NeriI z%#3S6{&{iEc=)94nr8;2HwGU{6mBbDr6s5snTx`0y&NzIXZUJl=DcbU;7+N+{oYsz zW7-5o0a(zDCJElCquC>M#_u%$Kv2uotWRNyL+H{TrAdK$>dEG_JDO>g;mSP>as-( zlVdTxLPWgw+G}){j@*x%ui-F2jFtTVslasj?JQFwrc^PV{nsVlULbm&sAb%}!1Vv3 z(L$)BkLU>FZH;!`PDLlXjfzg``9R)Li(CoB+f3bdz-ey~h@6=n4(sz4{bpDyW%|En+B|<4n#EJCmX=+;s zS>B^*X`p(R@VtIzKj#rVl*=A9qj_R~GfMs4$2&Y~R^c7{oA)WXe0YDeEq*@hZ~83I zzhPzk{81(CPkj41_{+iiZbFASw(_RR=>KI?5x{&21J%Re&nvGS%^P^ORnzXCKYLMM(`BaiNPHpRTZ3R``>T6qaR$ z=ge2wY%Ba8Y0oQM@ocyq7)B6^Dfk_WJkM&gx&u3zxYbqzOKNr)_ewc7q78t(d5j&!>1+VnNh3!hyQ_Jfg0^ z;2RHp-s73b>yI@%rsq$FwnyKS!a&r(*F;S76it;WoCli?!*#@rFm`c~!WL>2MWoEa z4$7jy*XmCc_Hp2AAHF^be4Rnc#euH__{tSu?WvfrQ0S5Xuz0S*mIl7A&kti*-k=r; zP%o<;=zlf?SG9NXy5r31U8jbLB_h@?gN6R$$qskJ)P$8d3D=VxE4#{(+kT-PE{*Pw`I1X6{PB3w5Y9Y^jbkafh$ck>!eStG%%f!KU-AO3>)5*r#Az&bb$jHZEW3dEi}YQMpB(^fm^o)24KShSihyU^;$ zF`^@PO*EUOqa#g?juQrVq>A*&!Sa45Gd6W2ncS^U^r0&HkiOCRNS9eQo%}3Khi{}q zWpaYkDZ~~XWt5#3afqP4K~n&}O0}o3*b5<++$zHu#?YR@aXWo{QwHSE22r%!8N4ko z)l+PgIFLGwtraP8yE8&}vn=r;WLsH;)TW?J(@Qh4ToI1Y1e41A5$PBSq<`zA_G5OZ z>SckOHNnkzYvbAtivx%fw^tBt4#Kr4fa|uT>6ABTm?eX$G3XuHNBM${45n@YaWKkdzA+}6L76&2`VtF$1xQI+AObD{&GWKL3 zDMD<8j64&FM2M}FktKmhgxD$>c_|Qy5L+!HuLdF!VryjNbr~5C^awJ)jP(t(r!3zv zesdB`mh*i)%kx1PyJhyEZ#Ho}cKTd=_6KIwr*}7$!yO$4ZorbvQL&0+VJZaVAkPU` zstIa=HAaQ8s~8r7MMOdqW*?Z1Absh)10{fQ`IHN1l&CT!7b%%%6t6tltlk7eS4T2k zK0&6#w4fpr%Z2rE8bGL}2$K*V1k?>YQ~8UN&6L;=!s2m#di@?UvXU%@4gs6IXCt3G z*^Em+g=^v!SckzlTY;t*;(e6co3241U%qEG%LyXPn))2wCa~ zdk@OMTq{$0@H8CH_D`m{2=fT5_770IYXsiN^6~5`X7U3|zzp~+Wd|48bH#~y#_GXrkW}7NQOEJ&-QN5eiyTjl_;Js`F&H(*rYWi z{rAI6D+thCG~Fo(jXLnxr<&E%tsVwH`cxA6%TPc3QT-fr^HIm-I(~uOe1z=g-`3>O ze~{cR(_~qUHMM{Yutyk}fmpgb#{-28oa10k2`$(L{cd4}OamE24XEB-US-0TXH_De zWiH^|rkORuWW^E9-dZWXPVh0J#zunpaily4It@6 z0SzpG*##_b7lDTefQ6cjO*i_;lWhy9w|OW!-kM9TPwVK$%?k7_loz+v7)V8u(GL2g z#&91uqifjRfA@xZ_PN-IaeOT|6Kn26%|soE_Xm^31;0Htn7>d9&jA;xhNNg&43C;_ zCZvxTXE)DlH_s!QhcidkZ>-&1HxS{>qu^}WPQonfM)d|qXs@O?Wc?9Ms0Twwpb<|n ztJiG7MvY0oOSj3PgKfQWR+m^2&JGy=!@w0}1f`ICx8RFDJasTn41;csPsuO zGO5ccNIC*u+yRyFUZSTSI0*qkYC;RqDH@1wk^?$bWsaW2-edXR8D`BI`^QS6kWm#I z5_o|Zn=0(kSV&_~nkIXU^!S<3<}$;?=871{@-TwCRBEBh0jY)Xr9c&BrWVWgJ~&?0k%hmvTWnExJGK7&?D|T z)=3kVDausF6v?p~dUBRoH9e=?%AluwLirXwg&=hd-rGV?*&QPb2-FpyW$OyYuxe{9 zGHDXFC6j|+oMk3Am>w?7d069h!Kj3~MN2)}55!R$vD6bwLi)rqv3-`A^e8R=Xi13` zmsFxvNd2QTY067M=|T^at52L3G-<2>D>jb~xak*N!D2*e<;p~7ZgjP=Z!^1EIlhh(~a!5g&9+V1EBF@%WGapq>)QLunNJan=z?0Ph zX0-@Kv!bXn1}BANI#5Y0XvIpu1I^GF6af;_B6#yaz*vUIG*ph}^u=xiy5T`NxpUo^)|!l}y5 zbIj!WP{njoTpga}aJxy$m5%mKf#yQ{sTyf%I%q_29+hn-hi703Djw>E8qQm1n+e!B z>z8e&*2xY>GgDop+|f2HY3VdKiTziia-f*(Y%|gH;Uzl5Gn;S9Ht~G*Fn&4PY|~8Y zy!7s`D!L4PB{g0|v0=fjQA%6$Y>rtAtr?qx2`Af?>Vz#wC>}x`qg{{cU`xmvcNF** z6D{IZ&m3qXxlSCMrG*HpNj)d(>)B+of``z3$`g56$>SpefqpqUnj~D_B{zh8s9Rax1Zg zunw#(o14brpXLT<*_o_>TuoHOR3^KX7#x%XL&^0ih=*`KtySIb0tLrZr4H#3cB&&- z`Qd?Mq>&s7^&#<24#h=En?v(IG?O}zwx~j95(FUT-vAQ=9?L{AlJ!wcxuqn{Gm|P& zDc~ca&6|*X;Nzb2%%%-Wd5wU=wuWS_Fy}#5Ak>Z|rU+g2@x}AZM6oO&X^rCQsJ%&$ zLwI8rrq8aT2k@G=XQvR7U@0-1K(>&b21ovdwDCGM!sG%FOfKREcxKDq zbh~q6)d*ZP04+-#af4G$K~2fAG{n9eCKg5f>G@{7nm>&H3%}`Snxo>DHtNG9g3|`H zI6)=JfT@Df@p#`(mo#2Mj;GRr2KFJI%fuR;GQd1U6=|r@=vOJn#%VH#6#2hkbu~SV z@VipP^*WWE2}F%f_o*V5c_7X4R4<;dMB)evZ?wWRyl2WV3d!`^rOYjj%aMg3p^ujq z@V*tM0y6QyoG6%O5=O*K5i#k&1>>cRDhR^9C{TJ%Y3UP#O5ce$@nnfP!)5jzLD`p; zX8$lyxv4?f3uX3nqNb=4v{{6$YM;^=uQ%0qfuN8&CRJ|djJo(+;R@3`uKc& z;YVi8s+530bRr=|rM^Y);_}Lm0H(iBl>t^Z9_W#>q2i#LVCCXXCvdeVrWp)&K}K2UCAQfQca$s0Q}sV0jKp)|`Jh%8yd_}Pz5 zoXz#|2R<>A!civ(sRyv|0>8fU36yFKAaLOW2|!-~&+>s4EslI3Aq8q}LnRzm9m%RN z7YY8Sr@n+7^AwO6x7(SBu-&!>2-|J0;T7k+Kxm08rGkYag`SGR`gpOK;s!N^N<&Ie z)5YfZ%1K@^*Q{9!avC~h9!&}qz?nuFxFiGkBI5G_xj3qDf=|pfYy78K4&|B+%q^hW zgAoe9xx|c1EDsm&u*9q)l6TcQ{0GS=Eiq$b&?xLB(2K)h6wG8hfen@Ye2Ljg*}|_b zF{{-t4=1fAy?DjZ%Y2yjvv|j)X1($=h@}n_LJjoce5sjS8=?kXjvY-;7F0KSNYqKS z32@Ae^MYe|(NeR06KIy;DO@-xlSHyN&d!J}5hx;qyrl4`UygN21Me#=5&pfZEI5Aq<(O?mRS(GFz2o0L_U%c=r)c}Y$TJ6F7p^$Qnb#V=x zS);mPY(a#d;)To1YESRRYs19g)NfFIVHT-DEFsJ}4mau4k9cVpF3`TqqwSH42GA4@ z9h{C;S|bKD76WJV9!Z7=^UN%DzmK2EGdso%6FF@EAqT`^oije(dAZp*`lO(1MW-XR z0+#rKqM!0H%gyAb$mK-)HH@Dyvec_yI+_o)jnG?#!Jz5%?4{$4q|xl>hnJi2@n2&& z)luuD3d1ZyT}ihVd3odt^B!eCZ@ebZm2E3Jsw#Xy!%K-V#HY$ zp+>M`*>q6>X~VY_D{9L1m1b>Fj!L^dDQ~^XtZ5Qesp8MCGV8^BF--Bg(Vr=T+tCMj zoErpmE{~_JHpjzYDS;~8^NeIJdS>W!Bf$j{0DJb})F=tq9Sm@ao?(~p!Zh)W zOpT3SbQk-oOeBuH;ORXodFHXQiEl+(fE&eKsf-nf6Zn?wxzt@{F=7uZStwp|B>&@;0fsR{1_&&ehTyK37 zQT(emm=`n~qkqX4<_YzFS_atD3j%U_K|oF~wBB>O-56)$+#Nn*tS}S5CA9Pavwm9u zfnLZfePz~ECi+`_WzJ9{GC$Sm(X=UOuJ0G#dkd}}UEXXycxU{pX{)~$%SRdsXb03j z(Q71ub++y_U>+u5l5Xcwl<{RVL8|brW+R*jZ@(3@-#-5GR;Vx&`NXYey?9!VkXo@; zK{tpd(!bd1-^cfDHP5(dhk<&H=A&)faB6QNZqb^5$IrjF<7DMTK5M%<2}P&vFyrb6 zRnUnF2CC-_uAWm?Z|Dv)J|LSI9UdMsLxjW4JBZCUVz9ql3!~9%1 z&`<_@xyKIE4MsZ*?ZGp_|BB-JF+7eYIjek{S+Gf=LhMANBZow~?u8n$IMUTqImNF= zx{_Pc+#-$Tm@0xnDn&6eUq&TY?S5`k(9 zcqtx5--4e!(H^nXWmEti#~8ntu18A!gC?01{F%zGDs7g#XhsHQXp#XHJSd#4+m5tu zwgc~RJ3K$YP$plM)?|t6f2F&{Kkz){uOy5g9={1yLl`hTe*R5mSKA0oG!{`{p5oP_ zUH$9a$R%TB)F71ES#ntkt^rGp8BGJOHjYS^xs=b2c6C*M+sRKvyILpxzKnA1#(hLM zzZm4{EN-T=U+}~>39R;2T*uQ!kZdOL?;9@H_aIaB5SI6oI8a9N3IImOn%Icp{J|Jk z!+wY$L2IxIWJ*K<^rZ&AP=H)Y7$}H7a3;+vP8{$SQjn^gN6)hZaV_w89^V(^su6u+ zB~^GA9$JUPL)t~sJq5f%RaYl<@hbjMRab8{`wKp|D%kG;|GlcKjrwT;ZxQQi(P1w( z>&UQ;{a%=6L~meD$1TjR5e{iWZbm)S72_Eif=bGP_(azUBOuR>b;UtZ*&OS7Bu*$y z0W}6ghFq_~Ae_OQ#(}!iw()o4VBpx#v*TQKV+b`?HWtnUv`vjV@FQ`q7)vvP`;jgY z=+Qut)UA>6t|zIem*QP%$|yc79xb24H^jU8hs_Ctc`Kc5oyQXrTy>nsVIc2t;( zAWe>8G@?e>f%cN*tX3LVjYK%AoL_?GM8~gU@?#n9eXHo*| zcy0c0UXb8=2g~zytl;<&8EIW$*`87QF#Dqm6=|O`x(;I{l2gYK zpDg4NNv`T~IOv96pknOJ2Z$uGrO++O)weqK761klP?R`iLPH)_e=8Ot{#lYMraPJa z(>-fUSpVRVN5HXmppYD+v~^&?p^;-_Orir~X(`6wgfPG`Ud@w}U9okodI51dT~T1z zCBT4&_Yiw{svT6=)`0%$WLN7hC>}LRb&(0?L1I}i?e?&YALKNOgFhH`$RKNm>wDB9 z2MIOM9zX~e+A=wk?21u~#`52iT@%c)Qx)dL1NmdCxfv~B^e-953AP>$v=mdtQ)(GkI+=H;XWj_{EX2^`$Vc{+5!c88Q zJJWDDQRE135s1pLqng`Mez;VXshZhQUk9R^+EM4y19464xUqQdMCNR4M@`JLqZ-*! z*WoHvrfLY4kNGM+5J7$tsDk?z+Ms*v)Z^_|hNsz43q({jS{~lOjysIA6eyHOR(Hi$ z+G-6PHvSBlGT(vtHq~7XyMBF|h|*y&5v9JJ^R&!KWMn0917S39;653vM8nWYCf-AL zmbM(F_0AHd!D$5*SI;hPy6nlIULhABWqJi(eke;_JIl{GvhIy)xY~95>MV}v{)$Z< zT(!oWrn6lm;Q3($mbo~gfVj~VXBC%qj6QrgtAgU{*u~Au4is0L7u9f8DN|1v#mbBfaE%OthzBu6Gow4-afY9)P(Js_PG%Oo`eNj{WG zcGPrrN;>olC83vkfT)I@BzLY%Qooj~tuC6*2iJ1lll0w5N}Y-4e2}`jo%)#7RHVMA zQUUq0^t5zt#jm6q|E)A@p3ItRXU)UmTw)kj+tpNGFcPPB`CGMJ&61YUFeW!dgeb*M zooUs4du>woX= zCYjwk8!ix9LST34O?r`jkzN$+4F$VkLw)^xZ3#uB6Qm3xB|tEssG%;t6oa4w7D7jw z0V$yfp$Q7Y|958Yy_;b0{r=A*`h2f1*?VTrv@>VUoS8Xu1_B!mz&M{3C1;`t)MQCE zO>ue+vX`^*#z(19PCQhT1uT|$p(ZPxtVocil9aWRY$!kiu_Bt}`)HDMm86WFWRYsB z&}y+VDXPL*3Z=A-vaVpuBsH?3+t}k!rO8%lO4(@+eNuoLGEL4O(&VT#33i(7SgXZg z%LE~6A6FV9mdYwGtoHVV#l>A0oW;SXm?%HVW@!tA4<1DLUT7 zx>$I*3NPNqTW(bicyHTT;Zag>Lcm6u1&eMPuD8}@ZzjJdOUqR#uyRnPeV`^JLb*wl zuE*}O@Y0#gN?to9=38uKHLM;RlKj3Lg}Dj^2YxE6HS<(y6&tW}qFsGfKKZB=wdp>Y z6*i+3-fBzcNxTVByex%>^F)O=7mFXNy~H~l#miQB(03KyM2q&oYit#Xx08qvu#{FP z-&xE$paCn>*q$tKDZrhF(|emCKmAFvi%LrF;N++~sF+x+MAB9TlV1Eo(tMTFD<|m6 z(1)xnKCmiSydfK!a#1p6s#H+0RT7MYf{C)~xUx8I%c?ThDORzkLo67A(Q3|;vjjFx z&_GHlYk8@_d`$D)nxCO^YNY2_d8<-_F`{%MR??Tz1nIEPk}DcCVtwOCH`I)!VoD=c zx0li#!?94(Vo6EsOv@osE=gg7!LaoO!$#Dra}dscaUNpgu_JjSV=1m4T1GHfge20Z zNNmhPm9Cyts$oc4NW0sx_1X3k+ zl_-c6INr%4^${;<91-_4VZngPw~3om9%4uncJnogGA?;yDZ#E$lyjS~($xwm%CPk+ zq$o?3)l!s2a#NO63i>VTf_({WV&lZ0jK`q3_h`!cJdmolc6+4~47(Vru(tyl&CnN` z)g7CBK{6ZtRt7=k_ZE+VnvbU=Wq{n-QyIbvO>QKTGBY3q)og@d%~%UJemgW{wdnW7 zX6%-V$~KiAM5h#FVN0fJwBw0d!BA~$GgdhkxzqQRW~_ScG@oVFgEYZdsq~X=8>OVx zPHYfM7wjHTzbz5B-^{9&nP8cx$%+MCH9QR0hbE5{X*aV;NgJ4%Canl@j)^Td59y5S z87e$sq%fPaGVaMEBlkCFF|@lL)WCic1(|OU&$nRrm-vQ-;$=`!yXD#4ty;q|-|iNy zhxU!A(UP^n&(kg03%C)rt0j9tTN-K7iZ#;okv?2m8f4JoO8l!edmffAhg!1~Y_mSz z1}nRT;@vi^MgT?+#2*6{-Z}&U?@SxkrF7NAZUI#34BuLf1kBU9$${fju%= zU~kjqU`fE9#T9Z3Le)X0pm%&bR=L`sW6n+*-E2_%p)T_SWpa+j$07~}f`}X7b3|Fo!k8t{H6#TbTnL)xw@B)}z=m zLF2IeTpc#1_`j;PwX2|3`}K_N+ElSsDDJs$m~l&*P>HXo)>eZ~rj7o4|}e zT6^qlP+ljRsQXKhVbYuo?r5;TGY0hwL9q$O;l#MVYy^o43=5enS?WVVYyAp>A)*it z+hSy$|6YO!QrB)4#}LMIxi>%@1R*s?@5e(;))+y&&XqZ%h|fu{aED zjn#5H+GD~H*H|qYcVYEot(zOqbYbPq`DHOT z6{p)8ghoi3gCd4@WjAR@#geY9OKAs#q>3EU7!=1uLO09|FgowmjSbeei*4Q5qvduo z7@J6&bj;{+X3Wd|!kD$Z#tzY|J7j387)n12#q#c~R%J;*4{^B1EJZtfsHz+FUrQd9 z%p5Ky?ercjENb^)#mf-7#L$Ysc%=}A`wtimqscvghztw=tpyA47J+eRAq;GrUQ@|3 zV*IVFJY;>=tt_b=>RJiTP(lp*OpuG1+_rH1-&iaT-io>6h$wy=OVAdJs<*LQv^3H0 zHrAxrVjMca=ZFTIBgm3txR=c;Rb7K(umO&=bSUm3Mu%!(AOwAnQs@W_eQ@zM_8!eZ zJz2w26bg+MA`7Dj!xffIcs_4ePn>Q5^GZ*4Ui(U%>&0G2f){RQ4N>Qe+p$ObrPzEs ztE5}^0BAc=Xgyg;QSuHp4ybePkf=Z0!77v?g`>Re=IZWO$!uzq>a6%XSuIZGLu^39 zG`N-adZpC)s+N`hEI}P`M9cv9cr0O9iYJ4&N97+9S)@odu3X4 zr+u9!3||v66Q#k)JmTaYth93Qnz;%S^J&QIMP|Zt7YpBMnfj~hP^Qov3uFpG1igxc zteLOUYce}He6=fzafyC{S|#N>Zp4ig|GtYgPq0KG+yy$ul8>^51LB*J-H;IGyu=XXtqcr3OWx7Uxr_xo~7WbmZ$Nvy{_+AD#hu?{5 z_p!0=VI##&_p@%L?MgxMSGoVVm2w|@KNw+^Sb0CY{f{Ukw-8E|2Usnj^m>3*t|;qK zu-F%=UuA|65#z;#2UwkyRj_WRKrE&zL-#Z>_d!|*y-74XU>cGlI>%Dg+V&5Dwjr-` zkXD!vuH^#E+mZ{w4TU;LnUbI<&GdM66(k0XKujfWeULT9TQNf)WDQgDHfgAUT;Sjr zTTmum5tmgmzNUi`3c*9-_`=(@(V!j05keb_4$^r8A$VXn8nSl}wJo<`P~>+C!aKk= z79PnS8$u9mI67I4_<^wSTyZq$>P`wu#hmP5eYB2(@TPJ!XqpVdeS&DvruBq{r=O!i zOTML`bQwfGNU4ddE8zprQ%AAhp%5@#G-MA>j5Tvv!Jw@&D7#?LS{byiV9+=jlv6Nh zYJ~FIiATbt`ClOl<`%@-M`u`h1w$?nPJY3V9fWhSU`XUENh|CRI<)#w1`U%z5GJzC zbc@g>mOR9|YO5wajK1Cs2NCR5%wtm?W>d@V#8ESOAyjWz5WC9zVLQaFeb@(>#?JS_ zkXQ>t`C~PKqQAWSZEH#1-~PI7o|e9EC|NLuQC)jWN{9J<9&w zZ3>zDCYm?`HTUVzOeI7YEH4-~L<;H-Cl1#`O;F5^Ofl(tJLqLh5qlqHm3&zv`=+ zi%!`wv(O5hRG(9iv!`oXi%0Ug1civKdQys!;gLBI8_9HPR803^MxyoPpeIJ(46W@Q1|Q>-kkITD{@uejrWLZ<|vsfm8OK?6S$g^ zA@E-$p@53>0oobfQ&v9Zl!Q|sC$J^4KASla4{Yva~DFPqC=Kyxh}L@x;! z8+1z(TqT#ev~&*BL9>Mr)l1~WMUy6s^Yp!RcSahQn5Qa9W=@1_bSn)61I~hnXIY16V?RGG~dJs&HC807F0Jg0+B#O5?Hy zVYi1~hP4L1?CTwON__mG%C&uwRe}}ZV=uDWv2zg z6>TL1#gI7w>A`T79aTkPV;J&KmUJszUUL;!Ucw&IDDl?I>_z;XewkIPunYb~i5U|> zcH$9io&@mH2HpEJmyHxn{>6G@x|#4VRu7ZUm;YjS7ylzt?N=bi7K*#*XQ_DW6%cH( znDq*)ogjw@>1nitgjFqc@5SQ4E9@~WL^}NsdnAPxB6Ms?3lVuO9!_*!`kSyV#5yKb zYWld@2HO${KWAH4=AuydVZ_ zg*0>3SRZ+u1nZiboIr4a18p%0i)ISiiUPICNU$KbOgd6TUS*ZttHz4Gud=H2!dlF~ z*{9F07%6XFqy}Fi_1lKBT`wUI2TXnICCo(@7<9i#(~3exsVOfFAWt+XmcoMa@#|Q- zJv1AUo?0Gbe#J-;dW}_Ww@e9cHx9E&!$4AOfsqa%mv^SCD{P&DSU=Ll={0@$F;_~4 zFg@~CBG_U0Yb?3?0USF>`w+<@#JR>=TCB_MJv=}#)(xRg%=7(gtaMe2cIZT!)W87y zXcJ5gKUk*HTAXnGuR~nrI}Vs|flJC~bEoB*2h!&(E}d%l3v?wzaHPq$M{drwn(PCL1uHn@of$wPiXkH!IL$%;qwa_`=-XV63UdW!Nag_Rrj zMW(t*w}9sgs9$C(Ie_#S(|ut`YKSEniX9XWVra|CLqf|VceucdP6n|}IC20QQpXz8 zh4v=v)JPSHqY6n=2y4>RR4a<(hMW~m`&=j)1Bm7+@y44N!u!RXH(90XsZ*ssMq)-e zKsSfL;LSx&-Yui0ILrXB>B@hTwS-^rI&ZP0hIsD>(e|4TcyPBG7z%~sZ;vGNoFpPV z(uCu<4e%0(3w8=lw|7L`(1Wf-J&PQhmSR`FsA ztJ!|5zLdHY6l&&vOg^tc9f66oiThQ(0!ji%^D1@Z8|2TvU5fchMPnF9fh$@HSLCL! zGLM6U?evrY7a{b~9xax14vY1Pzo<>-VtJ38KpFzzCem8AsxKU; zCF+L#Z5j{ALVZ}xrd~qzP*Zswv{371{Xs6;r`Ce5;^LRVEXk@w7<&qG=%E_kqN$+@ z3gTvzMJt=s>JW}-gp#c)Cs7TEm5ZtYHu%ejUQ9R2!kLWWXX5$5^{e#T(&sFhh<8**exzs zYMTde3bzc|!n57N3G{`icf-Z#MfhUNLk5N5pEx*_-CVhFLZWfVPrF_#WO^^sugDPQ zJFHwwxa&6Fr`a{Da9OyA{J$&9os}UfzQaoMYx54rB819$`W;p`1(ZP-^$+#AZ@(KzHXhoM~jqe|&?pV1tJ0Q^(6L;yyeBL#vn;KMyi z#z>D)7c<1}5iF?&c}9ThLEGJO2bd1sl?Vvq{4ogS*h_`wp#Mg)GD*2Ie|eS-HkD*T zD?^+})oUdCxF*^nuTdsos>SxR>@k~mSWHTaq2q{R)km=^#SY30L$So!=mqiMC@glc z$fx0mOs)Pyu@w2yC|380Z)FM^CFyF_?Xl#U@3uz5^$VF%88eR6KuXK3Bq0^@wBy*c!5pFV>q`jNAc*!4mcPl@0He+s>!~;h>XwSpBk`odXq}UI99*wBAi3g zIwsK)1R*)|N!f@tKW0(2sZo<%KC z$uLdVDjz_&d!Y0+5Ewbjejowt26J0A4$(?qlB8(eh%%*tj)4<&1;tb2SeaNCNS&V{ z(%ywyj0)lOLLPq+#d8&Pi3ZSZT(q7Es_iIhnd}s#kRPa}U1#bGE2Uf%p**CNgjK8q zF(eyDtV`P-fMp(f3e6iTUp3xIaaTBi6%I)Sg;KzOEBx9N@ZSokfd5uN1^l-HD&W5r zP}F~`vFYJL{#y~5JJa#sx{2wVG$_xurZ3w7B4NpZI%*cDQUFMSW>5>!Gj!;N9pC|& zUm?6zY~FLMJ`iSeC@SQ=TRT4RFtxa`3o%`3oD z)^J2$+uEtOxL3YyWzxv-ql3{kq=SlECt_oNzvw>^tC7hfZ6d4f9yUj;n#h7Z@)yez z>ENDj!okjkcuww(dd!m)srE)a(xkwSm$#{LSuPB#JGraskv9}0wI;!I$=onh?N!Uu zRMf#ZjqO2_WMDGlyWLG_H;eKLQE6snT7ybe1OXVu3&a4yo=iC=w~gFbyVDATSP9Fw zniw$DDyZU^oyr@7U{a4hkl)9h1X$^L{($XG20 zd?gVt>rxa`kyp{0cCPy{;f}40+Ger&*q8L6*6&Pa|D#Wp?)A`)sdI$yJyta|5PFyu z2wQM?*CT=lHQFY`4L?Hb`5t>t+ax}Jk4<#vOc!@gVYdUEH-+_b=T8@xr?3Vo^o|cl zGi6<9S?mD0v@o<|hT#cV`+GXq>tVSiuk_#)cP0nFrZQ4qG@Kz(FQd_P|0@+|7X1yN zCt^iJ=!m9y7!Myo6(js$2cW_pht|(NnLqSf`)d~0OUN+O)ecV0QPjsg(~g{0phD^5 z%=@gN?^7Ps>bU5|mz$=tdIi8Ir?QR(z@<}J(*ocxQ?VpiDN0Xc)vH~^)`2?-4Eq@; z&zSPgQ-alQGa4x#pT@e73m*L?v`Ze$lH4?x$z^=lrPd#lrK3esgz=?rBNJnqi?PI) z+Az?iL;|V6zNkIyPe=$7fpkr9TS(Q!v!-9YZw=Z$}`x_5};k= z$7Zm~m5*Gdk%mD?jNp}n)0|b?9_?;9+Qs}C>|QwUqDBACYJ@I~bQ}lZc5^z)xDrWA zXKiA%d6Aqstb(S4TR4%C2Jo*R;H{!>r$$<4!o&uLQrUCa6Zok%j}6miiL7}nAp!jY zT7jalQ3p|jyuWcYvU46wk~zuCO~@&7RwB7h-{=$geAXfws-EHr<%z@bPL z?L*OJ0cto?3|YWBYGWhcEMSc_5Jg*ro#&q;4HmIkZd7O661EvXbCqX59%3N{v*YA&Il8Z7hhcxMj;nmQyb6mv`2})uXN?yv*0TSh-_~_D`ZXyMaBVf)XRoe8VcTYx6BrM7~z7 zBTKfh0Y%kNpoY&z?%U1`_qExTDk3|p>XGp~**zXS-gSI8_V<2{BRgE0m&qh%zrypdAV)h;w>HxK+$o+|}L@o%e z>cswdh#fIc`k~tC)7_c@eNrtrJ#}0b%~UVN(Y9NmDuX-fxDr$&MBEYfTUERFU=ni; zu1sy=Mylm8kLDo%dB%~RMf(9bbZ&lF#A^=u5yV3ursamrxR-6J8(a)US@KqSe0h|Er|pwbQIP zWjgxw|E45S;tb5>fPUK#qsqkKf?YfwbrA-?2^zxdh`-jzSWtN*qyDY91cO>z_F z-&9`DSfB0(OFwA%O2~3wDB&ZPwi|IeT&SJ|xl@i!N^qK$82SsLyY`>N?+?}O@B>+S1! zkNu-{*e4~!KSqLQG*SF<-;jTl1g~ik@wBg=B*dndd{XDC|E#Yf zRccdXe~^Axy;?YY;LAQdmjfN`--W}WQY45z&-s>$t!ug-DLzy9hRE4=#G<~Uc}{+jPDt7j_4S!)ndEEB}u*L|ePLc2^5>$0(!S8Vhr zSkJ!hlS(_7>iSrbE3fR75R&Gf`Ui+9;U+Pza@1zF>tVwYvWQ1se$=} zi;N~cus0>o9#Uj{1UldhO;jG_dycUFxk?1267|oOKTZ?*pZQ|MOCx>5|5-|)JDR8Y z&QT@mjZ>X=y6_T5%pB*eapYpRi1ZB7HoZ9{;Vy#f!d^ zd=3A$GB;64SiU6-SVGH%w>^rYi>b23=uIs$g0S}kdeE6vnu>Z%ZJ$3Q_y=sq_@<&cS|CgveMT+gv*NQ{U zbztXxU#KCr>1zO2zfio**A$IWPxM&rlY0BK>tG~^o4)d;i^*$!@#2LqeD#Ux|DN*N z{4GVDzNQp8>0gg_cBGUG1t?~RCx}+05a3;fQD-1@EWKuId*lS8T( zR_9vc=O7MO5&ryvKZKVOGY(1#J?W=E#3hKjhkV^dt<%1M$lb4^|Jtm7J%g-=S+)Hu zvwrihC&O(=6jT0{)$A@R9la5`UO4s_=bCcDHLdkw0wM7RqKx!7$|aC z+4}eEVXV~sdL-j_pHI_{Mn1XX^LXLO0lyPP%@}`;$O|5SUpHbl$M`3BiQThH`J*FK z7C5GYUmn{Os?sLEUu~vPJquyf*8Q?dY32SbqX_DiBFAp)fXeBicz?xsn>4ToFoH~I zhkXgU9pj;tptFB70ea*{*+D~g^M zd{O`vh%6;OE$NqQ5!An6%7|9R|A;0cCH!*G{?+-8E_DO)y)h)XIq3#e^-fJ_75u&a zW)8eni(Cl$%V~62`b{l=Bhja_zqWX8tS?S{Ueg~D^(y(zKZ%PMGb)2wuAex5Qq@0? z7k#V!7lbdW{}+TxHH$)sp#FYpR|M_qDE0EsS}KMFYkwc{TuXnv=v2=yPq_b{(v~&&J4>t4`0p%jO4GlyG`;!XR~lLJ zh#Slx%c+c(Z4}R*YNJ@*Xe(KMQg=*R%iH+nzU}%y!Rg%Af3q_u(Jk|EjL;hT+4u?4b%Q>gJc*ZF{=e1lDlX?^t9U0Zb zugS@4e{a=B?Jm{EaS!=RiBr$2yl39~he$bJ=Jdhzmwm6&zYC;H5HCF7zelvV(=QJ= zZbaS{?!Iw(Yxmx`ybs=Yqw*d_oN^;b{ou3yfarWD?qJ-I0=kHlhy8Ms3YD)YPW4gj zRQv@npx)Onw^qShI4*f!4K;A%pP^0Zqcle_r_{XukWr*oUw<>H)}g>eVLYwM*z{P@ zoL?kHC9&}-e-$D~)-$S@0?Dzx)ZgDr=#M#FU1T1G##fOT|C>@U5CY=qXPw?DGNZqy zs4t)VI~p|W=^J0lP>YpsAh9rNY~gpqO1VYUdfpj2vXmI-gb{2nmnzo|oj*gv&?!cY zjmz#Y_$yf49X)6)m}O+g3;q&bLYeuxnpsi@DMfI9iu#osB`^HTU!0Im4f=DWSW$0; zUmh)eKKRcuVyy|cIPuJn8*Z=uCta)r+nZF>}dvA_hjT6VdlG|J)*L zh3YoaBJZs550LBQ-&QHTAoRKV?fkiaHd-0^`Ex(+f9A}IF^)%m&Gs*HhjNzS8xL&b zdW@O#Wr6Q)@;l8d%o)Ctk=!-@hL^OTMZ)KLHQ4mG{2Z3N9G3UW>y*nlDQ?f!E605~ zSYD43Z)WRXwv<=6;FF&ojlgtN50T|d*g=ta5pD?j`->;JzQmkkIuB=S*E(>6S_9tMxuLX2D#r3;UWO8nFPMp zYxAG{bkWpw!4L4*NQbZWuI@7M_Dt_*;+po%>U2Yg?!k~>+7H(2O-rTA8(K}=)lrzb zqNf`p#F_Pa&DMk`ucqNvj4>Q{FzEtVWy>d3Wojty9-{(?cDDsVRaRkK35WBmIpY2e zdL3zSV!!7Kr`d>Y?~ux$<5e)t=rB zG``bI`6ZyP@zniJ|Eh}R0mpi~RJj@p;YyL^8i(Ay7>7jS_xi9~zNur=jJ#D#ui)?+ zU-*iix;TXUXw>(yvTx{BE_pGKT72kx+>#qB*halwrQ?3(6jO`7E~l9XqOZ%*BVW&M z)I&rKN;_er-mKmUxTtXIN7o&KahbT1Hq%G9h4IobU0L!NQ7mzJqh78o`A+socTYPD zJZKC~sgtAkD4qv?_7Fvz(XA(>79(@?YBk%HjunEfc9cx$)*T7^8n`GFEQ^4&$;A;;Ca0U!|# zfO(?y9=)qJH_~^H-cc)&tK18b4`&Zuibz3&)RHjHj zq?c-7b;_T#tjI#H->{fMg~&c(e@(;sT(@Bwl}Wco3v{6&3pI1p-B9X#uX#3ZK!|+p zd98j98J@P7YP|IHVm2;${&-k#<)M#?NA$t|=n#p_Kcau21@iou^IV;gRUD+-!$)Ml0+jz=={^|}>u zPD)ur6BG0kNK7aQ+Kae#&7U!IPKtB+dZ^4!g`?BE4xr`)lIys!ENY+DE4cC7{j^@c z@(hk?a0VU}a`#g&CU|hy+$C-N%zaMfooyCljCXSxf>r{h#2{-_Se;K&) z!gE1zm5NS>7D1grPZvrh5K~mEb9y*-E_h<@oXF$n^j%uL`BDp1ZU?fU2a=0bnq<+d zP26*Ff=R6#mn zq3ZfbT8$K&FX)x1s0$bL=80BOUYQ!t-Q&Ky540w{ZWr~WCZG@6LOy+>^ne~!q^ol( z1Ld11#*3*J^|D66=4+JW+KYM<+vzO0>uq{T0Dmp7l$b%mHkc_Lr<3IMK{>&J^OqOM zZ6rFD4np8&1T=&~HP;_PiBTV~l0TGZi7-5;z*7TKNV!4XPamLxElR*UV(71WEfNEZ ze%1R_CAJ~WQSu7Pf%`Qgg}tb-8RzET^knied+%@hE!r+I^*2bV-D2Z!de0)fpVqsi zmxK4yu9x7vVQJ*`OJMaPurevrl4z(+BI&7$ybl?O zQ_n8YyIXH_V-GoM#j_53z|GJKESIsw$~J?b8_6{iy5alZ_2%8Jjwj`+pD8=uPK2z< z@sQG2NrSh^OFAh!!Y3&R^5_#aJTVIji_EL~Xuntgj}0HcqKhhMfD7V)#Di(j8=3S4 zcal0eo+y}fB06AVYd*Hz$5*6mhEHtLvJKGwl=6~2@i6b|TflU9riANHyr<14gW{Vt zJ{Re6IRG)&S%L8Qk%PdW z;KE~>=GIcQx6~5Hg(c2gl8k?vQA#u?(yXnlD0fIY^5|kh45CO>4AnEUB^&oQvxl^L zc0N5R1%DHBeE4~@U0&Qp#-8hR-0Ho1^Rsh9*R%XeQKJ%36JuTz}dnV9fXqC}~QB6r5{E+0a2p6R~!~L0TILQb~ss^U?FGD*8&&BeaTIQn_ zYB6+zzCOUnaG7~?eEMPyPP5R1K}?slNX0N1B3)*NJ!%*X%M?3fd8-=sJH(u(Zz{tu zHyj1qN+k*&ZB#tHZ`L}FCsxJEiPlY6mAIkjV32tA9d5VgKFTDNF?|m4l!Km z1C%O@MopG;3LYDySaWW+>lykZ`-E16&Tar9N(zFy1(4w`jqqurD3lXq{@iTc^$e!) zrr=FDpI^#&rE2f!VL$W>)vrNUyOdrKDC?xRBN3dlYD$a$}hB*B{$8Q@vD41 zJgYn3ENx-Humf2otj%Vbab3dDcWeG!-e{0pkO)Le(kQ{e#LS~hDJ8Bv&5jtU}XyoTFYQsgQpVugXzM?k?;T#dKJtdfB z@uuDZKYyv%0;wFJHmUJ6ONqyHZic?n$*EWqcOxhO*4sCj`J`jbfeP&_op&>?MH3;; zM``bfPdG1A#i5$jPHQnyxVqvPQWX0|u9iV1`>!0)u!)#^F7r zv$>M=TapgoaB|LuJX#vOY%Ra9km)UAOdQ5yMd185O z!#IJ&^cY{lMUC>+PjeL3`6Oq~&6Vl}dG&!j(0~NTvU7cyFbV}2v8+rlZur7I&X1`n~5Oj?Remd+J-7U#{&PlO(ZyuXEbKq2zkIdT{d z-3bc+hsAjVZIakqoc~g9l$-#TNev8w5eTTfwa_RWM_$d0V-ZhDUf->ajx;XCzx2di z8HkR+I!i0Z%Q`@?9PdZ#l2PS&Wp~bDv9KJkg=fU~mE%cqqYe^bvL+?+o{3gs$$H2J z3sCdxK`Os~i6{kGOiScJ%Hs1xUaJZo9w&*2#?rVSwHx%_ zW{eg;B=dKvea}`?l7UGvG@H>%F&x*WO6Y5s;RI(*^ zP9;+Z%S9nV%zAjh#eVc&t;KEks0%9c#E#3}k(H3!a|8En;gFGR{YJY5@_LD||<BAw*7l(;JIJ9iq_MkgP-FyoiBL2rxzno}WLP=Lx9oNV zc_;X;s~F<-;_UU zR^|;7Gmg?JOg!Aap&aUE zx1Hwt$v>)!M`IR<@2c{_c&)ToHU79eJyR^J#%q;N$E1$hMP}aY!TSzDEfVz1GUsOc zYI$7gqJA}AJ_d|8H&X2@L2co9_^ZZHin+yw|2>4hm};fMZ9rb%K<(iz9 zyPzD_*3PRI(&ep*S{eI9|2n*?53biODo&|`PJxnY3=_-i@Nw;iV|55e%kD%=TOxP4 z5DM+cuQ+uA962*%1m0!_pE`la8o_93Y8zv?7;_Wv?#@0U_T0oP2HvCRAw6cKl8G0H zBCIa=YT7;#sK=kz7DnEz$IEFI$t5rC8~Cualy0*JW3z`EObPLB#FF~F9?mQd*XQ$a zppn)9X_kr)8-Rxwitiin+xTjnYSI1%ma&mcSaaKhZlG^tC;Jk{Fxk;)dr<;-nNrkxe~M5Vh0yy#(kd$FIm zbTxURCG8nK1As8abB%e@BUV~3h019Gk28?xSyF^#Y6u7P6{VSg#SiHSbQ~ttXk>24 z2SKgZh}0TOR+Dg{lu#;h9OZCTVOsr69T_Rngtyj`R*)bvi$P5@+9OANL$Ji7g1e51 z{!RIPI1K!WCLB*ONhBxCa-04%rSIu}GZARo= zGj3=E$2R9}0e5Q7nHG>0lJ8=Xi@*n4@Zz{J0-J7r?~^OAi37L6=0e)gBS*F7BKZZs zx#nW|m4mM(^6Lb?mddZK_=?aMI>r)eF;StWe3Q~iDa0WZNtba>)M>?&i=C58QhA0d z1Mh3ae~QVRNRJqrt@&&}QJbbBNWzn?d2VUaRct;W>FYM9HUUi!w&7>MM?2c`k8Pjm zRpVBP{&Af@mY zRpy#oc&$4yCwn1jq*CZL7tu-`Z)us?SDiBDc{EzOyHO6y&u&()NY?EG( zlm3yq@f&7=R6H~k2hIR#-|xt)*HZED#!TwyWxNPO16RhY^+3VCJJ}Iz4P~?wuNw0O z>2#ubCteNWf_i_M9Qaa<8b4z4c3YmFRmgdI!$A4YR*xH~a;v*X#Y$(y zhG;|+cUmmE7=46l0R;uVZR@Tw!?(%NElHyn)L}Ob3Gr}e?k@(7#!W}(FOWP0WnS%! zDG$F>JM$X$Kqy#Ev9mMpP-H~CF1$4fXVil>pOMFFU3mTC7=I|2lj?-ur!Wjxbm0}q z&VYtwZWmsorD}+I8Ln_$Novo7Oh@b%gsmQy5>%3ak+*9c@K7Ngy7F3fedOkit)>s| z$}7ixJVK6G@kv+SAqi#DNn;p#GGrue$x0W%(58-w_-?#Gm@1`~o+z?C32I5y_FxLE z8f9^hbmKSQf(R!>vK!FPxjUnRME#5I7`$XeLdxzTBJepni~`@thvQK1ecgE3n}8t8 z)Ah}?5sU3Fqkq^-+h2Ctf(pB++}&ytEog4*&TqwAs?)pkpXC9aA7StIz+{Zfb9?Zx zwj$!Wl^@b<;uPw|OSeI*%M!^wISjHh#mhZ8F0o~bc|G}y^qbrZD%vX1y%%pH^X5iY zWOy%5H}Eor{|-*CqE)$r!%#d^+;#`AXqQo_wgd0r!4MfPkdBLq60Lug7R@dLT;g`P zJc?LhsT)*FH0FlXPM-W_u!pMm%vnFv1^;Vc&9c6OQx=+?u25p4m)eK zg(TkxkbjJ9owOK?$^_bs`)WT}1=)Ui7r&F5k#slzxHM3}e!-X;?%K2|w_>NqOa@JqgMooMfls`2sWHm9U52_dpR#?&r7~lsV}E zC9*0%z?)Gm9(sURE@e@+Ak)Lu?bX|OGFW%X1H8616C8ekS8QY>(~c0$CV2KC29I9h zWCw30*^vbpjCLnvUR8+6tUVF0et!Y@&1Fnnf8U)`XGN4@4z?f4W0H2 z@nCQMq_$eD?Tt~eUYzO8I{<3-5Sp}J7dgGr{p-bB086WS)NxI~j`9FhhGdiRg;@F! zl(Kc=!b6H-N*`2YA5<>v10(=M$&KNzeIiw2gx4O$ibhYs4*ml(c!a4=A!mjP1kAKT7KRckW&?<*U@3no|)&{I$`W=wNe0)A+JS)4#J#8MGI;pG(yj6k`t zVv`@?N#zb_Lh(n@bk;KrXCctlU9c=PmWf`E@SK!Ab7kXbmjxR;a<=l&+?W7q6zpdP z%^^!^_flFOkk&pJ`^CG<3jY zGC@q86VJP%0U-puw+wIh+8AL3WJC%C)Iq@Hf&o<#F#Q{s>9dnmFtHFoIO$LykK4_CjBmVe*LcmCg>FQ>(IOBYOlH2nxQM{aDMbW+`e6}) zld;B_C2}6;Wm1NoaT(LdLwurnkrcBv>m2x3f){@8z`qeZI2wP6;N@RC@s|lciAR;K z{C+2RQZ)Z71fOkgM_(l{W!`rVerg;77UVndK!Pug)a(R<2tFT;A58GvF;4stg4ajk zw+a5OhMjyUfos+~*}p?@%3-HI!w5cn+=(Af@Gn~(cm%=Aw>$7ig0Du&F^b^GLZ>>T z2|g2r#}NEp6dp@(%Jk1#}hoSt_@Bg@Yqc@IFZ0b z(cC5x{I(M<2;9Fe#VKtv1&nEACx4H?Q&HkiA$VJ~_3smWE=sMb1aFR3b{fI+E;!jw zC-~!HcJ?y}oLj?4vD%VO@OL%s=$QmAil&}L@H!{;Yy!{aI+d?E_ZA$V()6F(sM z>;i{!nFMbjN~S2*pGyH#9a7FCa95O7J|uXjL%WX%JX6Q6?0f=K9m;)7;J8svVV@BE zYmQUdPYM3aDk}wtzywc^4zmRWuS~FWUr6AZGB&t~z%Lx8T}#oTC0i;4ueWPT=YN4)zLy=T^6KTS?%`-<{}H1mjS_ zj{ltC`Q>ado4`*>r`Ygng2yD<;1>j5bjn^s;P5Do))G9;!TyrK6;8vxB5<73?5_#j z5VEsgN8m+EY^6Z%t*3xhL!A!WK=AmeT>FOL_o5@|TY}d_x$8TEmql6sdxC$%YvdMh zZzMQ3%AGj`&r$iMkl@`!0YmmV2{se_VP!l076Mn-v%#$d9{tk6-bV1eOAfr9;LoG* z4uZEdvy<;6a7w%drkFnvyfNBuy9nMN9r(Km{xK?b_YnMbR1oYXczrZ}AHm0?W9LVL zr$ys)3I5QQdf@;46tF5PNe&R4?J&wu1b(#FY2HDCzi?Rm5P=8m>=Mnx1pjoxK|ez9 zm*wr&=MlIrO6ruO6fnan?HGYyMUx*V_yZ^T2?AF{lmATcyH4tp1kQ`5K1J|`B)jl@ z0<)s2PsasQFnXQjXDEJDH2GPAPdZ$Fj=*=L$~52t4W(c7edr4tSBk1x{YS z%CwtY&iMO{0=7h%{1U;ZqIJ1U@Meb)ze_M0eTCpfPV`j*mqerSXpqa?;Z$ZIfs-lP zlD~r};F43j!30idY13^8fs2DSc#sr_&);>%>mhF6wV`fp@QZ3 zJ4ykUq8S_`I6Io)IKfAv@Ckx*qVUfIPl~2LN$~H{_)`QQh55cE5b_Bg4{dE4Pm!9} zX$rU!ML0w7_9%Ro;E_<;tPIW({QEoyK2PvuXnIyW1TTdgkQhlgguuB$iYe)~v9XOL z$(FLmfhE~C1?*@^wcQRViI(Spl4QTPu#qLjzHub3B-p7^cC4h=PA689>$7ATOY&Ee zYqo*`N@~6D%=L;`jut0LHP8VirA9i)l2BKjiCWTW+dB?jB%O{&Vd!6yPON z?3Nal=OYN-!a{!f|o?$F$7PK!ea^k!Gfv%X%rCcmvIC}yX9R1 zqunx|z-YHjATZi3c%#i_M*CqBfl0;ANK3^2u9;*84oD0-YThNlqtgEJ=IC-Aa^ zJe9z;PV6)S)1BDq1P+W&p)&}+c;1o9=>(4e`&i?DCc)7@pGDw!r;}$B813^60;7FC zhrrWLwLc(m{cfkIOoBh&5ja1p$IK`ALq|4! zOkj>9gg+s0w8QzI5;#37va<+29j(lQ6bd-wBwtA20w?(*0)KY~&SC<;j%qdV5c*U97vI#sFt;uSFVIJb>|6fqRlIYrP4Z*{j*qyMJz{$>}|0RL%7Pn)+B5;yJ z#IFfl7G<_|1kXR_aKL(kEvX>o{{{*uAQrxn2vHU2TY^82!ru|RE((87@a!nOk>JHq zIEUczj)2=lV3w*bjsMLA4|Jlp5cs_VZY6Mwv)I^1;C=^`h9JMSvMI5HVu!Z2!JPyy zkCOcdg2y?1woCT^_fgerH^m=ydJSgZSh+Y<-%H>oCw3o!QgX^U>_-A8Mwu&@;H?ep zs=yosnv(+_AaK#{sQ&R21ssSD+k*sOio%Boo@cAA=3xR?IN%WiH%1$pNAT>Z{DB<{ zmX}c&ry`I)3-LynHDey9fI(3qeL})c(|;y#eVQZl-zNA#ff=9R&5NA)0@JS~&MAuD zA5A}$;L+IGvCGe=faB2&uASlEq4-~;8Js5g17u*;{|v!Huq$N2*J=dUQ$Za4@4u-a z!>E8yqAkXHI;xa7Q>Ua$lqX~}3(UW=6$J*`so2|)YgF$4f6euf4^$^PpC!Rioi<;; zjEsAgf5l*)9=UHI-=Za?O^@vd8z1Z`W1}&B7WQ1Tri-?NVcfb!%oxl+#m{X+c$d=Y zGh+L}&_$kQ!X}Jvte9ytBA*Pw+m;DgDiWE*2EFf2z&>2|4B;8d!{z34{S6$3(Jmt_ zJ+yuyoDSD^xnKp@dMK|8j=gbh#y~De?b7w@Bzr*pUorrWE&PU)^ zY#G5nN4S_UlK&fE{3yN#KbuE!IE7gfxqmdD6{qcp{5}DBYTHGfN!SnEDSA%grJHWo z>3mTEgatSg%=vv->bEsj;8$XoD zMiO!SJzk~BUc7iZAl~EB+^Vk3*lkyvO;P#E+9P=UXSl-kIp;&&AAHuvhzB zRGH0(;%EMBz79YC%HY$ht{SB&etKU%mAMS9Est$-+N!4$M%Y`LwT$=0&2xB#lJD~* z97Lw3244iLyUjzmt|$7<;XUvC1XuUy5}KxtB0Y2zNn|qrB=^ZaGCQX2ba|T-`9UMr z4BWi{^HY)WAMhOwzq5M;@wnvEoh%X*#c*fd`mzr3VRPF^Hoa^n?}0;#Co=g+?W{PH z$)9&;%oUH$94lk<2r?V>3CA%9c* zO-%R@N65H)a^OQgqueFSmJ{fgbUN?EfS3>9vY7G_9~`h`8*9J{W707D>jhJd!EP&Cltm&(duJfwe?gCKH>;zmqn$}6+~}8 zuvq|FfwB))MzeH)uS`$fU`jfyG}6V)k8u`0I+Fh}AE1@a(_vSptqehstqjFU<|S_p z|MMx%+eV1@KjowE7{TepBIufh4v%Z+x&x4B3c8pXBO#kQCXw9?qX&lF78B>U33_H5 zhjf^|Knz$(2wT3lik1%*uV?Ww`VqpwZ9f-GHWL=`d&*rr5(_ah3%S)9mT6wa0cOn0 zVZWJ^hj&qVE%&lKv0wqOQYGI)^PB7Pq;O3S6MbCxnVFtWtu#~f#H9tiY5lA`nWH&Z z{z~ziZUs$NK{71O3LBOu9$m;gg!6RsYOw)f-D*%;OCt|=L;71_YFkif!$Mv+B~K6P z-9mnx^XNf8dfdHI(T5v{NmK=K`A1rPP6`R22VLq~o0h3M;DNA6fFhNXNg0t0eV%-wH0nqrRyg>4@t_~xkx}WhDjmOBRo?$Q~^P|U-jZqwuOB!k_T+JAZ zx|5iuq%blYD`tGgyW!~n_-DK(RVxO$CH;pdmK}@i>7bmMaW9dTpDas5Y>)r&2KpGQ zaAYV({D)UT4q5-$IhfNJsq5 z`Fl>*u_rh3XWf@JirzWAB_gNf@Lu>ik;B{Jr|u^Hbo?A1ib0=A8&zYD_+S%iGDjTR z#NREqnWGq(5S9y;YUh&Ai>Ib$|K0|d7t%KKiV52g9dy_581$!XuynAju}-Yn%o~)U z7}ye0cu)FsuNBF+fQROYJGSt9%VuC4xXoNwzo0*2i6R#U^d_-p3-63Kr1@4{cF7RU zwn8j#60dFLwM!E7u9XMdZZlm&LSwV|Y%8n+wu#;9=l89=O^J1!inHpQdbN%5jkt9i zuK`nuSGVy8w9R7cHeS1!;KnAZW)5u6D5GNAVF>$yXtbTzkp0vNNA|(a0|ta+`Waiq zbK7~@MA@t~;G;=dvgym*!BW9QG&_Ae&AKZc5Yk2ataB2FzsD;ad zh%RG;qkG7vNFtyusBthM)5w&GapOkbY#Yb=F3Y7}Rpi;P~whMIJBrXRzthZT+&KkeqJ^<}lQD4XiAsx-DxEs4#LU$#uOPX5i3f0xl6 zo(X$!FHa^*1y@+f#8-QGkaz{;po??X75{uSbdAlE_JT*g6`{Sn1y__pS|asRh@hc^ zMHNEgXw5X&P9$bfs%;{BFaMW2e^{jHKHkpl&K@RS&&9>aE#hRZlp}1vR{V~<;p>6u6eH;r6D$)fWqcqq4)AJTLJ=DeAkkcrcYv2q1Ph}P z-hSZCa)h3b=?ARr1;bbPi9eBu0fcx@zhDCRm*Qcjhji z_)omKicgKkr^)!q6yN3`ucqSDqw!fXei_B59_01w&PDk(JUOz|ogQm=L34rGvZ_>+ z3m^v8iQI!clnC*FenmWzX33<>Jk&sAhe$faA4pQno+e`^du%bXEZYS+GVTzB(gv~e z5U*X<8J0A2=cC6!Nyzj}yhXr!kRILhFt3l1H|Q|$ji21Z{4EOYa|D+LGsO5K&>rT9 zyd#)L=7`F9{9XJ+^7vi&2^@t^J4ZZtlus;{f!ZQ}12=y#na-PZjQ5WJND2vPO*K5s z*eUuS<1NbD6FY{qR8(P^Ogrs!-+xZ=UQ_Kj>+vy{Qs; zg8Y7H-9UNn1g}G=(@sEQ?-vJ8pxq1bTnm2!DR~~^MA%94tuC`CjpKYrB31A z#%S^RDW0h<5>MtsZjTo8@-cZW5{*w|>A7*3c=0rUSX&&~e3}o}+_|Gf@3Z`fwnTI| z#~&zv{vgaVlfqoNXu=HXS6{a!88gL-b0}-6@Sexd7oz)l)M}|1e;$|pz7W~xak~)y z7|uh2Efv3==R#X7-u;CSyLTy;mFO13Scng^UN8>VS8yXH)%%h`Q3&w|1JKwd9uEc- zUeLzNb`c%~5ZU+_BjvtTs07Jl@!|!T9uMS+y8bLKl#@p2qJ4_dBI^RbR~wz_yU0By zX?aIxvFHV;rDWi>P?W!f(X~)CzQkv>m!*~r7FVTS+K4T!*)S6|g9E~GN#=p$*gO1y zNCI_1dn5@~QnD36OuE=NF;ivjMABtwdcQ@?%e+-AD4F68yjs3+#`TaOo)XAri;|u| z3n1R+3EYN?%z~Nv)8TQmyD7 z6BviG_QeEJi7ooX1{U8T)5b%*Tb&1YXHF}qU;Q*FV(nNe9jj`qF9TT5InT%aj2c{LUw+t3aya0@i~;S2=&QGCe)?cIy>h3*U7?LL7uwJ*@Z zojO*e`vT)AQA2;=Mda~;KhPcO;aPv6L1+lpmgsD{B?MaGN^KpNW(?tE91h`RWN@*u zY@m7!6gG^>m-N6RkOSNGKx0RRE5SkeIieE}Jc+UMDG$7ipUQy%_Piq90)aLfU%^Sg zwsOlaA6hb-_3p@?KaGw?n)JLuN7ei+I zBOxQuR`c7UgKOgZvVj`1HeS^5{o(=A)(#X0vF36%{i^eEA3_R%bF zN(emJ!7d<FN*|o#MH8Z2cVu^EE|Z^Vy*43n8ZMx#CLcYyCeNE=)FWq__+wWyCgxw z|50>L4BSMl_eNsCB$oUvxd%owXCij-){2Vr%ITlZ-*( zs)<^YR6fwsy)0kcS3b}@IXBVM$ zuq$;?A@p#e%0j(0IdG4Ua>HGyZ}Y_`$$@fI$ok|!i@M+DtGzxm8y|E>h@&Pe@})&N z%z`yCr4Rc04|s|+p1d=nVTHi6?sfTMR)xS&_lkT`vtpo^8{uzO3@oPKhQYv{RITB` zKn22^7Yw`*kG!e=t{$j5Do`yH=+oLR4*{wMXeh&`G7r#{y;h}gcR>n#gVJ6&kVN&& zoO~btiT7&;YKl{#fYCke9Ayr?$?^ltXHGrmYnRd#$P@69noc`kUIKxNDF*JtUKn8R z{BYZcF<7a?2hTaQkv`6y72U#tie2;1%Ia#!Gf#bb;Dig})6*jmK$rWv1OjBQeeNu6 zxSC!v`=|BJnyWiSt*cI z7Kl(BIt4Ub6@b`w_YblGa3Q)z^sW@B+e@_%YzLF^{-nEV{Rf0KOGQZ&l+KB{}?kf&e4&9G)2FN4{}Li?nD=oqaz#KDdgF+SLWST`*1uW9B93XT`XH6uBE*UtKF)}Yxay>u7j$I4gEilckS^<9&`JznqXzg27|9{Ov)w7-{;Ic_i}OR z?d|*hSoNvEdz!P)Z;Au#W=DazeiDsC zfgM}08C2O1Td>;1-1fAnk~8sBC8awq#k+61&7&3AYl>7^5<0Kc_+*@?ILp z+S-W#BzdCq55=*e#35U?Vl}PcioIH~rfy<*q7_?5Tr|2h>qHeA*}4*Y&$VXr!qrHW zZKYAE#+6BSk!@ILM^%~L%%2#$VsG%002sUqRmrJNa#)%~iR2+-ej66=uFUQ>tQ}SK zk2dUGr^GV^k%?!VT_9}GHH>EGe$bV55Ler>?mgXA!2U9#5X7S!C~&hL!~on`Q{}*p z^r8V@^z3yskl2n*Zy?DMQzmc1Bog+fg4*$Hqd#$$f-;dG&zyWGBpH}T!X4DNtHq!3 z?0#!%xwyYQ8y38WCJrV$Q$rIYFSk8w(}0NCWFR0CyObo;o0Np~1KsufsEZ<^;x6o6qUe;al@tw~<{o<3hI#i1mzeG5HQQ(Y_lqQ3IpaSKlvA-@%4h_KA*z*(X3^>0tIE zoG0$Y#4R_o_)a#4dgzY3S%18~aW{*##<(k}R(|9gCYc-^7NApesEY{9EWMYFwODd8 z@4cUmu~bJytk^-^&Atr8Q~%{Xz*c+vUsL{K?n5j!;zzsW7eqJuDP5jG!p$z45i@AR4rlR>pJXyDv4hxYi1!_i*>0hDbU3?>7s;?lsP$k4Cq>3^7TWVH z3^%xx4w>TcHn;-0xGq9J7o=bu=qAVlV-Q_D1Zt-E^BBt3aSs5PnZ87@5iH#DvuH8` zQ>UNAx)Gp?o#N66_6*HaW{$*+cBfcAlI^$b5fewD!F$A>QLI^~^c8_LnACc2^&rX& zTB@x0e%)S++O4pFB{=DOAxK^&sTYdahgmaV>i&mW-8P5=qYO}lD|k^qyFIirrK~um zr4|R-t04r?Zz3HD$N!4eHlq}FY8wQIH35pO!Vmyp88$Uk2;_xzI`pUR!4$4Zl$fIH z5j*qc%<5GRlXiH!7(aE@jT8_Z>465Dj2A10MJ+fG}7?1A{x-KA3~ z4vtTRv0?UTW`w-N^p_Y&%R=Tc)Q&pV2iMPhH=2#aO`x5|u<+m{q~S=8e_%FN{Rp$S z6tR<7q?kX3*)1=NWn)-(INyz7MzG8cdDTIdp4?iDWo_Hb=Gkk?j8KdbG!cI%=nI*w z8(eDE4Z$hmwXq<4ZST4dQu#WXS$iX##&G-5TTB@fNv5l9CYU>$6(YJa z0w(Hf#fIsuX2@EzI%{Qh+=1(5V8``Lk@mbLHzVx~H~CA__KqVdJ5=|<5iyh4DxyJfdPRd+@4*c)`bJSW35L4m;-1HVhfML@W316#9t8Yd>L?-V;Bxnr zeu~KBlp+smCy~cC@!Mmpp6xS99*v0(8i=lsvqY?4Z-1Ok#MZNBlUdV-rLY5FA}J}^ z3WKQrolf+NOmyNV`tLz@`xtRzGOH`ZWK?&D$ezsV&E!4C9MI`fi3ottd1K zw}0rRP<_*SWIyE|09xzo_9MkOylnxnzSNcr^>Bd-N z^&M(_X6tE;T0|9`I~9_nOcYLK%R5mp$eOZ{^cGA+7ePgW?XK3pK(IBEZfJw}CQfB1 z;;N8C^3!STfqLmnO~OIphjikE*Mb!Hz+r)1qWN?dJ#yn4xRemmN%BQBTd^7Au=G~U zvcQDF9*K|-Qg>mg(~F|@!&T__u%c?B^RFc-TMm;`TO66rTHJn=NdZCZt`7Z)04|Tg z56!@vuK&R3%NN+iLa)L4alEQ+AxMV%>_}2UG%jk%L&c*r(A_6Q$_$9fLXkCtMK>w* zZ~{{b9#@qC%Cw0SB#H=o`Uz2OCTrrqLJnBbVJ7S7zs&Y!-!3T#JZ|kG?58 zSmH&~cM@XJL3!X{3Zh!lBsB&Ol0=h(o1`qWSnY_53_FluJ$glEfz3)LfEeYX%`6tx z{UfiE($j8M(xtysQpev^NfnBXS&bA$maqcr=!_Ye~>bY2R5%Vc+;IuTyo=*~1bbmwQJGKee1sGZHT_4vd z6^`dwM@y;b`#kI7D*e>lv5z6WUheLf`O(~Q)!R0VVIQo>87*)nh@JME8YRhcx`CZ= zP|s0e)>C3D(_T7wH&qDpy5sMYk$Ly5w>Ya~huJD|bUmwAQy`MFTDWX{fKh>2iV*Ar7UD={ktiRe3Z=(^ z{aY2uEEd=s`2lMQ@=p1H-PYo25JpHO2mTx|aZYvmW0uRYkH^Wg^>;aT`C6vZ5`ZNV z(+0g%lzqT@V@F%yLP-1rB7Pz3X<04)wU9-$JK#WrB?(*gJeUpoBO?+q2OVIFbOjRb zyFyJQYe&Ba(2cbRMczUdYd;G?2h^g2&kCPKSnW&~%@#2yD-F6`&ZVJpuHqtp8EX)? zhNBdy0c1vkdkKBImIK%X02`<9B^!^Th%VBviW8eyeX(~D3mhaE%}rvg8!^O4d9+R- zBO`%Wexih>nA*=ECDS_>1W`Uv9kEuiQF4+Bl$9!WEN6|Kg$oF+d*OS?S zOj$+X>x5vp`L5&fR^d!#!TNftD`MjBWyBZa#15!sWv?@TyHpUVVc4~GF@@b31)2eK zA%$WEhj#KkCr&`a^9Wbo1!C-CHUS-Za4}@m=c4W_Y?`%ji&*>$t50sHk6CMR>J{c} zjMaE_LZlxI%F33GeCX~oG&-B>dv&^(iHyz7mSFW0ZvQ2ie3XjpB`h@fPrCBccOp$u zlm@M#S?8Cq*Z(W~!t$Zm@G1-WyB%@uRo2XnJ%4ZP`FUdxMq9$(oy!#VrY>W1{yUMg zLDWtC`^cG?%7)w&IhCaKrA|jCyh-bgH=w(T`(!_P)VO2yi@m=Uv?V@D6_1~2@DwI5;! z=KNc5oxy88?4R;DBs!(BCwMVt7-H>FJ3O87F7q_4w42tvoh?<#aGewU3>=paFVQ?hlu=S8;J|D0^ICD|rh zNmqIGy-KnrA8$Pc%Xc8#lJ}rPZWAq5vsgu?hz7*WLu6c5y@AyduGP$DDk+rYkXXE$ zHKQ%Uq*>60Jf&GEN~spD>Di)SHRfyYiz}<4mjDTmrL$J#rlqrC1CJ8D$gv@{V}jhI zepTLTMTLOeWdPYx+$x^;ICYOwk@yJ~hOgK1{^@}C*781E!y4XpqlO38p)^U$L{b>Z zCK+i#$IDeOxzU2=ak!dR)LV;1D^t&-fo>x`4+jCnu(hnIJ#S$k)Nkn5ISa)rYgvQZ zsUKVDs(AyGp&4qc^3-sBq4;twtLs|CY0`_b-GzgHB0%k}QV5+>(Uo>MKi_EK*eTubiQ^0_-jVpr;5# zb9++?cZKR;8$jy&tR1yc<%c#Fyw6(J`GQN!*Xw(w!7)JJCa0T-UVk0y9kN8$NRxIc z6deWZ0Fg_?v+LMwHMQDwq!Tn-`kTxci8>X-j+F4Sbu=37sLY`2~UA?W&PP#((LB3{d2O(OD?L?j;w zo4+vyLQFIw2k|!(cZsMn`x&=^Mb)F(4~f4`O8gN|u;|~?Tm+s4B7FmMdd-k_s~M8C zmsgn~o!!7jL$YCp)FZG6r*#5V^5q|~f0n9oi|F*Qsbm1?X*?0@Pz3x}U-AF~gsp6Eh1&WiKyJh`z#VJcFP9>7N zIkrM^I;6N8`FL};JXA#L`< z(pZE?^*4E+QvJdEOx0g9yYHl!RI0xh+cQ=F2eRC%|7}X^zoQ<+i8DxYKU4j$(3Jjf zok{%f{%!0vH3jG=I)BE7{vSuSTXX;W$TmfcM7D^^X1!GlNs!)@oL9+VSly4al5PJDhC>VpF+8SPl5Hz@CKa;Plsm$x`T74I0v zSP+zE^YsV3;)ZsNA^gFr&T+A0CkqZ=V@}iykqcs?o809b5@kDCv~O9EzEafL#To`; zy9BJKP+(Sy-n-ZU$Hs3oX!=+e^3{Ljm@wVDmpQ{uQm-_dfG@?PYNt3EUX^kDCy}z3 z)sH+);n-n=NfDXC-HZnGK_6Sd_ZvmTZgzsSY?`anJOp*3Z&spOzR5)sO$ZWgVzK6B9oD`S#uzn3rvPc_YgYo95Pj%5=Zl}s6jw$qo%gln*lGP zR<#Qh{$K^PnG&M{)h0fGto$QsX=tbTV?T?iaoq@E*hbsz0BZ=W-g$rxQcf5){{$$q zhi8~LdVq!aVnyWzk?;eC3K@cIIKW#!pVf&ohgATf0ON;j8)_uMBVZy8C1OGd)-g^P z2F|1TtX|X~xF<`EOI($6H3*{sw|$^t)zpB2pIDub6|+)tAfMGjtxo5&dvT>o=Y!ZH zuw6WIkhKUV-GUCb(w0yfO4*o$iY^CP9kJ~oiw*yERV7WKPZeV0t$9RK!wOk5(ef)+ z6FK+ziZy}r*jFrqXbQ`>Gz*OiBnv;5GEJKLy%0Mj_I|~<<(&BLE7qtPQ4F><(oruY ziJ^QI0pwX|XoE>OZ4;uvxVJ zNiy(J>=2_p#yW%kOsS+98<7hR(G$(!P6ZFm(6*xY%zX-lxF8CjdM6VO=uVz?LTub8 zL4OST5C@qnz=FUlrQZacs6>@p%J{^DQ6q*BX~v?lNf1~xL3AyJ^4Ko!J&fHN8DjQf zc9+X7nP9#6pGl^&>m?Jha6kHZDM>3(nPF--zsX&jQIwFRC&7zqpo?s#(3ANyB zX51j5j(yDi@Zn({|iA?E{1-?>NkNo$0LfM+TKzW zeJfUdgDo?s#qn>je?&So{-oGZZ?&r#R(#J1e&~&=BB-JGG>6rwc{72t``cRz9PD;4 zz`mbD;?4rr)sihz3Rue;6;wyL@iCjkA?hm*7NAqJMMVMYd4pKG<2$!lDzw~GEG_sB zVoBnvQY@8={ok>cH;ASGUF^U7J&GVH>MfoAVRic)xv6x@rd9JStCw`Li%*V7c9MHU zil}o(Dn%4x-$X>U1Sh%UD620yiMQ-QzKStqS#KqKHXgmH>_LL-WzVQ9eMp;P#d(J-We^4Egktd%2u( z=Z`GBcNH;^K_gnqft!c{P(W2NfY@$1@U8gxM_igvE>8c*n%?yh_SWFIAH=A|y@!d; zkvOZK4Z$ZX|K1)ZoT3qv= zRY3)!Um1&W&}JFb2SiVbccNgYv1c$*#GS^D?nLo@85Z%EoMzQ6uZee0v*;18F>H#n zW2zKDv!ei-9U%uS)fhPCL`H{HroV=5`BVtrX#Gi}eVOJvLf?gHR~7ayr+qo*)gUUm zSbhPhznmm#vf#eEq*xsF<&exV#8g8YQq=f$H&Mf6(f~J*(9=H{D=COh<#N) zL>u@H8FqeKjJS!&ktzs8$~{fE372%;%H;ksITd1|eLJ-2ED@7MBXE+reGONWLW@yZ z0IgGtSy$3tY=kh(=V*fL5*uFfZzsx&**&2zID+cXgizwd=Eg|?aB|^S)-V?6mjcmW zPHnHzq&cWIDb+y}A~Ch|#K#qe^TqAIv5unTEKYx-vud2f0Xet{=b-n^7cDNauHyA` zID;}@%(}#kAQSrmxTj{m*ma3@tMs9~^vkSARi6=;S$nawggF~Y%wUcx5o)4SVi042 z+Jc?-w6uBjGHWPWo@b$UOgVvl@+}n&uYgUaiGf#G-|F+W+F~>Tt5KoWV{@_qYd6XjE4+mc?F-WlvSc;uZI1jAe;pEPJXlmMV#^XDqM&8^*FsF&644 zZ^p8P7z<%qF_s0Dj0HHqj@(c@@U8;MR;~GclIBqVBIOQgIhF>IUvI zKpgm$RSR8QmBqv=wi^JcMJ$H;!^2|C{)qXFMOc;*Kk3wH6UL?LcAJr5!a9aqx(TCH zBWp)EIKVj z-x{_VsUDgJ|H-1pg@s`Tp<+vJqrpr(;y3Z|A2=cW znmGLj^xEYj@K4sT1+1aio&*^QkwR$cE3exGJACpZ4 zf%sUduC~$D1f;gnnF+AZy84X?%s_14H;bq&DkKb9tang%o3TFlzf(CsSvk?lm-htL z?+@njVNxk4V?XJ-n*Oc>_oCTjHJ$cX1oLL3nZh_{fMDGEJMQYcA+9dPH5394{ZG;w zV#~7xSOiceexeqozWU4WqoN~lRUe`omj2<97ToxTfsHV`pS~zx4*PlDv&;kz*l_CIs$GKdX zKS(WkBKS%Jh(||5Zw)f8*Fuzg}kf_oPMJIp(C=U^oAZz z(bxO)I9vqygFmldtn{aP|@cgE|qj z6N~JQbl4lKC&rJYy{$lJv6_vk!FsnmAKDc zQ44NFBaqijz{v}sfer{MtGl{Z3>|4$B7tCCatbE@a``t%{;e+m zI>4?bh9L(h4kgKx=lYvsUm%*1E`AN<_tn^qi{2?~V}CWejzPmorQvoSW?#vp{PYY5 z7Clyr=k3@Ic7TZ!s1DNYu=BhBR=NQ}oX*snYI)RSCh|^xmg?t;_Y0k9KH!^ z^Cb>-0ZabsRtr*_X{)ok+kpUeu>%GoB#e?w5G^>2gdi^Oe4rrQVu5!l7IBUmStFc8 z(MhHk=)~UQ07k;3PubIENbx-5U7BNCHC=Ci5tCk2fmS1N`-P2$ja1*P192$GqsR$8 zf;WmdjO?Trbb3s5DG{L%!W=TLCFfD?a18~?ZV0_{s<3LL1^R$m@4Q5OSk@F*2hv8& zKqM^{8zOkk+b`0^hcqvZ@|j3O6w5z!DhnsUp$lL)7^XhBWCTsa8|WIBVA$N3U_fTr z6t0A$E)Q$`73yhI-o15xTkVgo zlkk~HXnZSDbzaZM7dw}n~L&r)p-Q&F@2#rZ&*c?mjDykx&p4UnHuNx zr-f(G^O@?9-&MIb0R|G8v>(B+?$B+Ex3jZV+1s)L9ObB# z|63wEKviGKMk%sgYUPVWHsobhk&Wt`v)w?Q*1X&zTZvhOl0XQUXjo^$Mxuj9xMjG? zlX8Sb2r_)DlHp~vp#sR|k-;7oBsTl=Xvp)-+K}fLOnH7m%JZ5e&wZslhvsi5YCbFM zAv}Bpb+yf=%-$k$>+lBH-F&_dWVZ4(WwxX&kIas=Y!L%P`N*gn zrL`w7(%k}aar%K!ULRRPM0d8V7qJkp^=Y_cr38Pu{2L_yR*}I?EuV>HVSK<%Md2oK zDU7$P`O%G{P;?9Dp}k-bC*kIid!%rY+ym{HLAR27rzyB0oU(S z$6p9IvXn>}xA6uUM~W`Y+A;=N5A{z3ugk+5fA1~j&=KBJE(;P9$1r?MK~PK2@~JB2 z#LT)py59{KWtkU&EO#i;m!fW^xzBUHn+~D7@8F`PdwRo7WSP2HKa7RNU=9uKg(?hm z$f`O_)kNhtPvzHHtZ?vX(YGES*fB-!jxlICs*r?Xf&69yj>D_vC^9;D!t%Yt#DRLe zwhNm8Fe`TY$*ZWG{_-*-yJVtlYD)vM!j=ZPRuzZ|F-?^@s5>1tPpPu2 zbw=8yXdZK+{fA3gRCSdO`yOmgu!m~29R#XJKd^I6jIPh)qOd6u=0al~;sZ2y@DNA} z2lnOQ_MUo8cs@P?kF2oqpGAe~P}fWN5b zl#Dc2HJ!e+^eH@!71o_5mm{O6zw(6L@WBx;o5>smFq6Dg~ z8NU4{X)vk3F%53*L3V0ZPn+mmYFck*1HHiihGN`hU|O&CqIuT=S*TgPRsZ0hw8Vub z{Vz4;AGL&6qLZ2;CP(pj%vmvcMu*fwuc`SkzB_~A1yIB4Z z_ci23tv6#q zlrZ<7QZXEfAT_JE;=v6tmi^RTD4QI`IEe;ntLD0@*#%-tV{TYdL`7pB-WGLtb4z?k z1udjIN#Le{q!AXVK(sFb?CX?XRBn7--^#;cqcbgEI=%iDds7Vm|_mVFRo{bIX?e}DI(SNOmS)x-pIog zonmVf-t^9$H{*=hMBw3!q_yCCVEF5hI8|-Ajx(kO&>YZOS&KRsX z<5uE~WhQ6bC3?hyGoBXfV|jh<;f(UspZFk_hc?8ePC?jD4I-&6w=#OO$jV&mGzW{^ zDta~N(~#Nb=6n#GfEE~eRas~=Fh}?|T(Xs7kVoY>t;!%}!zF_}EwC{%#?2r}W5j4B2Dwgw#30k1TrMJ1m--8A5>vL-fNnc~e^P+g$2iqDW|>@H;7uZgg#t)2}ZP1ZE#H zz_YvOFBgW8gIpMb`h+{~C+JY^m7NZRAn$vXR~CZH&>djF@-AC^9BI^a1R$GB<0OHL zamvBG8y2cHarT@tb(5KqmLnc)%_rDCL!&KNIQ+6TZ{B#9Zf_)Wp_|PhdGJ^N91%>| z^vM(T+wjr8D}Awj^rbd9lX*m}Z38ROSK>q)7?;k9Kilxy47UTp5SRcA;f6F3*_KD$ zldY55kJ}Y}i3*9du`s27sg_do&vdi}+d=4#f0$qCdLbL`V^X;G14G4qMdpM?-=;_T z%k=u^BDF2%l=41E?@iu>s1I;4E;^aY|F$i!TQ^IW(oVWDAf935m?E@< z#PgT2aJe!bGPzLX#A7CLoFNWqAL~yk*N>Y8?yxg1ITZ=-JqhukX?6MRo*z zkO5dCY~YyrQ|)1o-z`$x^SWWEHFb-OE?xYQgL|hq(4I$k&U3&ZY(elY)E%wdkBJ#f zx?q6vt|p0m6V@-o4qOdaA)*6h1kths563l%{X6istqQVClEDX1tUfT^nioHj5!bx< z37L6d{j$jDz=K`TI6MXvOhGX>u@V9flg&?Aob6r7&Q6Wcf!|6Rqfg0bR6l(mMj!=$ zrh=o)27j*WJ9TyEtA5BqM2gD?U$a~MkQ;7bKSjswTO$Xfa3L+IfE0|Q3j+~S;68|d z*b}hnjX-^`18c$sSz=~K-iU)pU;|489#DamVogWhFl?J{)WhdSBtb#_BoaWKjC!D& zqK>?t3%y3PfQh*5E~t?^l$r{vwIJG;G?#^a45n-lOq5S^&6gH6e1MHg1H6%ni5qSP z&_AJ_Xy`tw05Cv3vfp8prBX$W@_e&5@NT5TsC>YoyYd~zWfi>ipc#yJBSQrvH1Rdr zN}QMIq>&*V+yFa-j1twgxIADRlF{rF5e>R-7`Y-@icDq{F3PR3Qj4=yFLFFGFRM_@$W(-i>5W=q43flxK$G-B|7k&6c4q zquiYs9>!8naE?lRbf1|R@5U-mXub@^A(9UYwA(C%j{>u%pjOB-5SD>B23^vos#;{G z=>7pd+LP_qULrAZw`xC;wV4X>47z_nrJDD;?75BZuED#p$l(t?Ew-K0Wy z7Mh`WH^>H~LbFxqrV}#Mh4Z=yCX=9>kdG(+)jq{7GvH5taP0cG4&sg~ z49t<(B89<$l^nNl&^XofuN>;ibK=A1fhzI~RH^|rem@YyYwk^g}Tf{UQHttD9^#o*yi zuyyD!a$7->o6kp4GHno2A)}Vvc`M5BPlLC#BDH*ni}!}&rSAOWy2ogN1CrX@{o|{0 z%T>9F`+D#NI8S!E2frH^Rd?!%HQ3`~Y)^h4w8YPP@@|&j#GgI+XgH7D&cCVtg}l=Q zoNPxBM5Psn$olo-uONeCz4%j>SHyk2`E2O;-}Q#{-zmoQ;r$>)Gy3o+;l%XiX|<36 zszNLs%zrE0PDN)mkM)Ip{x{+1$CuRmg413lw}^xi7e#lv82AJmI_7tg-H%6yA{W>J zuxUu$w}}SgYET5@Oj|$Rr#^yVWTYZs8$?#C7GMQ5oQkVP#!E4}KObQEJ##~U{wnKX zvOKvjl#B!>x?doW#ABQY8$$`UpMS4j^5=jrh`UlN82ytcANlms>!d>Szh%*JJ z?Y8NQbo)9BK89YY)Ilo1M55k(q(Uu~W-DwAP#vxAo$}TjcgkC=>xN@x?HJPGXtRG5dW`E?^7;0o6P2_FTVRVu+EfX~mfP>gbbXX+A^h-#cX zCc~2f9*ZGQ)LXFx)SIeDECCKiIaNDSgVG23n24^Ak^xvRwA;T&gLB*s-nqzSwm4^r zyTyRa7N?=4xy3eJ=*BvLX$sr~FiU|u0UlLgKE*vN;~oW=uD~LII~7J`1;$ zgE$rGVw~aAp^h$5J~Sbbw`Y>xO|+#K+P!pOVi?$ZAeAq9^SY!yxkDY_FCEH5T(p4! z0~f;?Vp&~$MPRPD42UvDkf{9B5 zjkA)3k^!asDm_yHe&ynneigvN`UGVFO3RhuSpXL)FbAMe;9-Dk6<7%Hnj*mxfLoF! z-CYLwrHU{YRn6=`*`@$e6<7}Fl%nBufUc}VvapSS&#QW81N=s1kO%N=L&~54(B@!* zP62vJ6$Lb@js%(vV1qgm4s|53RN0Y|h7lk;G6#_g-1t50aw9k`)s0|4CV~@}L19od zlML{(0#gAlFOgKY3gAWsW&q4nU>3lm3d{jmroh7h=bo3z3IV1m&{YCBN5Pi?7AbJ9 zfIj@QjGO{6LxI@wYGf-g9bmo!Hv%kFU^YOr5_tg2ly3pR#8R2rDS#;oECZNU>XP0S zfHRc$JhVPrflC4AD-Z}%m_7^uXdz6)Axr~Zm6(=81_2V&_rj9mM)XlPo^w2S24q<1 z5^TGX0kCMLB%dsRrxl3As!$}RC{!pMIZnL`mEDT~ccDe@LQlC1E%Fo!$n4yFK!s-e zj{+`HEk$BgC=wfpBWX$%inQ0Y6ydVaXlRMDP~!R}Ncgi35lDV!Veo@0ML{G>?G17N zUW%kQ7ZOw;TAq|JVEYrxk`0bfc1$6Z8`C&f|3DpEzj(@X$QN&rU|LHeo=2?{NyzO*#Z ztUwxTl!;7&%0w1|FaKQ=k3Woct53zJ4|C^TyGRF+_vrcRKYKp*v`HsJAT}-Or-SV6 zJ!{)gT)?$0`WBrGRN&td!h9M^1q>hZV;Uz!%p=%cu~iIsgx`aOns?~!nArUY?~5|^ z(Y#HBm#MAN>?T!lEVqmp&FhDH$H*fc7HS45YM%=+8fK+UV#jD6S)UA5@-}C>H351f zeU-u&m?0@X0ednmV|W-2GDnQzp^euE*-5`9iG?pQ;jI~3WrZMfBTE`$u85&y_AeJror`0{T`Ewm4mpY6~OkdQ38Bt1zn!W4{6z{k|?7|Ua79JgcmK)tk^ zrRgamX)JGqudrl{enA+daI6!mA?$$CEFv?M z$BnQTQEmG(zpfRII-8#llPJd7XT=J9HG5AQH>BX8i0kwl-OSaBF9Xr!gc{-WnTWVm)EH#C(ZrCBuivVHg5s?S z_y>C(&>BU?Fe6aTt@I0~;rxUMoxtloco>c z@6z~lf8h*mrZXV4M?>y_6^keEx&he3N*F8^pHAS;p|ndC^D`6}gGbBt0(d{E($U!T@n%&#K3$qQTe|?>BOP%p=Su-x+(`h{3eq0a2mrzMPFBES* z&O<_ulX2aOHStLk^+Fw=p^!Wj}?U(1YmfFG%{M`15fd9cYGT&+Q`0 z9_O`1_sKlCrs{u&jlh3HS-E|*V7$}nt6rd4QYSW?S7ix zLw#q?z!gkb-zSIUZc?caeV?%J6yCfSzJ+2>vnTK4WjjD(RMmFg1pm++0%I)d`;-}=~%luFSbqRCnLPVFX#@tHG!%M zrUH3$2A{mbn(al=awh+T4)f3CJ>WEXg13h=>Ir@uoE1;-mMClA6TCm1&?kBOzs_>f zll+MDuL{+H8?k)`uPf%x;t%o4sHjnyI6sSbK#dwb#h-@r_EUWD^)aqJ#baGnQvp}> z%_m~EbVm>rrEPpK}xScK;NYXKja zxqkuQ=i}>q_^BD0sf&5N?wLCd@z#E#^>@5S=F#tPq9QZ)DF4bLW*z4ZGc%6!bi3Gj zj_a9;=Xh=Z%%;EaH5Ol3UY-_r_RwqlYxo5}EiPQ-Vb++Z1uN%aojO0QX*J>R#1n}p z3Qq$(^c!r3MFVb#rxBjUc<49!X)y}vt+SpM&%&*jY{rd4SSviO@wCB1zqF^tC*?fK zHRY;ByZjW6lMk6O>d`T+v{bwYA)PNC<=0yJIji`!k$!Ef__dXOeX97ilYT?1_{B@V zDa!95vyk@Eb8eN09i(5X=|`2$2iyVfpf-~yJ<@LGjPaAEcjz(du`$y|weER4{HZaU z5Qlzg&xsAc@&~P(o)hdhxQCw;UE)=8(_EsM+$@*qa)rlB#HBt5#I_nRX6%e1_8QAy1B)G6kWOuEGrK*kkgv zX)~udWN8#o$0ZwUxr%+F^d2YQahCEfV_^4Dk543IkpE!QzvGC(lSa)LJ9*k;%72{O z|E@7(r;V9Dj%q{k6HWj4yJt?DHfDzOOEvvkwNe%AJ#*Bw(PsYZT$)|BnhK0f6mMVU z!=ospQ%ID0*+Sl0(L7Ddg}Yb2Y1;DnBJy|M)f$i_M*Ys`heaf5+K&i3iRToa(`LM# z^Mzjp?_?d9Bn(`4RAV0ET|`*98J?abX2RcEkR)Cs*LS|yMsA1s;so5#q4QO~)liK< zJf~rCnTyYx>7td7qete5KX_e#>#X_WIUh&7Kao+vJh8>c5f(;p87eJFuI=F7x8Hxe zBr{xV@H4^#se#d`Ohl5X;p>Q!Y5OFJPQH#X2~SB94+56)QViv6PM^pK(qta*y_j80bqH=oToeRt*Php>PoF$i&Q zqxZRZKf2eV>fNg2-Qy>XxqI5E$EQ=jj~RXM_%To3F4LtWUgsp3mR_~mr}@4tR{A-b z)}RbZ%)$u42``J|@DC>cn3rWGjKj;U_PkbUFXPmMqq{`Y^9YeuAr}w*f|JEl{*DLh z5gIGZ@Itsj$(lBPyo!^SEH3yv9#$V;-e|L)5 z;r7>4D&uFRh~{?3y)yr2y!@Su#jAG5UDE%Qm;b!Q;)*+dpT(8=lrI*eg3NL=y!?m0 zBK8HD`A57`89)0K(Tz`c0M3#_I31= zByw%PDx(B0_Ipq6>mH^DuiutpT3NhNiim(6pED)U@C4)wJ68Y1)T)A3PWw6@G2; zz5@PT@Eiv`8SXuJ1_0hQP}3e8qG@vg|IruKy<5|^^hXo=Y1(%9y>%a|Ki|(j?Y`dN z2x!~40h%^50K9ux3r)*JBNyqKHa`|Mz|#!+M_oJz@w5YSc2w82m+%Z7s%dxQ>4~R0 zp5+hW5}KZBXm*>ZX-g()8o5uwpJ4MbGG6wxch7iI(=N|K)oN>66Etb-IOr_@x=Yhu zyGPT=U2R7A8X8fXNKLx~ZUa1+ENkQ!44Y0$a^{uojz2Bcm!|mH16~00dJzw%6Dhcd z*wN0Ky;yYn-0_oj?o!eC3&+B+xy$|R31L9SLKM&gr5?faJdpLcIPis|xix>e`11=# zLV_mXEJfm4k)x5dyht=IcI>fcpA}`rj+ONi zOOOVY)p{ciU`sm`LT(=P`4X|=EJQ&1d2#-%qh7?ipZ)ALTOw{NJaKs1;)xCfHuHbZ zY<$i!)R&Eng;&F<*eEzXL`tdSWGIowBI|J9`tTxnu?ZK5JEFmClx&ZJ)) zPlome>Ba?j&?)n}4UxGU78SoZzO=lOnRC%`!0Muw_@E^iep(N}2T^TgEh+z)7hGt< zeDp7rwo!wbGGdGsVJ18bxsEX5rvZ;N z;Y8#!%7oK_$%joi7;zpk;io_^qfK}tnmNXVp9MVDgx4Vcqn61oS+C{D)DQg!M_UiP z`rD7sXEex!dn2C@Oqk00kl+Zk zmZt42@tPFWA=$ z_Va@Mz2ItIaG)1#_kx4GVCDsL=Ql1-!49v0>RxaSFSwQ$T-yr{@q+7k!J%Gom=|nG zPz@d)Wk>7HmtYZ40R|Th#zt=9b_^X+Snjy~3uH^ot_KE`_O&CDJ? zdJDVt<4?qNu77O(`P0l8hh9*}nOo#<56Rj5%beJ6wkO`(J|=qORrEW4iNAHzjN&5U zjL{>kNyVZoxoe8WP;zsN#na>#7mHN5LzB)Tm-H83jPpIby_0>;`HS6;s$8;vMJ{V7 zw9oi^2E2D@`^cqtzPNjXvx_VvjY4xNG%@w{W4#Y;e)9TBuu--ruwR{(eKIr5y1N&AnBqQ`VqN6jDh^7sQ|Bu90qtt?(DZ z;04hsma1_<+z)qX(l00|@ykig2JYP6c~-koJAy(~HPR^d8VXIR=d76e#r95jHy-%n ztP3XL$-F4Etp4S@Uj2M~z|N^5aSNii$-Wv%p~b(5d@3pFBDo+2nc+nd)Eu6<7e!NY zi!X{ka68X0_qW$>_PDL_XWKh#Wldw-HZ>7WiPqjCuh$ks3;$&MeZzN; zddO;0rVL$ktIz~ljo(BHO0X77H^k5R_#1QH+J36qbI&wNY-08jMJh&MNaEMF@Xca-$M>!-xqCs33QeHU`B(kL z;5fZjfP7o4-okwL0(dM=5A!(-U_OA_Z~l(!peV&Q06y8JfcF0GFSa0TXfeD(5|`Y6 zuQR3FSC@YDf9Plfvj~bdzXG+(jcM37wOiYu2U~ARYpMb@3S5K0kc2Zy!;G|UL%zK* zG`qT`i{b`9QwbIRBCZvxQ4C;UD?QvN=?{M~k$^P-k^l_L{R26S>~-)qv7y@=Z?b!b zwQi{LPdkqsiYc`4;ObwuecbKaK}X&lo)fF`A4#D}e$pMYWjT?k0J<}V&1U=4t$01VB&Mg<+|xVUJ0w?6{kzT=y=W;L`D zs)h`0JZE9Zj&8r$n(v=gYI38(b5xB)8-`hf=bEkE(XH)k9eOTYZB{akLf0gUveraf ziGsI*Tbw9j$xWIq`jNY4wipNZq1@TXWy;K#Yn1Kob|P~5=>^r@h&W3%pwPiRUs#Z| zr<-4o#Z&aL5vr*pDRllEo4t0&b02<|)9qkv@!Gq)*i1Z7;MzIjcpE+3nmb2S$O_C6 zVQr}b&x;Olhpu@ZS?guHf1jM!?W<i75{Nk==`}Nqb*8aGgs`R5_9K@bL1A!71i1iZ+iiG z7ZF+yc8e%`_Yodx_TR`Nq+Uazm)CtcbmGBovunS5Y2WK^7E7VI6guv~M_${0uv_M~ z-glmV&qTVDLW^Gzvr&RI=|%Atxoch&+sMs*Q5+$+_(gFA?$D%{s0Lp**cf`a+ls=J zlK4{rioO!gPz@+FXX@t*rXKD#^P5Mj?Qh&t;nhi@xfB`~@@8S~;clx60>hJ>EmWvR zp~WwWsqs{Ud14XVkTvsc_H@h02aa$1`s;2-$E*ryY7g8N7brfD*I%=qND{-^>x}~6 zm~XRNV6$00Uo2>^hXsC3@49B3m@hWa`=XceUPCk9cv*biUT@IjE4=eCbXHgx{l%}E zW;~yaNWq%12yU$q@|1t71rw;@FT%D_oZ4tZa^`Ivbi391OpfT&NmpjmkvSG^>F*X9 z{pemXx0Bx875pWZ1mNTHg?;1NwQKZ{Un1UT<2j5pMR)+p-%y0j!OQb_DiD_*@|%nI z7x4Jz!rqA|$c$f(uovO~5{1E!@+ZG}cuDfr+H2+HVS3Jo=gWB7B7;OkT8bwfPZpk` z@auzzekpn4ncMX4!*lX1+Utn_1|E0i$!|H{SK!G*{6ahcxzzD^w8lH7>l;hPX$^uA2i;LEJD1yGu(I~zeLoHIs^aZ z@8+E#GP>xU8c`WLk;Vrxt#~Lsxs=8lAd_o@^Mu~jY*RGwrP`zx7l!6hb6VG+d{Plc zKl+O_Xh^*DFRbccr<>kSF7Lzumt@#aphWm(?6+v^QRxrxU@9d0i2Odpdj_6t^gBJ| zw*l`T;hBp(itt3kuLGU|ct+yU@l?Qn9iCJ?2~+@n(GQ5-l%UtEO=jUd z_~*bJbibXtL(}>k5G4t^vdYIDP>3V{j00k@p(`u?QZN7De6h(e<5$2x#q5M<@F}u4SQa1%2#2fFv#;!1ygYzso=d+;avTnd+dgwURV z$;~od^1uJISTMj$6MtHz35H8Q?=*wqr#b~ZW&-n(_iPi z@h4GjkeP4Fzlj@jMm&qSVbn%nVD`rPiqnJirZT+G&BL4Aq1Tf794zwdH$; zdY|fk&sXn@@hnR zM23CLIP|^~`E~MxjTR44MrXKP@N~sPzf%bB1~>r^g&T0Y54Wq^D7X=3{Y%T;XGNbo^<`ZsYV_HgXHjTo z=bc4o#5FD-w%LzcI-e8acj@oQ+E~x2+LU-@6#+l`Q4#5;zjs#A2saA9vDvp}W7m0=M80Ykd(FW;uT#YgTW(=Mt~V&Pt&BpH6jrZYDC=76AbanD0~KiS8{W|G4h4%KJ+1XPsT>>pYxN{FQE`BStaNsbDha#{Q^LT@Tb{qD&8rZPje=56oT>otc~`^=_j>^R@V*c4QUZ0r zdn_LMRa_B%4?|!TUKPzB*89ouO$e(%9`x({yGVk6C(1V%YPQ>d9pD6n{|GL2(&TD~ zO+Q+&J#G3e{avs}^mQ_5r=M?y zc-HM-F5@Zx4i#ekBYKpKA6)^7f`@*SD#Qu+H>P~=H~mrOjHjlI88QCxv6Cqd)nyjK zj90FRrla*H_WUcDVBo#*icJh3t+#F;-wb=78e;Vtv`hI8!0N-Qx>$fQ-!ot|--`E8 zT7A5#5}&$i%iJ?sZy#t~x9HQ!dVn=5!)Dbo0<2nGHLErSPYRwiJn4AW;rXDNXgXED z%SE|;i`+(l`}pA$#L@t}^$B0-F97T_AU>w!X*&yLmB7aWw*qbe)HV6TD&DIB_G)oZ z!!j1WLzAk*c$Ya80jMz(sp&_#^m!UBK-No_1=xKlHI@|(z!sEy3a<4N1XcjxRPLvE a?tjiqArK2VS_RjSQesnQ5nvyve*X`3xY|+x