sreVAI_respawn\AI_civ_respawn_UPS.sqfiHAI_respawn\AI_load_out.sqfiHAI_respawn\AI_respawn.sqfiHU AI_respawn\AI_respawn_UPS.sqfiHAI_respawn\civ_killer.sqfiHanti_base_rape\anti_base_rape.sqfiH,anti_base_rape\anti_base_rape_hit.sqfiHwanti_base_rape\anti_base_rape_killed.sqfiHBoundary.sqfiH/ Briefing.htmliH9 description.extiHFlag_cap\mission_end.sqfiH/Flag_cap\start_flag_cap_short.sqfiHFlag_cap\team_killer.sqfiHuinit.sqfiH Misc_scripts\ammobox.sqsiHMisc_scripts\ammobox_e.sqfiHMisc_scripts\ammobox_w.sqfiHMisc_scripts\onfire.sqsiH'mission.sqm׊HRhrevive_init.sqfiH$revive_sqf\camera_follow.sqsiH,revive_sqf\CAM_KEY_pressed.sqfiHOrevive_sqf\dialogs\config.cppiHrevive_sqf\dialogs\respawn_button_1.hppiHrevive_sqf\dialogs\respawn_button_1c.hppiH! revive_sqf\dialogs\respawn_button_2.hppiHrevive_sqf\dialogs\respawn_button_3.hppiH revive_sqf\dialogs\respawn_button_4.hppiH`$revive_sqf\dialogs\rev_cam_dialog.hppiHDrevive_sqf\drag.sqfiH revive_sqf\drop_body.sqfiHrevive_sqf\heal.sqfiHrevive_sqf\heal_sqf\heal.sqfiHrevive_sqf\heal_sqf\player_heal.sqfiH revive_sqf\isplayer.sqfiHrevive_sqf\mission_end.sqfiHrevive_sqf\mobile\deploy_camo.sqfiH revive_sqf\mobile\mobile_remove_spawn.sqfiHrevive_sqf\mobile\mobile_spawn.sqfiHrevive_sqf\mobile\stow_camo.sqfiH5revive_sqf\mobile\vcl_respawn.sqfiHprevive_sqf\onConnect.sqfiHrevive_sqf\respawn_at_base.sqfiHrevive_sqf\respawn_at_base_jip.sqfiH revive_sqf\respawn_at_base_water.sqfiHrevive_sqf\revive_init.sqfiHprevive_sqf\Revive_player.sqfiHrevive_sqf\rPrn.sqfiHrevive_sqf\team_killer.sqfiHrevive_sqf\trigger_mkr.sqfiHcSound\RCapture.oggiH?Sound\RScore.oggiHSound\UCapture.oggiH?Sound\UNIV_r30.lipiH~Sound\UNIV_r30.oggiH.Sound\UNIV_r31.lipiHSound\UNIV_r31.oggiH9Sound\UNIV_r32.lipiHSound\UNIV_r32.oggiHGSound\UNIV_r33.lipiHSound\UNIV_r33.oggiHFSound\UNIV_r34.lipiH(Sound\UNIV_r34.oggiHpSSound\UNIV_r35.lipiH Sound\UNIV_r35.oggiH}VSound\UNIV_r36.lipiHSound\UNIV_r36.oggiH=Sound\UNIV_r37.lipiHSound\UNIV_r37.oggiH=Sound\UNIV_r38.lipiHSound\UNIV_r38.oggiHb0Sound\UNIV_r39.lipiHSound\UNIV_r39.oggiH.Sound\UNIV_r40.lipiHSound\UNIV_r40.oggiH:1Sound\UNIV_v05.lipiHSound\UNIV_v05.oggiHI6Sound\UNIV_v06.lipiHSound\UNIV_v06.oggiH/BSound\UNIV_v07.lipiHSound\UNIV_v07.oggiHYASound\UNIV_v10.lipiHSound\UNIV_v10.oggiH4Sound\UNIV_v11.lipiHSound\UNIV_v11.oggiHSSound\UNIV_v18.lipiHSound\UNIV_v18.oggiH@Sound\UNIV_v24.lipiHVSound\UNIV_v24.oggiH&Sound\UNIV_v25.lipiH~Sound\UNIV_v25.oggiH)Sound\UNIV_v31.lipiHtSound\UNIV_v31.oggiH'.Sound\UNIV_v50.lipiHSound\UNIV_v50.oggiH"ASound\UNIV_v51.lipiHSound\UNIV_v51.oggiHKSound\UScore.oggiHspect\common.hppiHspect\specta.sqfiHhspect\spectating.hppiH spect\specta_events.sqfiH2UPS.sqfiHv //Script by norrin //AI_civ_respawn_UPS.sqf // AUGUST 2008 if (!isServer) exitWith {}; private ["_unit","_respawn_delay","_patrol_zone","_type_unit","_group","_EHkilledidx","_wait"]; //define variables _unit = _this select 0; _respawn_delay = _this select 1; _patrol_zone = _this select 2; _type_unit = typeOf _unit; _group = group _unit; _EHkilledIdx = _unit addEventHandler ["killed", {_this execVM "AI_respawn\civ_killer.sqf"}]; //determine mission start load-out waitUntil {!alive _unit}; _wait = time + _respawn_delay + random 3; waitUntil {time > _wait}; //respawn AI _unit_new = _type_unit createUnit [(getMarkerPos _patrol_zone), _group, ""]; //Add respawn script [this, _respawn_delay,_patrol_zone] execVM "AI_respawn\AI_civ_respawn_UPS.sqf"; //Add waypoint [this,_patrol_zone] execVM "ups.sqf"; sleep 15; deleteVehicle _unit; if (true) exitWith {}; //Script by norrin //AI_load_out.sqf // AUGUST 2008 if (!isServer) exitWith {}; //--------------------------------------------------------------------------------------------------------------------------------------------------- //Create UPS Markers _zone_mrker1 = createMarkerLocal["UPS_zone1",[(getMarkerPos "UPS_z1") select 0,(getMarkerPos "UPS_z1") select 1]]; _zone_mrker1 setMarkerShapeLocal "rectangle"; "UPS_zone1" setMarkerSizeLocal [30, 80]; _zone_mrker2 = createMarkerLocal["UPS_zone2",[(getMarkerPos "UPS_z2") select 0,(getMarkerPos "UPS_z2") select 1]]; _zone_mrker2 setMarkerShapeLocal "rectangle"; "UPS_zone2" setMarkerSizeLocal [30, 80]; _zone_mrker3 = createMarkerLocal["UPS_zone3",[(getMarkerPos "UPS_z3") select 0,(getMarkerPos "UPS_z3") select 1]]; _zone_mrker3 setMarkerShapeLocal "rectangle"; "UPS_zone3" setMarkerSizeLocal [30, 80]; _zone_mrker4 = createMarkerLocal["UPS_zone4",[(getMarkerPos "UPS_z4") select 0,(getMarkerPos "UPS_z4") select 1]]; _zone_mrker4 setMarkerShapeLocal "rectangle"; "UPS_zone4" setMarkerSizeLocal [50, 50]; //---------------------------------------------------------------------------------------------------------------------------------------------------- //Resistance _AK_group = [militia10]; {removeAllWeapons _x; _x addMagazine "30Rnd_545x39_AK"; _x addMagazine "30Rnd_545x39_AK"; _x addMagazine "30Rnd_545x39_AK"; _x addMagazine "30Rnd_545x39_AK"; _x addweapon "AK74";}forEach _AK_group; mil1 = group militia1; _militia_flag1 = []; _militia_flag2 = []; _militia_flag3 = []; _militia_flag1 = [militia10,militia11,militia12,militia13,militia14]; _militia_flag2 = [militia20,militia21,militia22,militia23,militia24]; _militia_flag3 = [militia30,militia31,militia32,militia33,militia34]; _militia_zone1 = []; _militia_zone2 = []; _militia_zone3 = []; _militia_zone4 = []; _militia_zone1 = [mil_zone10,mil_zone11]; _militia_zone2 = [mil_zone20,mil_zone21]; _militia_zone3 = [mil_zone30,mil_zone31]; _militia_zone4 = [mil_zone40,mil_zone41]; _all_militia = []; _all_militia = _militia_flag1 + _militia_flag2 + _militia_flag3 + _militia_zone1 + _militia_zone2 + _militia_zone3 + _militia_zone4; {[_x,30,flag1] execVM "AI_respawn\AI_respawn.sqf"; _waypoint0 = (group _x) addWaypoint [getPos flag1, 10];_waypoint0 setWaypointType "GUARD";}forEach _militia_flag1; {[_x,30,flag2] execVM "AI_respawn\AI_respawn.sqf"; _waypoint0 = (group _x) addWaypoint [getPos flag2, 10];_waypoint0 setWaypointType "GUARD";}forEach _militia_flag2; {[_x,30,flag3] execVM "AI_respawn\AI_respawn.sqf"; _waypoint0 = (group _x) addWaypoint [getPos flag3, 10];_waypoint0 setWaypointType "GUARD";}forEach _militia_flag3; {[_x,"UPS_zone1"]execVM "ups.sqf";[_x,120,"UPS_zone1"] execVM "AI_respawn\AI_respawn_UPS.sqf"}foreach _militia_zone1; {[_x,"UPS_zone2"]execVM "ups.sqf";[_x,120,"UPS_zone2"] execVM "AI_respawn\AI_respawn_UPS.sqf"}foreach _militia_zone2; {[_x,"UPS_zone3"]execVM "ups.sqf";[_x,120,"UPS_zone3"] execVM "AI_respawn\AI_respawn_UPS.sqf"}foreach _militia_zone3; {[_x,"UPS_zone4"]execVM "ups.sqf";[_x,120,"UPS_zone4"] execVM "AI_respawn\AI_respawn_UPS.sqf"}foreach _militia_zone4; //Set AI skill {if (param2 <= 4) then {_x setSkill 0.3}} forEach _all_militia; {if (param2 > 4 && param2 <= 8) then {_x setSkill 0.5}} forEach _all_militia; {if (param2 > 8 && param2 <= 12) then {_x setSkill 0.9}} forEach _all_militia; //If mission start time evening add NVG to AI {if (param1 > 6) then {_x removeWeapon "NVGoggles"; _x addWeapon "NVGoggles"}} forEach _all_militia; //---------------------------------------------------------------------------------------------------------------------------------------------------- //Civilians _civ_zone1 = []; _civ_zone2 = []; _civ_zone3 = []; _civ_zone4 = []; _civ_zone1 = [civ_zone10,civ_zone11]; _civ_zone2 = [civ_zone20,civ_zone21]; _civ_zone3 = [civ_zone30,civ_zone31]; _civ_zone4 = [civ_zone40]; {[_x,"UPS_zone1"]execVM "ups.sqf";[_x,120,"UPS_zone1"] execVM "AI_respawn\AI_civ_respawn_UPS.sqf"}foreach _civ_zone1; {[_x,"UPS_zone2"]execVM "ups.sqf";[_x,120,"UPS_zone2"] execVM "AI_respawn\AI_civ_respawn_UPS.sqf"}foreach _civ_zone2; {[_x,"UPS_zone3"]execVM "ups.sqf";[_x,120,"UPS_zone3"] execVM "AI_respawn\AI_civ_respawn_UPS.sqf"}foreach _civ_zone3; {[_x,"UPS_zone4"]execVM "ups.sqf";[_x,120,"UPS_zone4"] execVM "AI_respawn\AI_civ_respawn_UPS.sqf"}foreach _civ_zone4; if (true) exitWith {}; //Script by norrin //AI_respawn.sqf // AUGUST 2008 if (!isServer) exitWith {}; private ["_unit","_respawn_delay","_defense_pos","_spawn_mkr","_type_unit","_group","_weapons","_magazines","_wait","_waypoint0"]; //define variables _unit = _this select 0; _respawn_delay = _this select 1; _defense_pos = _this select 2; _type_unit = typeOf _unit; _group = group _unit; //determine mission start load-out _weapons = weapons _unit; _magazines = magazines _unit; waitUntil {!alive _unit}; _wait = time + _respawn_delay + random 3; waitUntil {time > _wait}; //check respawn position if (_defense_pos == flag1) then { if (cap_flag1 == 0) then {_spawn_mkr = "sector1"}; if (cap_flag1 != 0 && cap_flag2 == 0) then {_spawn_mkr = "sector2"}; if (cap_flag1 != 0 && cap_flag2 != 0 && cap_flag3 == 0) then {_spawn_mkr = "sector3"}; if (cap_flag1 != 0 && cap_flag2 != 0 && cap_flag3 != 0) then { _ran = ceil (random 3); if (_ran == 1) then {_spawn_mkr = "spawn_1"}; if (_ran == 2) then {_spawn_mkr = "spawn_2"}; if (_ran == 3) then {_spawn_mkr = "spawn_3"}; }; }; if (_defense_pos == flag2) then { if (cap_flag2 == 0) then {_spawn_mkr = "sector2"}; if (cap_flag2 != 0 && cap_flag1 == 0) then {_spawn_mkr = "sector1"}; if (cap_flag2 != 0 && cap_flag1 != 0 && cap_flag3 == 0) then {_spawn_mkr = "sector3"}; if (cap_flag2 != 0 && cap_flag1 != 0 && cap_flag3 != 0) then { _ran = ceil (random 3); if (_ran == 1) then {_spawn_mkr = "spawn_1"}; if (_ran == 2) then {_spawn_mkr = "spawn_2"}; if (_ran == 3) then {_spawn_mkr = "spawn_3"}; }; }; if (_defense_pos == flag3) then { if (cap_flag3 == 0) then {_spawn_mkr = "sector3"}; if (cap_flag3 != 0 && cap_flag1 == 0) then {_spawn_mkr = "sector1"}; if (cap_flag3 != 0 && cap_flag1 != 0 && cap_flag2 == 0) then {_spawn_mkr = "sector2"}; if (cap_flag2 != 0 && cap_flag1 != 0 && cap_flag3 != 0) then { _ran = ceil (random 3); if (_ran == 1) then {_spawn_mkr = "spawn_1"}; if (_ran == 2) then {_spawn_mkr = "spawn_2"}; if (_ran == 3) then {_spawn_mkr = "spawn_3"}; }; //hint format ["%1",_spawn_mkr]; }; //respawn AI _unit_new = _type_unit createUnit [(getMarkerPos _spawn_mkr), _group, ""]; //Give unit weapons assigned at mission start removeAllWeapons this; {this addMagazine _x;} forEach _magazines; {this addWeapon _x;} forEach _weapons; this selectWeapon (primaryWeapon this); //Add respawn script [this, _respawn_delay,_defense_pos] execVM "AI_respawn\AI_respawn.sqf"; //Add waypoint _waypoint0 = _group addWaypoint [getPos _defense_pos, 10]; _waypoint0 setWaypointType "GUARD"; //Set skill if (param2 <= 4) then {this setSkill 0.3}; if (param2 > 4 && param2 <= 8) then {this setSkill 0.5}; if (param2 > 8 && param2 <= 12) then {this setSkill 0.9}; sleep 15; deleteVehicle _unit; if (true) exitWith {}; //Script by norrin //AI_respawn_UPS.sqf // AUGUST 2008 if (!isServer) exitWith {}; private ["_unit","_respawn_delay","_patrol_zone","_type_unit","_group","_weapons","_magazines","_wait"]; //define variables _unit = _this select 0; _respawn_delay = _this select 1; _patrol_zone = _this select 2; _type_unit = typeOf _unit; _group = group _unit; //determine mission start load-out _weapons = weapons _unit; _magazines = magazines _unit; waitUntil {!alive _unit}; _wait = time + _respawn_delay + random 3; waitUntil {time > _wait}; //respawn AI _unit_new = _type_unit createUnit [(getMarkerPos _patrol_zone), _group, ""]; //Give unit weapons assigned at mission start removeAllWeapons this; {this addMagazine _x;} forEach _magazines; {this addWeapon _x;} forEach _weapons; this selectWeapon (primaryWeapon this); //Add respawn script [this, _respawn_delay,_patrol_zone] execVM "AI_respawn\AI_respawn_UPS.sqf"; //Add waypoint [this,_patrol_zone] execVM "ups.sqf"; //Set skill if (param2 <= 4) then {this setSkill 0.3}; if (param2 > 4 && param2 <= 8) then {this setSkill 0.5}; if (param2 > 8 && param2 <= 12) then {this setSkill 0.9}; sleep 15; deleteVehicle _unit; if (true) exitWith {};/* CIV KILL PUNISHMENT SCRIPT This script automatically decreases the team score if civiliand are harmed AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) ************************************************************************************************************************************* civ_killer.sqf */ private ["_killer"]; _killer = _this select 1; if (side _killer == west) then {civ_kill_west = true}; if (side _killer == east) then {civ_kill_east = true}; if (true) exitWith {}; /* ANTI-BASE RAPE SCRIPT Adds necessary eventhandlers at mission start AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) ****************************************************************************************************************************** Start anti_base_rape.sqf */ if (!local player) exitWith{}; player addEventHandler ["killed", {_this execVM "anti_base_rape\anti_base_rape_killed.sqf"}]; player addEventHandler ["hit", {_this execVM "anti_base_rape\anti_base_rape_hit.sqf"}]; if (true) exitWith {}; /* ANTI-BASE RAPE HIT SCRIPT AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) ****************************************************************************************************************************** Start anti_base_rape_hit.sqf */ if(!local player) exitWith {}; _unit = _this select 0; _shooter = _this select 1; _damage = _this select 2; _kill_score = 20; if (player distance getMarkerPos NORRN_zone_west < NORRN_size_zone && playerSide == west && _shooter != player && side _shooter != west) then { call compile format ["%1_score_en = %1_score_en - _kill_score; publicVariable '%1_score_en'", player]; {if (!isNull _x && side _x == east) then {_x setVehicleInit "titlecut ['Your team has lost points due to killing enemy inside their spawn zone','PLAIN DOWN',0.4]"}} forEach NORRN_flag_players; _unit setDammage (getdammage _unit - _damage); _shooter setDammage 1; _shooter setVehicleInit "NORRN_boundary_true = true"; processInitCommands }; if (player distance getMarkerPos NORRN_zone_east < NORRN_size_zone && playerSide == east && _shooter != player && side _shooter != east) then { call compile format ["%1_score_en = %1_score_en - _kill_score; publicVariable '%1_score_en'", player]; {if (!isNull _x && side _x == west) then {_x setVehicleInit "titlecut ['Your team has lost points due to killing enemy inside their spawn zone','PLAIN DOWN',0.4]"}} forEach NORRN_flag_players; _unit setDammage (getdammage _unit - _damage); _shooter setDammage 1; _shooter setVehicleInit "NORRN_boundary_true = true"; processInitCommands }; sleep 0.1; if (true) exitWith {}; /* ANTI-BASE RAPE KILLED SCRIPT AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) ****************************************************************************************************************************** Start anti_base_rape_killed.sqf */ if(!local player) exitWith {}; _unit = _this select 0; _killer = _this select 1; _kill_score = 20; if (_killer != player && _unit distance getMarkerPos NORRN_zone_west < NORRN_size_zone && playerSide == west|| _killer != player && _unit distance getMarkerPos NORRN_zone_east < NORRN_size_zone && playerSide == east) then {NORRN_boundary_true = true}; if (_unit distance getMarkerPos NORRN_zone_west < NORRN_size_zone && playerSide == west && _killer != player && side _shooter != west) then { call compile format ["%1_score_en = %1_score_en - _kill_score; publicVariable '%1_score_en'", player]; {if (!isNull _x && side _x == east) then {_x setVehicleInit "titlecut ['Your team has lost points due to killing enemy inside their spawn zone','PLAIN DOWN',0.4]"}} forEach NORRN_flag_players; _killer setDammage 1; _killer setVehicleInit "NORRN_boundary_true = true"; processInitCommands }; if (_unit distance getMarkerPos NORRN_zone_east < NORRN_size_zone && playerSide == east && _killer != player && side _shooter != east) then { call compile format ["%1_score_en = %1_score_en - _kill_score; publicVariable '%1_score_en'", player]; {if (!isNull _x && side _x == west) then {_x setVehicleInit "titlecut ['Your team has lost points due to killing enemy inside their spawn zone','PLAIN DOWN',0.4]"}} forEach NORRN_flag_players; _killer setDammage 1; _killer setVehicleInit "NORRN_boundary_true = true"; processInitCommands }; sleep 0.1; if (true) exitWith {};/* BOUNDARY SCRIPT Creates zones that if entered will warn the player and then kill him if he doesn't leave AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) Version: 0.2 ******************************************************************************************************* Start Boundary.sqf */ //Define Variables _zone = _this select 0; _unit = player; _count = 0; _x = false; _y = false; NORRN_boundary_true = false; if (!local _unit) exitWith {}; //Get zone position _zone_pos = getMarkerPos _zone; _zone_pos_x = _zone_pos select 0; _zone_pos_y = _zone_pos select 1; //Get zone size _zone_size = MarkerSize _zone; _zone_size_x = (_zone_size select 0); _zone_size_y = (_zone_size select 1); while {true} do { _unit = player; //Get player's position _pos = getPos _unit; _pos_x = _pos select 0; _pos_y = _pos select 1; if (abs(_pos_x - _zone_pos_x) < _zone_size_x || abs(_zone_pos_x - _pos_x) < _zone_size_x) then {_x = true} else {_x = false}; if (abs(_pos_y - _zone_pos_y) < _zone_size_y || abs(_zone_pos_y - _pos_y) < _zone_size_y) then {_y = true} else {_y = false}; _dir_unit = getDir _unit; sleep 1; //If player in boundary zone, give a ten second warning then kill player if still present in zone while {alive _unit && _x && _y} do { if (_count == 0 && isplayer _unit && local _unit) then { Titletext ["You are leaving the field of combat. You have 10 seconds to return to the battlefield","PLAIN", 1]; if (_dir_unit <= 22.5 || _dir_unit > 337.5) then {hint "Move south to exit zone"}; if (_dir_unit > 22.5 && _dir_unit <= 67.5) then {hint "Move south-west to exit zone"}; if (_dir_unit > 67.5 && _dir_unit <= 112.5) then {hint "Move west to exit zone"}; if (_dir_unit > 112.5 && _dir_unit <= 157.5) then {hint "Move north-west to exit zone"}; if (_dir_unit > 157.5 && _dir_unit <= 202.5) then {hint "Move north to exit zone"}; if (_dir_unit > 202.5 && _dir_unit <= 247.5) then {hint "Move north-east to exit zone"}; if (_dir_unit > 247.5 && _dir_unit <= 292.5) then {hint "Move east to exit zone"}; if (_dir_unit > 292.5 && _dir_unit <= 337.5) then {hint "Move south-east to exit zone"}; }; _counter = 10 - _count; call compile format ["if (isplayer _unit && local _unit && _counter >= 0) then {titleCut [""Time Remaining: %1"", ""PLAIN DOWN"", 0.1]}", _counter]; if (_x && _y && _counter == 0) then { _unit SetDammage 1; _x = false; _y = false; NORRN_boundary_true = true; }; sleep 1; _count = _count + 1; _pos = getPos _unit; _pos_x = _pos select 0; _pos_y = _pos select 1; if (abs(_pos_x - _zone_pos_x) < _zone_size_x || abs(_zone_pos_x - _pos_x) < _zone_size_x) then {_x = true} else {_x = false}; if (abs(_pos_y - _zone_pos_y) < _zone_size_y || abs(_zone_pos_y - _pos_y) < _zone_size_y) then {_y = true} else {_y = false}; }; if (local _unit && _count > 0) then {Titletext [" ","PLAIN", 0.05]; TitleCut ["","PLAIN DOWN", 0.1]; hint ""}; _count = 0; };

War has broken out and the poor inhabitants of Porto find themselves in the thick of it. As it is a strategic stepping stone to the mainland a contingent of local troops has been dispatched to the island in an attempt to prevent it from being over run. Not to be outdone small teams of BLUFOR and OPFOR forces have landed on the island in an attempt to infiltrate and capture the city as a prelude to the landing of a larger force. As the war is in its infancy and the world has yet to take sides both invaders have chosen to deploy irregular units in an effort to maintain plausible deniability in case the invasion turns sour.

ROE: As world opinion rests in the balance under no circumstances are civilians to be harmed.

Additional Information:
Although most of the island's inhabitants remain safe behind locked doors there are, even now, confused civilians roaming the streets.

Capture the three flags and hold on until the cavalry arrives.

The flags are located in:


Team Scoring System

Capture flag +5 points
Each minute a flag is held +3 points
Enemy kill +3 points
Revive team mate +3 points

Kill team mate -10 points
Respawn at base -3 points
Kill Civilian -20 points

Additional Notes

* If you die within a flag capture zone you will respawn at base without losing points
* If you attack an enemy unit within its spawn zone the consequences will be dire

Central Porto


North Porto


South Porto


OnLoadMission = "Surprise Party in Porto - PvP Capture and Hold"; class Header { gameType = Scont; minPlayers = 1; maxPlayers = 16; }; showGPS = true; /////////////////////////////////////////////////////////////////////////////////////////// //Description.ext settings for NORRN_revive respawn = "BASE"; respawndelay = 4; disabledAI = 1; // Include revive script resources #include "revive_sqf\dialogs\respawn_button_1.hpp" #include "revive_sqf\dialogs\respawn_button_2.hpp" #include "revive_sqf\dialogs\respawn_button_3.hpp" #include "revive_sqf\dialogs\respawn_button_4.hpp" #include "revive_sqf\dialogs\respawn_button_1c.hpp" #include "revive_sqf\dialogs\config.cpp" #include "revive_sqf\dialogs\rev_cam_dialog.hpp" // Include spectating script resource #include "spect\spectating.hpp" /////////////////////////////////////////////////////////////////////////////////////////// titleParam1 = "Set time/Length/Score"; valuesParam1[] = {1,2,3,4,5,6,7,8,9,10,11,12}; defValueParam1 = 1; textsParam1[] = {"morning/30 min/100","morning/60 min/100","morning/30 min/200","morning/60 min/200","morning/30 min/300","morning/60 min/300", "evening/30 min/100","evening/60 min/100","evening/30 min/200","evening/60 min/200","evening/30 min/300","evening/60 min/300"}; /////////////////////////////////////////////////////////////////////////////////////////// titleParam2 = "Revives/AI Ability"; valuesParam2[] = {1,2,3,4,5,6,7,8,9,10,11,12}; defValueParam2 = 7; textsParam2[] = {" 3/Low"," 5/Low","10/Low","Inf/Low"," 3/Mod"," 5/Mod","10/Mod","Inf/Mod"," 3/High"," 5/High","10/High","Inf/High"}; /////////////////////////////////////////////////////////////////////////////////////////// //script by norrin if (isServer) then { mission_over = false; publicVariable "mission_over"; }else{ waitUntil {!isNull player}; }; sleep 2; //Create mission end trigger _trig_0 = createTrigger["EmptyDetector",getArray(configFile>>"CfgWorlds">>worldName>>"centerPosition")]; _trig_0 setTriggerType "END6"; _trig_0 setTriggerActivation ["LOGIC", "", false]; _trig_0 setTriggerArea [1, 1, 0, false]; _trig_0 setTriggerStatements ["mission_Over", "forceEnd", ""]; _trig_0 setTriggerTimeout [0, 0, 0, false]; if (true) exitWith {} //Script by norrin //start_flag_cap.sqf // AUGUST 2008 if (!isServer) exitWith {}; _win_score = _this select 0; sleep 1; _all_players = []; _all_players = NORRN_player_units + NORRN_player_units_OPFOR; cap_flag1 = 0; cap_flag2 = 0; cap_flag3 = 0; publicVariable "cap_flag1"; publicVariable "cap_flag2"; publicVariable "cap_flag3"; _cap_flag1 = 0; _cap_flag2 = 0; _cap_flag3 = 0; _score_red = 0; _score_blue = 0; sleep 30; civ_kill_west = false; civ_kill_east = false; //scoring variables _score_time = 60; _time_message = 900; _next_message = _time_message; _cap_score = 5; _points_per_flag = 3; while {true} do { //Define units in mission and which team they are on NORRN_flag_players = []; NORRN_flag_blufor = []; NORRN_flag_opfor = []; {call compile format ["NORRN_flag_players = NORRN_flag_players + [%1]", _x]} forEach _all_players; {call compile format ["NORRN_flag_blufor = NORRN_flag_blufor + [%1]", _x]} forEach NORRN_player_units; {call compile format ["NORRN_flag_opfor = NORRN_flag_opfor + [%1]", _x]} forEach NORRN_player_units_OPFOR; //Change flag status and add points for capturing flags //Flag 1 if (cap_flag1 == 2 && _cap_flag1 == 0 || cap_flag1 == 2 && _cap_flag1 == 1) then { flag1 setFlagTexture "\ca\misc\data\usa_vlajka_co.paa"; "Sector1" setMarkerColor "ColorBlue"; "Sector1flag" setMarkerColor "ColorBlue"; _cap_flag1 = 2; _score_blue = _score_blue + _cap_score; time_flag1_blue = time + _score_time; sleep 0.1; }; if (cap_flag1 == 1 && _cap_flag1 == 0 || cap_flag1 == 1 && _cap_flag1 == 2) then { flag1 setFlagTexture "\ca\misc\data\rus_vlajka_co.paa"; "Sector1" setMarkerColor "ColorRed"; "Sector1flag" setMarkerColor "ColorRed"; _cap_flag1 = 1; _score_red = _score_red + _cap_score; time_flag1_red = time + _score_time; sleep 0.1; }; if (cap_flag1 == 0 && _cap_flag1 == 1 || cap_flag1 == 0 && _cap_flag1 == 2)then { flag1 setFlagTexture "\ca\misc\data\jih_vlajka.paa"; "Sector1" setMarkerColor "ColorBlack"; "Sector1flag" setMarkerColor "ColorBlack"; _cap_flag1 = 0; sleep 0.1; }; //Flag 2 if (cap_flag2 == 2 && _cap_flag2 == 0 || cap_flag2 == 2 && _cap_flag2 == 1) then { flag2 setFlagTexture "\ca\misc\data\usa_vlajka_co.paa"; "Sector2" setMarkerColor "ColorBlue"; "Sector2flag" setMarkerColor "ColorBlue"; _cap_flag2 = 2; _score_blue = _score_blue + _cap_score; time_flag2_blue = time + _score_time; sleep 0.1; }; if (cap_flag2 == 1 && _cap_flag2 == 0 || cap_flag2 == 1 && _cap_flag2 == 2) then { flag2 setFlagTexture "\ca\misc\data\rus_vlajka_co.paa"; "Sector2" setMarkerColor "ColorRed"; "Sector2flag" setMarkerColor "ColorRed"; _cap_flag2 = 1; _score_red = _score_red + _cap_score; time_flag2_red = time + _score_time; sleep 0.1; }; if (cap_flag2 == 0 && _cap_flag2 == 1 || cap_flag2 == 0 && _cap_flag2 == 2) then { flag2 setFlagTexture "\ca\misc\data\jih_vlajka.paa"; "Sector2" setMarkerColor "ColorBlack"; "Sector2flag" setMarkerColor "ColorBlack"; _cap_flag2 = 0; sleep 0.1; }; //Flag 3 if (cap_flag3 == 2 && _cap_flag3 == 0 || cap_flag3 == 2 && _cap_flag3 == 1) then { flag3 setFlagTexture "\ca\misc\data\usa_vlajka_co.paa"; "Sector3" setMarkerColor "ColorBlue"; "Sector3flag" setMarkerColor "ColorBlue"; _cap_flag3 = 2; _score_blue = _score_blue + _cap_score; time_flag3_blue = time + _score_time; sleep 0.1; }; if (cap_flag3 == 1 && _cap_flag3 == 0 || cap_flag3 == 1 && _cap_flag3 == 2) then { flag3 setFlagTexture "\ca\misc\data\rus_vlajka_co.paa"; "Sector3" setMarkerColor "ColorRed"; "Sector3flag" setMarkerColor "ColorRed"; _cap_flag3 = 1; _score_red = _score_red + _cap_score; time_flag3_red = time + _score_time; sleep 0.1; }; if (cap_flag3 == 0 && _cap_flag3 == 1 || cap_flag3 == 0 && _cap_flag3 == 2) then { flag3 setFlagTexture "\ca\misc\data\jih_vlajka.paa"; "Sector3" setMarkerColor "ColorBlack"; "Sector3flag" setMarkerColor "ColorBlack"; _cap_flag3 = 0; sleep 0.1; }; //Add Points for holding flags //Flag 1 if (time >= time_flag1_blue && _cap_flag1 == 2) then { _score_blue = _score_blue + _points_per_flag; time_flag1_blue = time + _score_time; }; if (time >= time_flag1_red && _cap_flag1 == 1) then { _score_red = _score_red + _points_per_flag; time_flag1_red = time + _score_time; }; //Flag 2 if (time >= time_flag2_blue && _cap_flag2 == 2) then { _score_blue = _score_blue + _points_per_flag; time_flag2_blue = time + _score_time; }; if (time >= time_flag2_red && _cap_flag2 == 1) then { _score_red = _score_red + _points_per_flag; time_flag2_red = time + _score_time; }; //Flag 3 if (time >= time_flag3_blue && _cap_flag3 == 2) then { _score_blue = _score_blue + _points_per_flag; time_flag3_blue = time + _score_time; }; if (time >= time_flag3_red && _cap_flag3 == 1) then { _score_red = _score_red + _points_per_flag; time_flag3_red = time + _score_time; }; //Decrease points for killing civilians if (civ_kill_west) then { _score_blue = _score_blue - 20; {if (!isNull _x && side _x == west) then {_x setVehicleInit "titlecut ['Your team has lost points due to civilian casualties','PLAIN DOWN',0.4]"}} forEach NORRN_flag_players; processInitCommands; civ_kill_west = false; }; if (civ_kill_east) then { _score_red = _score_red - 20; {if (!isNull _x && side _x == east) then {_x setVehicleInit "titlecut ['Your team has lost points due to civilian casualties','PLAIN DOWN',0.4]"}} forEach NORRN_flag_players; processInitCommands; civ_kill_east = false; }; //Add player related scores player_score_blue = 0; player_score_red = 0; {if (!isNull _x) then {call compile format ["player_score_blue = player_score_blue + (%1_score - %1_score_old);%1_score_old = %1_score", _x]}}forEach NORRN_flag_blufor; {if (!isNull _x) then {call compile format ["player_score_red = player_score_red + (%1_score - %1_score_old);%1_score_old = %1_score", _x]}} forEach NORRN_flag_OPFOR; {if (!isNull _x) then {call compile format ["player_score_blue = player_score_blue + (%1_score_en - %1_score_en_old);%1_score_en_old = %1_score_en", _x]}}forEach NORRN_flag_OPFOR; {if (!isNull _x) then {call compile format ["player_score_red = player_score_red + (%1_score_en - %1_score_en_old);%1_score_en_old = %1_score_en", _x]}} forEach NORRN_flag_blufor; if (!isNil "player_score_blue") then {_score_blue = _score_blue + player_score_blue}; if (!isNil "player_score_red") then {_score_red = _score_red + player_score_red}; NORRN_flag_message = format ["Score \nEast: %1 \nWest: %2",_score_red,_score_blue]; publicVariable "NORRN_flag_message"; sleep 2; {if (!isNull _x) then {_x setVehicleInit "hint format ['%1', NORRN_flag_message]"}} forEach NORRN_flag_players; processInitCommands; //End mission if time elapses or winning score attained if (time > NORRN_mission_length || _score_red == NORRN_win_score || _score_blue == NORRN_win_score)exitWith { NORRN_flag_message = format ["Mission Over \nFinal Score \nEast: %1 \nWest: %2",_score_red,_score_blue]; publicVariable "NORRN_flag_message"; sleep 2; {if (!isNull _x) then {_x setVehicleInit "call compile format ['titlecut [''%1'',''PLAIN DOWN'',1]', NORRN_flag_message]"}} forEach NORRN_flag_players; processInitCommands; sleep 5; mission_Over = true; publicVariable "mission_Over"; }; //Broadcast time remaining if (time > _next_message) then { _time_remain = round((NORRN_mission_length - _next_message)/60); //prompt time remaining NORRN_time_message = format ["Time Remaining: %1 min",_time_remain]; publicVariable "NORRN_time_message"; sleep 2; server setVehicleInit "call compile format ['server globalChat ''%1''', NORRN_time_message]"; processInitCommands; _next_message = _next_message + _time_message; }; sleep 2; }; if (true) exitWith {}; /* TEAM KILL PUNISHMENT SCRIPT This script automatically decreases the team score when players kill civilians JUNE 2007 - norrin (norrins_nook@iprimus.com.au) ************************************************************************************************************************************* team_killer.sqf */ _killer = _this select 1; _kill_score = 3; _tk_score = 10; _enemy_array = []; {call compile format ["if(!isnull %1) then {_enemy_array = _enemy_array + [%1]}", _x]} forEach NORRN_revive_enemy_units; if (isplayer _killer && _killer != player && _killer isKindOf can_be_revived || isplayer _killer && _killer != player && _killer isKindOf can_be_revived_2) then { call compile format ["%1_score = %1_score - _tk_score; publicVariable '%1_score'", player]; }; if (isplayer _killer && _killer in _enemy_array && (player distance getMarkerPos "Base_west" > NORRN_size_zone) && (player distance getMarkerPos "Base_east" > NORRN_size_zone)) then { //score call compile format ["%1_score_en = %1_score_en + _kill_score; publicVariable '%1_score_en'", player]; }; if (true) exitWith {}; //Initialise mission end function for flag script server execVM "Flag_cap\mission_end.sqf"; //Get sector colours on joining If (cap_flag1 == 2) then {"Sector1" setMarkerColorLocal "colorBlue"; "Sector1flag" setMarkerColorLocal "ColorBlue"}; If (cap_flag1 == 1) then {"Sector1" setMarkerColorLocal "colorRed"; "Sector1flag" setMarkerColorLocal "ColorRed"}; If (cap_flag1 == 0) then {"Sector1" setMarkerColorLocal "colorBlack"; "Sector1flag" setMarkerColorLocal "colorBlack"}; If (cap_flag2 == 2) then {"Sector2" setMarkerColorLocal "colorBlue";"Sector2flag" setMarkerColorLocal "ColorBlue"}; If (cap_flag2 == 1) then {"Sector2" setMarkerColorLocal "colorRed";"Sector2flag" setMarkerColorLocal "ColorRed"}; If (cap_flag2 == 0) then {"Sector1" setMarkerColorLocal "colorBlack"; "Sector2flag" setMarkerColorLocal "colorBlack"}; If (cap_flag3 == 2) then {"Sector2" setMarkerColorLocal "colorBlue";"Sector3flag" setMarkerColorLocal "ColorBlue"}; If (cap_flag3 == 1) then {"Sector2" setMarkerColorLocal "colorRed";"Sector3flag" setMarkerColorLocal "ColorRed"}; If (cap_flag3 == 0) then {"Sector1" setMarkerColorLocal "colorBlack"; "Sector3flag" setMarkerColorLocal "colorBlack"}; //Set radius of flag capture triggers for revive script NORRN_flag_radius = 10; NORRN_flag_names = []; NORRN_flag_names = [flag1, flag2,flag3];//Put name of flags in here //Set mission Variables if (isServer) then { //Set mission length if (param1 == 1||param1 == 3||param1 == 5||param1 == 7||param1 == 9 ||param1 == 11) then {NORRN_mission_length = 1800}; if (param1 == 2||param1 == 4||param1 == 6||param1 == 8||param1 == 10||param1 == 12) then {NORRN_mission_length = 3600}; //Set winning score if (param1 == 1||param1 == 2||param1 == 7 ||param1 == 8) then {NORRN_win_score = 100}; if (param1 == 3||param1 == 4||param1 == 9 ||param1 == 10) then {NORRN_win_score = 200}; if (param1 == 5||param1 == 6||param1 == 11||param1 == 12) then {NORRN_win_score = 300}; }; //Start flag capture script on server if (isServer) then {[NORRN_win_score] execVM "Flag_cap\start_flag_cap_short.sqf"}; //Exec AI loadout if (isServer) then {[]execVM "AI_respawn\AI_load_out.sqf"}; if (isServer)then{}else {waitUntil {!isNull player}}; //Initialise revive script server execVM "revive_init.sqf"; //variables for protection scripts NORRN_zone_west = "Base_west"; NORRN_zone_east = "Base_east"; NORRN_size_zone = 90; //init code for norrin's safe haven script [] execVM "anti_base_rape\anti_base_rape.sqf"; //Set mission start time if (param1 > 6) then {skipTime 12}; removeAllWeapons player; {player removeMagazine _x} forEach magazines player; //If mission start time evening add NVG to Players if (param1 > 6) then {player addWeapon "NVGoggles"}; [west_ammo1] execVM "misc_scripts\ammobox_w.sqf"; [west_ammo2] execVM "misc_scripts\ammobox_w.sqf"; [east_ammo1] execVM "misc_scripts\ammobox_e.sqf"; [east_ammo2] execVM "misc_scripts\ammobox_e.sqf"; sleep 0.5; if (true) exitWith {}; _crate = _this Select 0 ClearMagazineCargo _crate ClearWeaponCargo _crate _crate AddWeaponCargo ["M16A4_ACG_GL", 200] _crate AddMagazineCargo ["30Rnd_556x45_Stanag", 600] _crate AddWeaponCargo ["M249", 150] _crate AddMagazineCargo ["200Rnd_556x45_M249", 600] _crate AddWeaponCargo ["M24", 30] _crate AddMagazineCargo ["5Rnd_762x51_M24", 300] _crate AddWeaponCargo ["M107", 25] _crate AddMagazineCargo ["10Rnd_127x99_m107", 250] _crate AddWeaponCargo ["M4A1SD", 25] _crate AddMagazineCargo ["30Rnd_556x45_StanagSD", 100] _crate AddWeaponCargo ["G36A", 50] _crate AddMagazineCargo ["30Rnd_556x45_G36", 200] _crate AddWeaponCargo ["M136", 50] _crate AddMagazineCargo ["M136", 150] _crate AddWeaponCargo ["JAVELIN", 25] _crate AddMagazineCargo ["JAVELIN", 25] _crate AddWeaponCargo ["STINGER", 25] _crate AddMagazineCargo ["STINGER", 25] _crate AddWeaponCargo ["M9SD", 25] _crate AddMagazineCargo ["15Rnd_9x19_M9SD", 100] _crate AddMagazineCargo ["SmokeShellRed", 250] _crate AddMagazineCargo ["HandGrenade", 100] _crate AddWeaponCargo ["Laserdesignator", 50] _crate AddMagazineCargo ["Laserbatteries", 50] _crate AddWeaponCargo ["Binocular", 50] _crate AddWeaponCargo ["NVGoggles", 50] _crate AddWeaponCargo ["AK74", 200] _crate AddMagazineCargo ["30Rnd_545x39_AK", 600] _crate AddWeaponCargo ["AK74GL", 200] _crate AddMagazineCargo ["1Rnd_HE_GP25", 50] _crate AddWeaponCargo ["AKS74U", 200] _crate AddMagazineCargo ["30Rnd_545x39_AKSD", 100] _crate AddWeaponCargo ["AKS74UN", 200] _crate AddMagazineCargo ["30Rnd_545x39_AK", 100] _crate AddWeaponCargo ["AKS74PSO", 200] _crate AddMagazineCargo ["100Rnd_762x54_PK", 100] _crate AddWeaponCargo ["SVD", 200] _crate AddMagazineCargo ["10Rnd_762x54_SVD", 300] _crate AddWeaponCargo ["RPG7V", 200] _crate AddMagazineCargo ["PG7V", 300] _crate AddWeaponCargo ["STRELA", 200] _crate AddMagazineCargo ["STRELA", 200] _crate AddWeaponCargo ["Makarov", 20] _crate AddMagazineCargo ["8Rnd_9x18_Makarov", 50] _crate AddWeaponCargo ["MakarovSD", 20] _crate AddMagazineCargo ["8Rnd_9x18_MakarovSD", 50] _crate AddMagazineCargo ["Mine", 50] _crate AddMagazineCargo ["PipeBomb", 50] Exit_crate = _this Select 0; ClearMagazineCargo _crate; ClearWeaponCargo _crate; _crate addWeaponcargo ["AK74",50]; _crate addWeaponcargo ["AKS74U",50]; _crate addWeaponcargo ["AKS74UN",50]; _crate addWeaponcargo ["PK",2]; _crate addWeaponcargo ["Makarov",50]; _crate addMagazinecargo ["30Rnd_545x39_AK",200]; _crate addMagazinecargo ["30Rnd_545x39_AKSD",200]; _crate addMagazinecargo ["100Rnd_762x54_PK",20]; _crate addMagazinecargo ["8Rnd_9x18_Makarov",200]; _crate addWeaponcargo ["M4",50]; _crate addWeaponcargo ["M4A1",50]; _crate addWeaponcargo ["M16a2",50]; _crate addWeaponcargo ["M16a4",50]; _crate addWeaponcargo ["MP5SD",50]; _crate addWeaponcargo ["MP5A5",50]; _crate addWeaponcargo ["M240",2]; _crate addWeaponcargo ["M9",50]; _crate addMagazinecargo ["30Rnd_556x45_Stanag",200]; _crate addMagazinecargo ["30Rnd_556x45_StanagSD",200]; _crate addMagazinecargo ["30Rnd_9x19_MP5",200]; _crate addMagazinecargo ["100Rnd_762x51_M240",20]; _crate addMagazinecargo ["15Rnd_9x19_M9",200]; if(true) exitWith {};_crate = _this Select 0; ClearMagazineCargo _crate; ClearWeaponCargo _crate; _crate addWeaponcargo ["M4",50]; _crate addWeaponcargo ["M4A1",50]; _crate addWeaponcargo ["M16a2",50]; _crate addWeaponcargo ["M16a4",50]; _crate addWeaponcargo ["MP5SD",50]; _crate addWeaponcargo ["MP5A5",50]; _crate addWeaponcargo ["M240",2]; _crate addWeaponcargo ["M9",50]; _crate addMagazinecargo ["30Rnd_556x45_Stanag",200]; _crate addMagazinecargo ["30Rnd_556x45_StanagSD",200]; _crate addMagazinecargo ["30Rnd_9x19_MP5",200]; _crate addMagazinecargo ["100Rnd_762x51_M240",20]; _crate addMagazinecargo ["15Rnd_9x19_M9",200]; _crate addWeaponcargo ["AK74",50]; _crate addWeaponcargo ["AKS74U",50]; _crate addWeaponcargo ["AKS74UN",50]; _crate addWeaponcargo ["PK",2]; _crate addWeaponcargo ["Makarov",50]; _crate addMagazinecargo ["30Rnd_545x39_AK",200]; _crate addMagazinecargo ["30Rnd_545x39_AKSD",200]; _crate addMagazinecargo ["100Rnd_762x54_PK",20]; _crate addMagazinecargo ["8Rnd_9x18_Makarov",200]; if(true) exitWith {}; ;courtesy of OFP2 - http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?s=ac2bcd6d36a14656ec2bff4f1e3e5d8e;act=ST;f=71;t=67143;st=15 ;start onfire.sqs _obj = _this select 0 _size = _this select 1 _duration = _this select 2 _yoffset = _this select 3 _zoffset = _this select 4 _light = "#lightpoint" createVehicleLocal getpos _obj _light setLightColor [0.1,0.05,0.01] _light setLightBrightness 0.2 * _size _light setLightAmbient [0.3,0.2,0.1] _light LightAttachObject [_obj,[0,0,0]] _trigger = createTrigger["EmptyDetector", [(position _obj select 0) + _yoffset*sin(getdir _obj),(position _obj select 1) + _yoffset*cos(getdir _obj),(position _obj select 2)]] _trigger setTriggerArea [4*_size, 4*_size,0, false] _trigger setTriggerActivation ["ANY", "PRESENT", true] ;//creates smoke and fire particle sources _fsource = "#particlesource" createVehicleLocal getpos _obj _fsource setParticleCircle [0, [0, 0, 0]] _fsource setParticleRandom [0.2, [_size/1.5, 1.5*_size, 0], [1, 1, 1], 0.2, 0.2, [0, 0, 0, 0], 0, 0] _fsource setDropInterval 0.01 _fsource setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\Fireanim", 8, 2, 8], "", "Billboard", 1, 0.4, [0, _yoffset, _zoffset], [0, 0, 2], 1, 1, 0.9, 0.3, [4,3], [[1,1,1,0.3],[1,1,1,0.2],[1,1,1,0]], [0,1], 1, 1, "", "", _obj] ;//creates dust _dsource = "#particlesource" createVehicleLocal getpos _obj _dsource setParticleCircle [3, [20, 20, 0]] _dsource setParticleRandom [0.2, [_size, _size, _size], [10, 10, 2], 0.2, 0.2, [0, 0, 0, 0], 0, 0] _dsource setDropInterval 0.003 ;//creates explosion particle sources _source = "#particlesource" createVehicleLocal getpos _obj _source setParticleCircle [0, [0, 0, 0]] _source setParticleRandom [0.5, [1, 1, 1], [5, 5, 5], 0, 0.5, [0, 0, 0, 0], 0, 0] _source setDropInterval 0.04 ;//fire part of explosion _sourc = "#particlesource" createVehicleLocal getpos _obj _sourc setParticleCircle [0, [0, 0, 0]] _sourc setParticleRandom [0.5, [1, 1, 1], [4, 4, 4], 0, 0.5, [0, 0, 0, 0], 0, 0] _sourc setDropInterval 0.005 _source setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 3, 1], "", "Billboard", 1, 10 + random 10, [0, _yoffset, 0], [0, 0, 0], 1, 1.2, 1, 0.2, [8, 16], [[0.2,0.15,0.1,0.5],[0.20,0.150,0.10,0.3],[0.2,0.15,0.1,0]], [0,1], 1, 0, "", "", _obj] _sourc setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\SmokeAnim", 8, 2, 8], "", "Billboard", 2, 1, [0, _yoffset, 0], [0, 0, 0], 1, 1.2, 1, 0.2, [6, 8], [[0.98,0.6,0.2,0.7],[0,0,0,0.4],[0,0,0,0]], [1, 1], 1, 0, "", "", _obj] _dsource setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 3, 1], "", "Billboard", 2, 5, [0, _yoffset, 0], [0, 0, 0], 1, 1.5, 1, 0.2 + random 0.2, [4, 6], [[0.53,0.5,0.42,0.5],[0.53,0.5,0.42,0.45],[0.53,0.5,0.42,0]], [1, 1], 1, 0, "", "", _obj] ;//creates armor pieces _pole = [] _i = 0 #createp _pole = _pole + ["FxExploArmor1" createVehicleLocal [((position _obj select 0) + random 4 - 2) + _yoffset*sin(getdir _obj), ((position _obj select 1) + random 4 - 2) + _yoffset*cos(getdir _obj), 1+(position _obj select 2) + random 1]] (_pole select _i) setDir random 360 (_pole select _i) setVectorUp [random 1,random 1,random 1] (_pole select _i) setVelocity [((random 30) - 15) + (velocity _obj select 0), ((random 30) - 15) + (velocity _obj select 1), (5 + random 20) + (velocity _obj select 2)] _i = _i + 1 if (_i < 10) then {goto "createp"} ;//creates particle sources for armor pieces _poles = [] _i = 0 #creates _poles = _poles + ["#particlesource" createVehicleLocal getpos (_pole select _i)] _ran = random 0.5 (_poles select _i) setParticleCircle [0, [0, 0, 0]] (_poles select _i) setParticleRandom [0.5, [0, 0, 0], [1, 1, 1], 0, 0.5, [0, 0, 0, 0], 0, 0] (_poles select _i) setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 3, 1], "", "Billboard", 2, 3 + random 3, [0, 0, 0], [0, 0, 0], 1, 1.2, 1, 0.5, [1, 3], [[_ran,_ran,_ran,0.1],[_ran,_ran,_ran,0.1],[_ran,+_ran,_ran,0]], [0,1], 1, 0, "", "", (_pole select _i)] (_poles select _i) setDropInterval 0.1 _i = _i + 1 if (_i < 10) then {goto "creates"} _i = 0 #loop3 ~0.1 _trigger setpos getpos _obj _list = list _trigger _count = count _list _counter = 0 #kill1 _panak = _list select _counter if (_panak isKindOf "Man") then {_panak setdamage (damage _panak +(0.2/((_panak distance _obj)/2)))} _counter = _counter +1 if (_counter < _count)then {goto "kill1"} _ran = 0.1 + random 0.2 _fsource setPos getPos _obj _source setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 3, 1], "", "Billboard", 1, 10 + random 10, [0, _yoffset, 0], [0, 0, 0], 1, 1.2, 1, 0.2, [8, 16], [[0.2+_ran,0.15+_ran,0.1+_ran,0.5],[0.2+_ran,0.15+_ran,0.1+_ran,0.3],[0.2+_ran,0.15+_ran,0.1+_ran,0]], [0,1], 1, 0, "", "", _obj] _sourc setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 8], "", "Billboard", 2, 1, [0, _yoffset, 0], [0, 0, 0], 1, 1, 1.2, 0.2, [6, 8], [[0.98,0.6,0.2,0.7],[_ran,_ran,_ran,0.4],[_ran,+_ran,_ran,0]], [1, 1], 1, 0, "", "", _obj] _dsource setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\SmokeAnim", 8, 3, 1], "", "Billboard", 2, 5, [0, _yoffset, 0], [0, 0, 0], 1, 1.2 + random 0.6, 1, 0.2 + random 0.2, [4, 6], [[0.53,0.5,0.42,0.5],[0.53,0.5,0.42,0.45],[0.53,0.5,0.42,0]], [1, 1], 1, 0, "", "", _obj] (_poles select _i) setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\SmokeAnim", 8, 3, 1], "", "Billboard", 2, 8 + random 8 - _time*2, [0, 0, 0], [0, 0, 0], 1, 1.2 + random 0.1, 1, random 0.2, [(4 - _time/2)/2, (10 - _time)], [[_ran,_ran,_ran,_ran],[_ran,_ran,_ran,_ran],[_ran,+_ran,_ran,0]], [0,1], 1, 0, "", "", (_pole select _i)] _i = _i + 1 if (_time > 0.3)then {deleteVehicle _source;deleteVehicle _sourc;deleteVehicle _dsource;} if (_time > 5)then {_i = 0; goto "end"} if (_i < count _poles) then {goto "loop3"} else {_i = 0; goto "loop3"} #end deleteVehicle (_pole select _i) if (_i < count _poles) then {deleteVehicle (_poles select _i)} _i = _i + 1 if (_i < count _pole) then {goto "end"} _lifetime = (120 + random 60)* _duration #smoking ~0.3 _trigger setpos getpos _obj _list = list _trigger _count = count _list _counter = 0 _light setLightBrightness 0.2 * _size - _time/500 + random 0.02 - 0.01 #kill2 _panak = _list select _counter if (_panak isKindOf "Man" && _time < _lifetime/2.2) then {_panak setdamage (damage _panak +(0.1/((_panak distance _obj)/2))); if (_panak == player) then {titleText ["Ouch!! Too hot!!!", "Black In",0.5]}} _counter = _counter +1 if (_counter < _count)then {goto "kill2"} _ran = random 0.3 _fsource setPos getPos _obj _fsource setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\SmokeAnim", 8, 2, 8], "", "Billboard", 1, 2, [0, _yoffset, _zoffset], [0, 0, 1], 10, 1, 0.9, 0.3, [4,3], [[1,1,1,0.3],[1,1,1,0.2],[1,1,1,0]], [0.5,0.5], 1, 1, "", "", _obj] _inter = (_time/300)*(_time/300) _fsource setDropInterval 0.05 if (_time > _lifetime/2) then {deleteVehicle _fsource; deleteVehicle _light} goto "smoking" exitversion=11; class Mission { addOns[]= { "mercenary_dbe1", "porto", "camisc", "CAWater", "caair", "prisoners_dbe1", "npcs_dbe1", "cacharacters", "cawheeled", "causmcd", "CABuildings", "caweapons" }; addOnsAuto[]= { "mercenary_dbe1", "cacharacters", "causmcd", "camisc", "CAWater", "caair", "cawheeled", "CABuildings", "caweapons", "porto" }; randomSeed=10011651; class Intel { briefingName="Suprise Party in Porto QG (8v8)b"; briefingDescription="PvP Capture and Hold"; resistanceWest=0.000000; startWeather=0.329265; startFog=0.128684; forecastWeather=0.425409; forecastFog=0.212995; year=2008; month=10; day=24; hour=6; minute=0; }; class Groups { items=35; class Item0 { side="EAST"; class Vehicles { items=4; class Item0 { position[]={2279.837158,4.910752,2123.269043}; azimut=70.000000; id=4; side="EAST"; vehicle="SoldierPTeamLeader"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; text="tango_1"; description="Tango 1 - Team Leader"; }; class Item1 { position[]={2273.932373,5.392818,2125.609131}; id=44; side="EAST"; vehicle="SoldierEMedic"; player="PLAY CDG"; skill=0.600000; text="tango_2"; description="Tango 2 - Medic"; }; class Item2 { position[]={2280.732910,4.329586,2117.074707}; azimut=150.000000; id=47; side="EAST"; vehicle="SoldierPMG"; player="PLAY CDG"; skill=0.600000; text="tango_3"; description="Tango 3"; }; class Item3 { position[]={2274.748535,4.934040,2119.803467}; azimut=240.000000; id=48; side="EAST"; vehicle="SoldierPB"; player="PLAY CDG"; skill=0.600000; text="tango_4"; description="Tango 4"; }; }; }; class Item1 { side="LOGIC"; class Vehicles { items=1; class Item0 { position[]={1744.427979,2.403753,2074.085205}; id=5; side="LOGIC"; vehicle="Logic"; leader=1; skill=0.600000; text="server"; }; }; }; class Item2 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2600.945313,5.029338,2366.161621}; id=12; side="GUER"; vehicle="SoldierGMedic"; leader=1; skill=0.600000; text="militia12"; }; }; }; class Item3 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2552.075439,5.029338,2532.641357}; id=17; side="GUER"; vehicle="SoldierGMedic"; leader=1; skill=0.600000; text="militia22"; }; }; }; class Item4 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2542.355957,5.029338,2232.914307}; id=21; side="GUER"; vehicle="SoldierGMG"; leader=1; skill=0.600000; text="militia31"; }; }; }; class Item5 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2605.044922,5.029587,2360.509521}; id=10; side="GUER"; vehicle="TeamLeaderG"; leader=1; skill=0.600000; text="militia10"; }; }; }; class Item6 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2611.006104,5.029338,2362.803467}; id=11; side="GUER"; vehicle="SoldierGMG"; leader=1; skill=0.600000; text="militia11"; }; }; }; class Item7 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2610.786377,5.029338,2359.226318}; id=14; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="militia14"; }; }; }; class Item8 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2596.560547,5.029587,2358.370361}; id=13; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="militia13"; }; }; }; class Item9 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2556.175049,5.029338,2526.989258}; id=15; side="GUER"; vehicle="TeamLeaderG"; leader=1; skill=0.600000; text="militia20"; }; }; }; class Item10 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2562.136230,5.029338,2529.283203}; id=16; side="GUER"; vehicle="SoldierGMG"; leader=1; skill=0.600000; text="militia21"; }; }; }; class Item11 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2561.916504,5.029338,2525.706055}; id=19; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="militia24"; }; }; }; class Item12 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2547.690674,5.029338,2524.850098}; id=18; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="militia23"; }; }; }; class Item13 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2544.339844,7.719171,2227.170898}; id=24; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="militia34"; }; }; }; class Item14 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2538.598389,5.029338,2228.454102}; id=20; side="GUER"; vehicle="TeamLeaderG"; leader=1; skill=0.600000; text="militia30"; }; }; }; class Item15 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2534.498779,5.029338,2234.106201}; id=22; side="GUER"; vehicle="SoldierGMedic"; leader=1; skill=0.600000; text="militia32"; }; }; }; class Item16 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2530.114014,5.131337,2226.314941}; id=23; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="militia33"; }; }; }; class Item17 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2658.558105,5.029338,2232.748535}; id=28; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="mil_zone11"; }; }; }; class Item18 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2635.455322,5.440174,2335.356445}; id=27; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="mil_zone10"; }; }; }; class Item19 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2677.483154,5.029338,2422.738281}; id=29; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="mil_zone40"; }; }; }; class Item20 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2551.872314,5.029338,2458.635986}; id=30; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="mil_zone30"; }; }; }; class Item21 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2550.927734,5.029338,2256.003662}; id=31; side="GUER"; vehicle="SoldierGB"; leader=1; skill=0.600000; text="mil_zone20"; }; }; }; class Item22 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2676.030273,5.029338,2458.998047}; id=32; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="mil_zone41"; }; }; }; class Item23 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2505.558350,5.131337,2535.988525}; id=33; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="mil_zone31"; }; }; }; class Item24 { side="GUER"; class Vehicles { items=1; class Item0 { position[]={2535.780518,5.029338,2337.607178}; id=34; side="GUER"; vehicle="SoldierGG"; leader=1; skill=0.600000; text="mil_zone21"; }; }; }; class Item25 { side="CIV"; class Vehicles { items=1; class Item0 { position[]={2623.271484,5.131337,2310.217529}; id=37; side="CIV"; vehicle="Civilian"; leader=1; skill=0.600000; text="civ_zone10"; }; }; }; class Item26 { side="CIV"; class Vehicles { items=1; class Item0 { position[]={2553.328125,5.029338,2184.540039}; azimut=15.000000; special="NONE"; id=40; side="CIV"; vehicle="Civilian3"; leader=1; skill=0.600000; text="civ_zone21"; }; }; }; class Item27 { side="CIV"; class Vehicles { items=1; class Item0 { position[]={2556.678711,5.029338,2283.825439}; azimut=175.000000; special="NONE"; id=39; side="CIV"; vehicle="Civilian13"; leader=1; skill=0.600000; text="civ_zone20"; }; }; }; class Item28 { side="CIV"; class Vehicles { items=1; class Item0 { position[]={2641.699707,5.029338,2209.675537}; azimut=175.000000; id=38; side="CIV"; vehicle="Civilian19"; leader=1; skill=0.600000; text="civ_zone11"; }; }; }; class Item29 { side="CIV"; class Vehicles { items=2; class Item0 { position[]={2537.413086,5.029338,2484.071777}; azimut=15.000000; special="NONE"; id=41; side="CIV"; vehicle="Civilian5"; leader=1; skill=0.600000; text="civ_zone30"; }; class Item1 { position[]={2529.111084,5.029338,2558.783203}; azimut=285.000000; special="NONE"; id=42; side="CIV"; vehicle="Civilian6"; skill=0.600000; text="civ_zone31"; }; }; }; class Item30 { side="CIV"; class Vehicles { items=1; class Item0 { position[]={2623.738770,5.533844,2429.637207}; azimut=285.000000; special="NONE"; id=43; side="CIV"; vehicle="Civilian21"; leader=1; skill=0.600000; text="civ_zone40"; }; }; }; class Item31 { side="EAST"; class Vehicles { items=4; class Item0 { position[]={2295.062744,3.687182,2120.715820}; azimut=70.000000; id=49; side="EAST"; vehicle="SoldierPTeamLeader"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; text="tango_5"; description="Sierra 1 - Team Leader"; }; class Item1 { position[]={2289.157959,4.293892,2123.055908}; id=50; side="EAST"; vehicle="SoldierEMedic"; player="PLAY CDG"; skill=0.600000; text="tango_6"; description="Sierra 2 - Medic"; }; class Item2 { position[]={2295.958496,3.003393,2114.521484}; azimut=150.000000; id=51; side="EAST"; vehicle="SoldierPMG"; player="PLAY CDG"; skill=0.600000; text="tango_7"; description="Sierra 3"; }; class Item3 { position[]={2290.942139,3.712128,2117.954346}; azimut=240.000000; id=52; side="EAST"; vehicle="SoldierPB"; player="PLAY CDG"; skill=0.600000; text="tango_8"; description="Sierra 4"; }; }; }; class Item32 { side="WEST"; class Vehicles { items=4; class Item0 { position[]={2760.327148,6.736570,2702.092041}; azimut=190.000000; id=0; side="WEST"; vehicle="USMCD_Soldier_TL"; player="PLAYER COMMANDER"; leader=1; rank="SERGEANT"; skill=0.600000; text="alpha_1"; description="Alpha 1 - Team Leader "; }; class Item1 { position[]={2765.994385,6.429438,2703.842285}; azimut=135.000000; id=54; side="WEST"; vehicle="USMCD_Soldier_Engineer"; player="PLAY CDG"; skill=0.600000; text="alpha_3"; description="Alpha 3 "; }; class Item2 { position[]={2766.105713,6.105857,2710.220703}; azimut=10.000000; id=55; side="WEST"; vehicle="USMCD_Soldier_Sniper"; player="PLAY CDG"; skill=0.600000; text="alpha_4"; description="Alpha 4"; }; class Item3 { position[]={2758.945557,6.704703,2708.094727}; azimut=245.000000; id=53; side="WEST"; vehicle="USMCD_Soldier_Med"; player="PLAY CDG"; skill=0.600000; text="alpha_2"; description="Alpha 2 - Medic"; }; }; }; class Item33 { side="WEST"; class Vehicles { items=4; class Item0 { position[]={2777.556885,6.076819,2700.302002}; azimut=190.000000; id=56; side="WEST"; vehicle="US_Soldier_WDL"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; text="alpha_5"; description="Bravo 1 - Team Leader"; }; class Item1 { position[]={2775.839600,5.849266,2706.080566}; azimut=245.000000; id=57; side="WEST"; vehicle="US_Soldier_WDL_Med"; player="PLAY CDG"; skill=0.600000; text="alpha_6"; description="Bravo 2 - Medic"; }; class Item2 { position[]={2782.441406,5.545417,2708.430176}; azimut=10.000000; id=59; side="WEST"; vehicle="US_Soldier_WDL"; player="PLAY CDG"; skill=0.600000; text="alpha_8"; description="Bravo 4"; }; class Item3 { position[]={2784.789795,5.767764,2701.716553}; azimut=135.000000; id=58; side="WEST"; vehicle="US_Soldier_WDL"; player="PLAY CDG"; skill=0.600000; text="alpha_7"; description="Bravo 3"; }; }; }; class Item34 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={2267.386230,5.528702,2122.197021}; azimut=180.000000; id=68; side="WEST"; vehicle="SoldierWB"; leader=1; skill=0.600000; }; }; }; }; class Vehicles { items=21; class Item0 { position[]={2606.010986,5.029338,2367.628174}; id=1; side="EMPTY"; vehicle="FlagCarrierSouth"; skill=0.600000; text="flag1"; }; class Item1 { position[]={2556.351563,5.029338,2531.623535}; id=2; side="EMPTY"; vehicle="FlagCarrierSouth"; skill=0.600000; text="flag2"; }; class Item2 { position[]={2537.932129,5.029338,2230.627441}; id=3; side="EMPTY"; vehicle="FlagCarrierSouth"; skill=0.600000; text="flag3"; }; class Item3 { position[]={2277.570313,3.809753,2109.329834}; azimut=15.000000; id=6; side="EMPTY"; vehicle="RHIB"; lock="LOCKED"; skill=0.600000; }; class Item4 { position[]={2288.145996,3.407048,2113.083252}; azimut=15.000000; id=7; side="EMPTY"; vehicle="RHIB2Turret"; lock="LOCKED"; skill=0.600000; }; class Item5 { position[]={2800.343750,5.290760,2706.514893}; azimut=180.000000; id=8; side="EMPTY"; vehicle="AH6"; lock="LOCKED"; skill=0.600000; }; class Item6 { position[]={2782.843994,5.265942,2716.111572}; azimut=180.000000; id=9; side="EMPTY"; vehicle="AH6"; lock="LOCKED"; skill=0.600000; }; class Item7 { position[]={2603.940674,5.029338,2365.808350}; id=25; side="EMPTY"; vehicle="FenceWood"; skill=0.600000; }; class Item8 { position[]={2606.874756,5.029338,2364.123535}; azimut=270.000000; id=26; side="EMPTY"; vehicle="FenceWood"; skill=0.600000; }; class Item9 { position[]={2650.838623,9.216318,2401.531250}; id=35; side="EMPTY"; vehicle="Landrover"; lock="LOCKED"; skill=0.600000; }; class Item10 { position[]={2661.077637,7.958214,2397.472900}; id=36; side="EMPTY"; vehicle="Landrover_Closed"; lock="LOCKED"; skill=0.600000; }; class Item11 { position[]={2529.179932,5.029587,2284.970459}; azimut=40.000000; id=45; side="EMPTY"; vehicle="JeepWreck1"; skill=0.600000; text="wreck1"; init="[wreck1,0.2,10,0,0.1] exec ""misc_scripts\onfire.sqs"";"; }; class Item12 { position[]={2732.968750,5.029338,2474.965088}; azimut=300.000000; id=46; side="EMPTY"; vehicle="M113Wreck"; skill=0.600000; text="wreck2"; init="[wreck2,0.5,10,0,0.1] exec ""misc_scripts\onfire.sqs"";"; }; class Item13 { position[]={2790.279541,5.575849,2693.671631}; id=60; side="EMPTY"; vehicle="MASH"; skill=0.600000; }; class Item14 { position[]={2788.937256,5.639725,2701.832275}; id=61; side="EMPTY"; vehicle="FireLit"; skill=0.600000; }; class Item15 { position[]={2785.481201,5.753459,2695.257080}; azimut=270.000000; id=62; side="EMPTY"; vehicle="WeaponBoxWest"; skill=0.600000; text="west_ammo1"; init="call{[this] execVM ""misc_scripts\ammobox_w.sqf""};"; }; class Item16 { position[]={2785.566650,5.736575,2692.643799}; azimut=270.000000; id=63; side="EMPTY"; vehicle="WeaponBoxWest"; skill=0.600000; text="west_ammo2"; init="call{[this] execVM ""misc_scripts\ammobox_w.sqf""};"; }; class Item17 { position[]={2268.273438,5.467705,2122.103027}; id=64; side="EMPTY"; vehicle="MASH"; skill=0.600000; }; class Item18 { position[]={2267.302246,4.929580,2114.460938}; id=65; side="EMPTY"; vehicle="FireLit"; skill=0.600000; }; class Item19 { position[]={2271.056396,5.377499,2123.131836}; azimut=90.000000; id=66; side="EMPTY"; vehicle="SpecialBoxEast"; skill=0.600000; text="east_ammo2"; init="call{[this] execVM ""misc_scripts\ammobox_e.sqf""};"; }; class Item20 { position[]={2271.168457,5.181687,2120.438965}; azimut=90.000000; id=67; side="EMPTY"; vehicle="WeaponBoxEast"; skill=0.600000; text="east_ammo1"; init="call{[this] execVM ""misc_scripts\ammobox_e.sqf""};"; }; }; class Markers { items=21; class Item0 { position[]={2861.045654,14.509546,2548.635498}; name="center"; type="Empty"; }; class Item1 { position[]={2605.206543,5.029338,2365.754150}; name="Sector1flag"; text="Sector 1"; type="Flag1"; colorName="ColorBlack"; }; class Item2 { position[]={2605.223877,5.029338,2365.627441}; name="Sector1"; markerType="ELLIPSE"; type="Flag"; colorName="ColorBlack"; a=10.000000; b=10.000000; }; class Item3 { position[]={2556.211914,5.029338,2532.397949}; name="Sector2flag"; text="Sector 2"; type="Flag1"; colorName="ColorBlack"; }; class Item4 { position[]={2556.028809,5.029338,2530.651611}; name="Sector2"; markerType="ELLIPSE"; type="Flag"; colorName="ColorBlack"; a=10.000000; b=10.000000; }; class Item5 { position[]={2538.122314,5.029338,2229.810059}; name="Sector3"; markerType="ELLIPSE"; type="Flag"; colorName="ColorBlack"; a=10.000000; b=10.000000; }; class Item6 { position[]={2537.867676,5.029338,2229.887939}; name="Sector3flag"; text="Sector 3"; type="Flag1"; colorName="ColorBlack"; }; class Item7 { position[]={3341.859131,3.183960,2983.336182}; name="Respawn_west"; type="Empty"; colorName="ColorBlue"; }; class Item8 { position[]={1645.067871,4.300000,2300.480713}; name="Respawn_east"; type="Empty"; colorName="ColorRed"; }; class Item9 { position[]={1750.801270,2.232700,2065.971924}; name="Boot_hill"; type="Empty"; colorName="ColorBlack"; }; class Item10 { position[]={2781.373535,5.934157,2697.342041}; name="Base_west"; text="Base West"; type="Headquarters"; colorName="ColorBlue"; }; class Item11 { position[]={2265.666504,5.506769,2120.308350}; name="Base_east"; text="Base East"; type="Headquarters"; colorName="ColorRed"; }; class Item12 { position[]={2757.040527,8.555614,2688.448242}; name="Spawn_zone_west"; markerType="ELLIPSE"; type="Flag"; a=180.000000; b=180.000000; }; class Item13 { position[]={2292.707031,4.676301,2130.390869}; name="Spawn_zone_east"; markerType="ELLIPSE"; type="Flag"; a=180.000000; b=180.000000; }; class Item14 { position[]={2712.955566,5.029338,2466.254395}; name="spawn_1"; type="Empty"; }; class Item15 { position[]={2686.840820,5.029338,2207.812988}; name="spawn_2"; type="Empty"; }; class Item16 { position[]={2471.724609,5.029338,2416.889160}; name="spawn_3"; type="Empty"; }; class Item17 { position[]={2538.396973,8.152128,2471.176514}; name="UPS_z3"; type="Empty"; }; class Item18 { position[]={2563.009521,5.131337,2279.630859}; name="UPS_z2"; type="Empty"; }; class Item19 { position[]={2642.250977,5.029338,2277.829590}; name="UPS_z1"; type="Empty"; }; class Item20 { position[]={2660.860596,5.029338,2418.936768}; name="UPS_z4"; type="Empty"; }; }; class Sensors { items=9; class Item0 { position[]={2605.464355,5.029338,2365.418701}; a=10.000000; b=10.000000; activationBy="WEST SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag1 == 0 || this && cap_flag1 == 1"; expActiv="cap_flag1 = 2; publicVariable ""cap_flag1"""; class Effects { }; }; class Item1 { position[]={2605.392334,5.029338,2365.404541}; a=10.000000; b=10.000000; activationBy="EAST SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag1 == 0 || this && cap_flag1 == 2"; expActiv="cap_flag1 = 1; publicVariable ""cap_flag1"""; class Effects { }; }; class Item2 { position[]={2555.858398,5.029338,2530.499268}; a=10.000000; b=10.000000; activationBy="WEST SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag2 == 0 || this && cap_flag2 == 1"; expActiv="cap_flag2 = 2; publicVariable ""cap_flag2"""; class Effects { }; }; class Item3 { position[]={2556.081055,5.029338,2530.456299}; a=10.000000; b=10.000000; activationBy="EAST SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag2 == 0 || this && cap_flag2 == 2"; expActiv="cap_flag2 = 1; publicVariable ""cap_flag2"""; class Effects { }; }; class Item4 { position[]={2538.024414,5.029338,2229.844971}; a=10.000000; b=10.000000; activationBy="WEST SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag3 == 0 || this && cap_flag3 == 1"; expActiv="cap_flag3 = 2; publicVariable ""cap_flag3"""; class Effects { }; }; class Item5 { position[]={2538.167480,5.029338,2229.788574}; a=10.000000; b=10.000000; activationBy="EAST SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag3 == 0 || this && cap_flag3 == 2"; expActiv="cap_flag3 = 1; publicVariable ""cap_flag3"""; class Effects { }; }; class Item6 { position[]={2538.079590,5.029338,2229.749756}; a=10.000000; b=10.000000; activationBy="GUER SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag3 == 1 || this && cap_flag3 == 2"; expActiv="cap_flag3 = 0; publicVariable ""cap_flag3"""; class Effects { }; }; class Item7 { position[]={2555.798096,5.029338,2530.447510}; a=10.000000; b=10.000000; activationBy="GUER SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag2 == 1 || this && cap_flag2 == 2"; expActiv="cap_flag2 = 0; publicVariable ""cap_flag2"""; class Effects { }; }; class Item8 { position[]={2605.448486,5.029338,2365.680420}; a=10.000000; b=10.000000; activationBy="GUER SEIZED"; repeating=1; interruptable=1; age="UNKNOWN"; expCond="this && cap_flag1 == 1 || this && cap_flag1 == 2"; expActiv="cap_flag1 = 0; publicVariable ""cap_flag1"""; class Effects { }; }; }; }; class Intro { addOns[]= { "porto" }; addOnsAuto[]= { "porto" }; randomSeed=14048259; class Intel { startWeather=0.100000; forecastWeather=0.100000; year=2008; month=6; day=24; hour=15; }; }; class OutroWin { addOns[]= { "porto" }; addOnsAuto[]= { "porto" }; randomSeed=2192899; class Intel { startWeather=0.100000; forecastWeather=0.100000; year=2008; month=6; day=24; hour=15; }; }; class OutroLoose { addOns[]= { "porto" }; addOnsAuto[]= { "porto" }; randomSeed=3531779; class Intel { startWeather=0.100000; forecastWeather=0.100000; year=2008; month=6; day=24; hour=15; }; }; /* INITIALISATION SCRIPT FOR AI_DISABLED PvP REVIVE SCRIPT JUNE 2008 - norrin (norrins_nook@iprimus.com.au) Version: 1.35 Two Sides PvP ******************************************************* Start init.sqf */ //Init.sqf settings for revive_player scripts by norrin // ==================================================== //sickboy's code modified by _xeno T_INIT = false; T_Server = false; T_Client = false; T_JIP = false; T_MP = (if (playersNumber east + playersNumber west + playersNumber resistance + playersNumber civilian > 0) then {true} else {false}); if (isServer) then { T_Server = true; if (!isNull player) then {T_Client = true}; T_INIT = true; } else { T_Client = true; if (isNull player) then { T_JIP = true; [] spawn {waitUntil {!isNull player};T_INIT = true}; } else { T_INIT = true; }; }; waitUntil {T_INIT}; //This next line can be commented out or removed if it //interferes with intro movies // ==================================================== titleText ["Welcome to Suprise Party in Porto \n\nPvP Capture and Hold", "BLACK FADED", 0.2]; //Configurable revive script options (Off = 0, On = 1) // ==================================================== _NORRN_mission_end_function = 0; //array no.0 - not implemented _NORRN_reward_function = 0; //array no.1 - not implemented _NORRN_team_kill_function = 0; //array no.2 - not implemented _NORRN_all_dead_dialog = 1; //array no.3 _NORRN_JIP_spawn_dialog = 0; //array no.4 - not implemented _NORRN_nearest_teammate_dialog = 1; //array no.5 _NORRN_unconcious_markers = 1; //array no.6 _NORRN_follow_cam = 1; //array no.7 _NORRN_call_out_function = 1; //array no.8 _NORRN_revive_timer = 1; //array no.9 _NORRN_heal_yourself = 0; //array no.10 _NORRN_kegetys_spectator = 1; //array no.11 _NORRN_visible_timer = 1; //array no.12 _NORRN_revive_weapon_respawn = 0; //array no.13 _NORRN_unconscious_black_screen = 0; //array no.14 _NORRN_water_dialog = 1; //array no.45 _NORRN_unconscious_drag = 1; //array no.47 _NORRN_QG_unc_anim =1; //list of playable units for each side // ==================================================== NORRN_player_units = ["alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8"]; NORRN_player_units_OPFOR = ["tango_1","tango_2","tango_3","tango_4","tango_5","tango_6","tango_7","tango_8"]; /* //initialise boundary scripts _BLUFOR = []; _OpFOR = []; {call compile format ["_BLUFOR = _BLUFOR + [%1]", _x]} forEach NORRN_player_units; {call compile format ["_OpFOR = _OpFOR + [%1]", _x]} forEach NORRN_player_units_OPFOR; if (player in _BLUFOR) then {["Spawn_zone_east"] execVM "boundary.sqf"}; if (player in _OpFOR) then {["Spawn_zone_west"] execVM "boundary.sqf"}; */ // no of respawn points, spawn position names for //respawn and the time before the respawn dialog appears //for JIP players - Option to make base_1 respawn possible //even if enemy forces are within 50 metres (options OFF = 0, ON = 1) // ===================================================== _NORRN_no_respawn_points = 1; //array no.15 _NORRN_Base_1 = "base_west"; //array no.16 _NORRN_Base_2 = "base_east"; //array no.17 _NORRN_Base_3 = ""; //array no.18 - not implemented _NORRN_Base_4 = ""; //array no.19 - not implemented _NORRN_time_b4_JIP_spawn_dialog = 0; //array no.20 - not implemented _NORRN_Base_1_respawn = 0; //array no.21 - not implemented //The can_revive variable can be changed if for example // you only one sort of unit to be able to revive eg. "soldierWMedic" //The can_be_revived variable can be changed if you want //to use these scripts for a different side // ===================================================== _NORRN_can_revive = "soldierWB"; //array no.22 _NORRN_can_revive_2 = ""; //array no.23 _NORRN_can_be_revived = "soldierWB"; //array no.24 _NORRN_can_be_revived_2 = ""; //array no.25 _NORRN_can_revive_OPFOR = "soldierEB"; //array no.26 _NORRN_can_revive_OPFOR_2 = ""; //array no.27 _NORRN_can_be_revived_OPFOR = "SoldierEB";//array no.28 _NORRN_can_be_revived_OPFOR_2 = ""; //array no.29 //No of Enemy sides (0, 1 or 2). Enemy sides can be "EAST", //"WEST","GUER" etc // ====================================================== _NORRN_no_enemy_sides = 0; //array no.30 - not implemented _NORRN_enemy_side_1 = ""; //array no.31 - not implemented _NORRN_enemy_side_2 = ""; //array no.32 - not implemented //Playersides corresponding to each team. Can be west, //east,resistance and civilian. If only one side make sure //you set the second side same as first. //======================================================= _BLUFOR_side_1 = WEST; //array no.50 _BLUFOR_side_2 = WEST; //array no.51 _OPFOR_side_1 = EAST; //array no.52 _OPFOR_side_2 = EAST; //array no.53 //Maximum number of revives per unit - adjust to whatever //value you like and the unit's level of damage following revive // ====================================================== if (param2 == 1 || param2 == 5 || param2 == 9) then {NORRN_max_respawns = 3}; if (param2 == 2 || param2 == 6 || param2 == 10) then {NORRN_max_respawns = 5}; if (param2 == 3 || param2 == 7 || param2 == 11) then {NORRN_max_respawns = 10}; if (param2 == 4 || param2 == 8 || param2 == 12) then {NORRN_max_respawns = 1000}; //if (param2 == 7) then {_NORRN_max_respawns = 10}; _NORRN_max_respawns = NORRN_max_respawns; //_NORRN_max_respawns = 1000; //array no.33 _NORRN_revive_damage = 0.8; //array no.46 //Time until respawn button appears (0 = approx. 12 seconds) //Set to a high number like 100000 seconds if you do not want //to use this option // ====================================================== _NORRN_respawn_button_timer = 60; //array no.34 //If the closest friendly unit is further //than this distance away trigger respawn dialog // ====================================================== _NORRN_distance_to_friend = 250; //array no.35 //Number fo the revives required for bonus // ====================================================== _NORRN_revives_required = 1; //array no.36 //Number of teamkills before punishment // ====================================================== _NORRN_no_team_kills = 1; //array no.37 //Choose what type of respawn option for the revive_timer //function: 0 = dead or 1 = spawns at base (NORRN_respawn_position = 0) //or the closest enemy free respawn point to where the player died //(NORRN_respawn_positon = 1)When using the revive_timer function //the length of time before the unconscious player is declared dead //or spawns at base_1 // ====================================================== _NORRN_revive_timer_type = 1; //array no.38 _NORRN_respawn_position = 1; //array no.39 Do not change _NORRN_revive_time_limit = 300; //array no.40 //Number of heals that each player gets during a mission //The damage level range between which the heal action becomes available //======================================================= _NORRN_no_of_heals = 2; //array no.41 _NORRN_lower_bound_heal = 0.1; //array no.42 _NORRN_upper_bound_heal = 0.7; //array no.43 //This sets the distance that you wish the unconscious //follow cam to follow other team members //======================================================= _NORRN_follow_cam_distance = 250; //array no.44 NORRN_revive_array = []; NORRN_revive_array = [_NORRN_mission_end_function,_NORRN_reward_function, _NORRN_team_kill_function, _NORRN_all_dead_dialog, _NORRN_JIP_spawn_dialog, _NORRN_nearest_teammate_dialog, _NORRN_unconcious_markers, _NORRN_follow_cam, _NORRN_call_out_function, _NORRN_revive_timer, _NORRN_heal_yourself, _NORRN_kegetys_spectator,_NORRN_visible_timer,_NORRN_revive_weapon_respawn,_NORRN_unconscious_black_screen, _NORRN_no_respawn_points,_NORRN_Base_1,_NORRN_Base_2,_NORRN_Base_3,_NORRN_Base_4, _NORRN_time_b4_JIP_spawn_dialog,_NORRN_Base_1_respawn,_NORRN_can_revive,_NORRN_can_revive_2,_NORRN_can_be_revived, _NORRN_can_be_revived_2,_NORRN_can_revive_OPFOR,_NORRN_can_revive_OPFOR_2,_NORRN_can_be_revived_OPFOR,_NORRN_can_be_revived_OPFOR_2, _NORRN_no_enemy_sides,_NORRN_enemy_side_1,_NORRN_enemy_side_2,_NORRN_max_respawns,_NORRN_respawn_button_timer, _NORRN_distance_to_friend,_NORRN_revives_required,_NORRN_no_team_kills,_NORRN_revive_timer_type,_NORRN_respawn_position, _NORRN_revive_time_limit,_NORRN_no_of_heals,_NORRN_lower_bound_heal,_NORRN_upper_bound_heal,_NORRN_follow_cam_distance, _NORRN_water_dialog, _NORRN_revive_damage,_NORRN_unconscious_drag,_BLUFOR_side_1,_BLUFOR_side_2,_OPFOR_side_1,_OPFOR_side_2]; if (_NORRN_QG_unc_anim ==1) then {Norrn_unc_anim = "ActsPpneMstpSnonWnonDnon_Injured2"} else {Norrn_unc_anim = "AmovPpneMstpSnonWnonDnon_healed"}; [] execVM "revive_sqf\revive_init.sqf"; _all_units = []; _all_units = NORRN_player_units + NORRN_player_units_OPFOR; [_all_units] execVM "revive_sqf\isplayer.sqf"; if (isServer) then { //Initialise mission end script if (_NORRN_mission_end_function == 1) then {[_all_units] execVM "revive_sqf\mission_end.sqf"}; }; if (true) exitWith {}; ; ; CAMERA_FOLLOW SCRIPT ; ; Upon the player falling unconcious creates a camera that follows the nearest alive friendly unit (with preference for players) ; ; JUNE 2008 - norrin (norrins_nook@iprimus.com.au) ; ; Version: 1.35 PvP ;************************************************************************************************************************** ; Start camera_follow.sqs ;define variables _Object = _this select 0; _pos = _this select 1; _friend_units = _this select 2; _can_be_revived = _this select 3; _can_be_revived_2 = _this select 4; _c = 0; _d = 0; _alive_friends = []; NORRN_FOCUS_CAM_ON = 0; NORRN_REVIVE_CAM_TYPE = 0; _target = _object; _all_dead_dialog = NORRN_revive_array select 3; _nearest_teammate_dialog = NORRN_revive_array select 5; _follow_cam = NORRN_revive_array select 7; _unconscious_black_screen = NORRN_revive_array select 14; _no_respawn_points = NORRN_revive_array select 15; _respawn_button_timer = NORRN_revive_array select 34; _distance_to_friend = NORRN_revive_array select 35; _follow_cam_distance = NORRN_revive_array select 44; if (unconscious_black_screen == 0) then {CAM_KEY_pressed = compile preprocessfile "revive_sqf\CAM_KEY_pressed.sqf"};showcinemaborder false; showcinemaborder false; ;set camera to target body _camx = getpos _target select 0 _camy = getpos _target select 1 _camz = getpos _target select 2 NORRN_REVIVE_cam = "camera" CamCreate [_camx,_camy+5,_camz+1] NORRN_REVIVE_cam CamSetTarget _target NORRN_REVIVE_cam CameraEffect ["INTERNAL","Back"] NORRN_REVIVE_cam CamCommit 2 ~4 titleText ["You are unconscious and waiting to be revived", "PLAIN"] ~3 @!isNull unconscious_body; _me = unconscious_body; ~1 if (_unconscious_black_screen == 1) then {goto "black_screen"} _foo = [] _foo = _foo + [_me]; _friends = nearestObjects [_me, ["AllVehicles"],_follow_cam_distance]; {if (side _x == side player && alive _x && animationState _x != "AmovPpneMstpSnonWnonDnon_healed") then {_foo = _foo + [_x]}}forEach _friends _alive_friends = _foo COUNT_CAM_friends = count _alive_friends ;create dialog and initialise keyboard _dialog_2 = createDialog "rev_cam_dialog"; _display = findDisplay 99123; _display displaySetEventHandler ["Keydown", "_this call CAM_KEY_pressed"] ;Add cameras to list lbClear 10004; _index = lbAdd[10004, "Follow"]; _index = lbAdd[10004, "Top Down"]; _index = lbAdd[10004, "Front Side"]; _index = lbAdd[10004, "1st Person"]; lbSetCurSel [10004, 0]; ;Add friends to list {_index_friends = lbAdd[10005, name _x]} forEach _alive_friends lbSetCurSel [10005, 0]; titlecut [" ","BLACK IN",1] #target_cam ;create respawn button _e = 0; _f = 0; call compile format ["if(!%1_a) then {goto ""destroy""}", player] ;?(mission_Over): goto "destroy" ?(!alive player): goto "destroy_2" ?(!alive _me):goto "destroy" {call compile format ["if(isplayer %1) then {_f = _f + 1}", _x]} forEach _friend_units {call compile format ["if(animationState %1 == ""AmovPpneMstpSnonWnonDnon"")then {_e = _e + 1}", _x]}forEach _friends_units _nearest_friend = count nearestObjects [_me,[_can_be_revived, _can_be_revived_2], _distance_to_friend] if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 1 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 1 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 1) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_1";} if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 2 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 2 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 2) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_2";} if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 3 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 3 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 3) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_3";} if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 4 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 4 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 4) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_4";} if (name _target == "Error: No unit") then {COUNT_CAM_friends = COUNT_CAM_friends - 1} _foo = [] _foo = _foo + [_me]; _friends = nearestObjects [_me, ["AllVehicles"], _follow_cam_distance]; {if (side _x == side player && alive _x && animationState _x != "AmovPpneMstpSnonWnonDnon_healed") then {_foo = _foo + [_x]}}forEach _friends if (count _foo != COUNT_CAM_friends) then {_alive_friends = _foo; COUNT_CAM_friends = count _alive_friends} _camera_friends = _alive_friends - [_me] if (COUNT_CAM_friends > 0) then {goto "multi_cam"} ;change camera via dialog lbClear 10004; _index = lbAdd[10004, "Follow"]; lbSetCurSel [10004, lbCurSel 10004]; REVIVE_CAM_TYPE = lbCurSel 10004; ;change target via dialog lbClear 10005; _index_friends = lbAdd[10005, name player]; {_index_friends = lbAdd[10005, name _x]} forEach _alive_friends; lbSetCurSel [10005, lbCurSel 10005]; FOCUS_CAM_ON = lbCurSel 10005; if (dialog) then {REVIVE_cam camsettarget player;REVIVE_cam cameraeffect ["internal", "back"];REVIVE_cam camsetrelpos [-1, +1, +4];REVIVE_cam camcommit 1} else {REVIVE_cam camsettarget player;REVIVE_cam cameraeffect ["internal", "back"];REVIVE_cam camsetrelpos [-3, +1, (_max_box select 2) +1];REVIVE_cam camcommit 1} ~0.1 goto "target_cam" #multi_cam ;change camera via dialog lbClear 10004; _index = lbAdd[10004, "Follow"]; _index = lbAdd[10004, "Top Down"]; _index = lbAdd[10004, "Front Side"]; _index = lbAdd[10004, "1st Person"]; lbSetCurSel [10004, lbCurSel 10004]; NORRN_REVIVE_CAM_TYPE = lbCurSel 10004; ;change target via dialog lbClear 10005; _index_friends = lbAdd[10005, name player]; {_index_friends = lbAdd[10005, name _x]} forEach _camera_friends lbSetCurSel [10005, lbCurSel 10005]; NORRN_FOCUS_CAM_ON = lbCurSel 10005; _max_box = (boundingbox _target select 1) _min_box = (boundingbox _target select 0) if (_follow_cam == 1 && !dialog) then {_target = _me; NORRN_REVIVE_cam camsettarget _target;NORRN_REVIVE_cam cameraeffect ["internal", "back"];NORRN_REVIVE_cam camsetrelpos [-3, +1, (_max_box select 2) +1];NORRN_REVIVE_cam camcommit 1}; if (_follow_cam == 0) then {goto "body_cam"} if (_follow_cam == 1 && NORRN_REVIVE_CAM_TYPE == 0) then {_target = _alive_friends select NORRN_FOCUS_CAM_ON;if (_target == player) then {_me switchCamera "EXTERNAL"} else {_target switchCamera "EXTERNAL"};NORRN_REVIVE_cam CameraEffect ["Terminate","Back"]} if (_follow_cam == 1 && NORRN_REVIVE_CAM_TYPE == 1) then {_target = _alive_friends select NORRN_FOCUS_CAM_ON;if (_target == player) then {NORRN_REVIVE_cam camsettarget _me} else {NORRN_REVIVE_cam camsettarget _target};NORRN_REVIVE_cam cameraeffect ["internal", "back"];NORRN_REVIVE_cam camsetrelpos [0, -2, (_max_box select 2) + 15];NORRN_REVIVE_cam camcommit 1} if (_follow_cam == 1 && NORRN_REVIVE_CAM_TYPE == 2) then {_target = _alive_friends select NORRN_FOCUS_CAM_ON;if (_target == player) then {NORRN_REVIVE_cam camsettarget _me} else {NORRN_REVIVE_cam camsettarget _target};NORRN_REVIVE_cam cameraeffect ["internal", "back"];NORRN_REVIVE_cam camsetrelpos [-1.5, 3, (_min_box select 2)];NORRN_REVIVE_cam camSetFov 1.1; NORRN_REVIVE_cam camcommit 1} if (_follow_cam == 1 && NORRN_REVIVE_CAM_TYPE == 3) then {_target = _alive_friends select NORRN_FOCUS_CAM_ON;if (_target == player) then {_me switchCamera "INTERNAL"} else {_target switchCamera "INTERNAL"};NORRN_REVIVE_cam CameraEffect ["Terminate","Back"]}; if (_follow_cam == 1 && NORRN_REVIVE_CAM_TYPE == 4) then {NORRN_REVIVE_cam CamSetTarget _me; NORRN_REVIVE_cam CameraEffect ["INTERNAL","Back"];NORRN_REVIVE_cam camsetrelpos [_camx,_camy+3,_camz+1]; NORRN_REVIVE_cam CamCommit 2}; if (_c == 0 && dialog || _Camera_target != NORRN_FOCUS_CAM_ON && dialog) then {if (NORRN_FOCUS_CAM_ON == 0) then {titleText [format ["Camera following: %1", name player], "PLAIN DOWN", 0.3]}else {titleText [format ["Camera following: %1", name _target], "PLAIN DOWN", 0.3]}} _Camera_target = NORRN_FOCUS_CAM_ON _c = _c + 1; if (_c == 400) then {_c = 0} ~0.01 goto "target_cam" #body_cam ;create respawn button _e = 0; _f = 0; call compile format ["if(!%1_a) then {goto ""destroy""}", player] ;?(mission_Over): goto "destroy" ?(!alive player): goto "destroy_2" {call compile format ["if(isplayer %1) then {_f = _f + 1}", _x]} forEach _friend_units {call compile format ["if(animationState %1 == ""AmovPpneMstpSnonWnonDnon"")then {_e = _e + 1}", _x]}forEach _friends_units; _nearest_friend = count nearestObjects [_me,[_can_be_revived, _can_be_revived_2], _distance_to_friend] if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 1 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 1 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 1) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_1";} if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 2 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 2 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 2) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_2";} if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 3 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 3 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 3) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_3";} if (_time > _respawn_button_timer && _d == 0 && _no_respawn_points == 4 || _all_dead_dialog == 1 && _e == _f && _d == 0 && _no_respawn_points == 4 || _nearest_teammate_dialog == 1 && _nearest_friend == 1 && _d == 0 && _no_respawn_points == 4) then {closeDialog 1; _d = 1; _dialog_1 = createDialog "respawn_button_4";} ;change camera via dialog lbClear 10004; _index = lbAdd[10004, "Follow"]; lbSetCurSel [10004, lbCurSel 10004]; NORRN_REVIVE_CAM_TYPE = lbCurSel 10004; ;change target via dialog lbClear 10005; _index_friends = lbAdd[10005, name player]; lbSetCurSel [10005, lbCurSel 10005]; NORRN_FOCUS_CAM_ON = lbCurSel 10005; if (dialog) then {_me switchCamera "EXTERNAL";NORRN_REVIVE_cam CameraEffect ["Terminate","Back"]} else {NORRN_REVIVE_cam camsettarget _me;NORRN_REVIVE_cam cameraeffect ["internal", "back"];NORRN_REVIVE_cam camsetrelpos [-3, +1, (_max_box select 2) +1];NORRN_REVIVE_cam camcommit 1} ~0.5 goto "body_cam" ;destroy camera #destroy ~5 camUseNVG false closeDialog 0 closeDialog 1 closeDialog 2 closeDialog 3 titlecut [" ","BLACK IN",4] player switchCamera "INTERNAL"; NORRN_REVIVE_cam CameraEffect ["Terminate","Back"] CamDestroy NORRN_REVIVE_cam exit #destroy_2 camUseNVG false closeDialog 0 closeDialog 1 closeDialog 2 closeDialog 3 titlecut [" ","BLACK IN",4] player switchCamera "INTERNAL"; NORRN_REVIVE_cam CameraEffect ["Terminate","Back"] CamDestroy NORRN_REVIVE_cam exit//CAM_KEY_pressed.sqf start switch ((_this select 1)) do { //N key case 49: { camUseNVG true; }; //M key case 50: { camUseNVG false; }; //A key case 30: { comment "A = Previous target"; if (NORRN_FOCUS_CAM_ON > 0) then { NORRN_FOCUS_CAM_ON = NORRN_FOCUS_CAM_ON - 1; lbSetCurSel [10005, NORRN_FOCUS_CAM_ON]; }; }; //D key case 32: { comment "D = Next target"; if (NORRN_FOCUS_CAM_ON < COUNT_CAM_friends - 1) then { NORRN_FOCUS_CAM_ON = NORRN_FOCUS_CAM_ON + 1; lbSetCurSel [10005, NORRN_FOCUS_CAM_ON]; }; }; //S key case 31: { "S = Next camera"; if (NORRN_REVIVE_CAM_TYPE < 3) then { NORRN_REVIVE_CAM_TYPE = NORRN_REVIVE_CAM_TYPE + 1; lbSetCurSel [10004, NORRN_REVIVE_CAM_TYPE]; }; }; //W key case 17: { comment "W = Previous camera"; if (NORRN_REVIVE_CAM_TYPE > 0) then { NORRN_REVIVE_CAM_TYPE = NORRN_REVIVE_CAM_TYPE - 1; lbSetCurSel [10004, NORRN_REVIVE_CAM_TYPE]; }; }; }; /* CONFIG.CPP Taken and adapted from ArmA Group Link II Plus! script by SNKMAN. ******************************************************************************************************************************** Start config.cpp */ class CfgSounds { sounds[] = { Brian_Im_hit, Brian_Im_bleeding,Brian_Medic,Brian_Bastards,Brian_Shit_Man_down,Brian_Oh_no, Brian_Fuck,Brian_Fuck_it,Brian_Shit,Brian_Need_help,Brian_A_little_help_here,UScore, UCapture, Rscore, Rcapture }; class Brian_Im_hit { name="Brian_Im_hit"; sound[]={"UNIV_v05.ogg",0.05,1.0}; titles[]={}; }; class Brian_Im_bleeding { name="Brian_Im_bleeding"; sound[]={"UNIV_v06.ogg",0.05,1.0}; titles[]={}; }; class Brian_Medic { name="Brian_Medic"; sound[]={"UNIV_v07.ogg",0.05,1.0}; titles[]={}; }; class Brian_Bastards { name="Brian_Bastards"; sound[]={"UNIV_v10.ogg",0.05,1.0}; titles[]={}; }; class Brian_Shit_Man_down { name="Brian_Shit_Man_down"; sound[]={"UNIV_v11.ogg",0.05,1.0}; titles[]={}; }; class Brian_Oh_no { name="Brian_Oh_no"; sound[]={"UNIV_v18.ogg",0.05,1.0}; titles[]={}; }; class Brian_Fuck { name="Brian_Fuck"; sound[]={"UNIV_v24.ogg",0.05,1.0}; titles[]={}; }; class Brian_Fuck_it { name="Brian_Fuck_it"; sound[]={"UNIV_v25.ogg",0.05,1.0}; titles[]={}; }; class Brian_Shit { name="Brian_Shit"; sound[]={"UNIV_v31.ogg",0.05,1.0}; titles[]={}; }; class Brian_Need_help { name="Brian_Need_help"; sound[]={"UNIV_v50.ogg",0.05,1.0}; titles[]={}; }; class Brian_A_little_help_here { name="Brian_A_little_help_here"; sound[]={"UNIV_v51.ogg",0.05,1.0}; titles[]={}; }; class UScore { name = "UScore"; sound[] = {"UScore.ogg", 1, 1.0}; titles[] = { }; }; class UCapture { name = "UCapture"; sound[] = {"UCapture.ogg", 10, 1.0}; titles[] = { }; }; class RScore { name = "RScore"; sound[] = {"UScore.ogg", 1, 1.0}; titles[] = { }; }; class RCapture { name = "RCapture"; sound[] = {"UCapture.ogg", 10, 1.0}; titles[] = { }; }; };/* RESPAWN AT BASE DIALOG This script adds a button when the follow_camera activates that allows the player to respawn at base June 2007 - norrin (norrins_nook@iprimus.com.au) ********************************************************************************************************************************** respawn_button_1.hpp */ // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0c #define ST_TYPE 0xF0 #define ST_SINGLE 0 #define ST_MULTI 16 #define ST_TITLE_BAR 32 #define ST_PICTURE 48 #define ST_FRAME 64 #define ST_BACKGROUND 80 #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_HUD_BACKGROUND 128 #define ST_TILE_PICTURE 144 #define ST_WITH_RECT 160 #define ST_LINE 176 #define FontM "Zeppelin32" class Respawn_button_1 { idd = -1; movingEnable = false; controlsBackground[] = {}; objects[] = { }; controls[] = {TOP_BORDER, BOTTOM_BORDER, TITLE_DIALOG, HELP_DIALOG, PRESS_HELP, CAM_LIST, CAM_select, FRIEND_LIST, FRIEND_select, Respawn_1}; class TOP_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = -0.2; w = 1.4; h = 0.28; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class BOTTOM_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = 0.89; w = 1.4; h = 0.25; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class TITLE_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.38; y = 0.03; w = 0.4; h = 0.04; font = FontM; sizeEx = 0.04; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = ""; text = "Unconscious Camera"; blinkingPeriod = 20; default = true; }; class RscText { type = CT_STATIC; idc = -1; style = ST_LEFT; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; font = FontM; sizeEx = 0.02; }; class PRESS_HELP : RscText { idc = 10000; style = ST_MULTI; linespacing = 1; x = 0.8; y = 0.92; w = 0.2; h = 0.1; text = ""; }; class HELP_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.8; y = 0.9; w = 0.4; h = 0.02; font = FontM; sizeEx = 0.02; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = "ctrlSetText [10000, ""Keyboard controls: A/D - Previous/Next target W/S - Previous/Next camera N/M - NV Cam On/Off""]"; text = "Press for Help"; blinkingPeriod = 20; default = true; }; class RscLB_C { style = ST_LEFT; idc = -1; colorSelect[] = {1, 1, 1, 1 }; colorSelectBackground[] = {0, 0, 0, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 1}; colorBorder[] = {0, 0, 0, 0}; colorShadow[] = {0, 0, 0, 0}; borderSize = 0; font = FontM; sizeEx = 0.02; rowHeight = 0.025; }; class RscCombo : RscLB_C { type = CT_COMBO; wholeHeight = 0.3; }; class CAM_LIST: RscCombo { idc = 10004; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.09; y = 0.03; w = 0.1; h = 0.04; blinkingPeriod = 20; }; class CAM_select { type = CT_STATIC; style = ST_LEFT; idc = 10001; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.02; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Camera:"; default = true; blinkingPeriod = 20; }; class FRIEND_LIST: RscCombo { idc = 10005; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.82; y = 0.03; w = 0.15; h = 0.04; blinkingPeriod = 20; }; class FRIEND_select { type = CT_STATIC; style = ST_LEFT; idc = 10002; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.75; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Target:"; default = true; blinkingPeriod = 20; }; class Respawn_1 { idc = 1; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.7; w = 0.13; h = 0.04; text = "Respawn at Base"; action = "[1, player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; };/* RESPAWN AT BASE DIALOG This script adds a button when the follow_camera activates that allows the player to respawn at base June 2007 - norrin (norrins_nook@iprimus.com.au) ********************************************************************************************************************************** respawn_button_1c.hpp */ // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0c #define ST_TYPE 0xF0 #define ST_SINGLE 0 #define ST_MULTI 16 #define ST_TITLE_BAR 32 #define ST_PICTURE 48 #define ST_FRAME 64 #define ST_BACKGROUND 80 #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_HUD_BACKGROUND 128 #define ST_TILE_PICTURE 144 #define ST_WITH_RECT 160 #define ST_LINE 176 #define FontM "Zeppelin32" class Respawn_button_1c { idd = -1; movingEnable = true; controlsBackground[] = {}; objects[] = { }; controls[] = {Respawn_1b}; class Respawn_1b { idc = 1; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.8; w = 0.11; h = 0.04; text = "Wash Ashore"; action = "[player] execVM ""revive_sqf\respawn_at_base_water.sqf"""; }; };/* RESPAWN AT BASE DIALOG This script adds a button when the follow_camera activates that allows the player to respawn at base June 2007 - norrin (norrins_nook@iprimus.com.au) ********************************************************************************************************************************** respawn_button_2.hpp */ // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0c #define ST_TYPE 0xF0 #define ST_SINGLE 0 #define ST_MULTI 16 #define ST_TITLE_BAR 32 #define ST_PICTURE 48 #define ST_FRAME 64 #define ST_BACKGROUND 80 #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_HUD_BACKGROUND 128 #define ST_TILE_PICTURE 144 #define ST_WITH_RECT 160 #define ST_LINE 176 #define FontM "Zeppelin32" class Respawn_button_2 { idd = -1; movingEnable = false; controlsBackground[] = {}; objects[] = { }; controls[] = {TOP_BORDER, BOTTOM_BORDER, TITLE_DIALOG, HELP_DIALOG, PRESS_HELP, CAM_LIST, CAM_select, FRIEND_LIST, FRIEND_select, Respawn_1, Respawn_2}; class TOP_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = -0.2; w = 1.4; h = 0.28; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class BOTTOM_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = 0.89; w = 1.4; h = 0.25; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class TITLE_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.38; y = 0.03; w = 0.4; h = 0.04; font = FontM; sizeEx = 0.04; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = ""; text = "Unconscious Camera"; blinkingPeriod = 20; default = true; }; class RscText { type = CT_STATIC; idc = -1; style = ST_LEFT; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; font = FontM; sizeEx = 0.02; }; class PRESS_HELP : RscText { idc = 10000; style = ST_MULTI; linespacing = 1; x = 0.8; y = 0.92; w = 0.2; h = 0.1; text = ""; }; class HELP_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.8; y = 0.9; w = 0.4; h = 0.02; font = FontM; sizeEx = 0.02; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = "ctrlSetText [10000, ""Keyboard controls: A/D - Previous/Next target W/S - Previous/Next camera N/M - NV Cam On/Off""]"; text = "Press for Help"; blinkingPeriod = 20; default = true; }; class RscLB_C { style = ST_LEFT; idc = -1; colorSelect[] = {1, 1, 1, 1 }; colorSelectBackground[] = {0, 0, 0, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 1}; colorBorder[] = {0, 0, 0, 0}; colorShadow[] = {0, 0, 0, 0}; borderSize = 0; font = FontM; sizeEx = 0.02; rowHeight = 0.025; }; class RscCombo : RscLB_C { type = CT_COMBO; wholeHeight = 0.3; }; class CAM_LIST: RscCombo { idc = 10004; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.09; y = 0.03; w = 0.1; h = 0.04; blinkingPeriod = 20; }; class CAM_select { type = CT_STATIC; style = ST_LEFT; idc = 10001; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.02; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Camera:"; default = true; blinkingPeriod = 20; }; class FRIEND_LIST: RscCombo { idc = 10005; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.82; y = 0.03; w = 0.15; h = 0.04; blinkingPeriod = 20; }; class FRIEND_select { type = CT_STATIC; style = ST_LEFT; idc = 10002; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.75; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Target:"; default = true; blinkingPeriod = 20; }; class Respawn_1 { idc = 1; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.7; w = 0.11; h = 0.04; text = "RESPAWN 1"; action = "[1,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; class Respawn_2 { idc = 2; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.75; w = 0.11; h = 0.04; text = "RESPAWN 2"; action = "[2,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; };/* RESPAWN AT BASE DIALOG This script adds a button when the follow_camera activates that allows the player to respawn at base June 2007 - norrin (norrins_nook@iprimus.com.au) ********************************************************************************************************************************** respawn_button_3.hpp */ // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0c #define ST_TYPE 0xF0 #define ST_SINGLE 0 #define ST_MULTI 16 #define ST_TITLE_BAR 32 #define ST_PICTURE 48 #define ST_FRAME 64 #define ST_BACKGROUND 80 #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_HUD_BACKGROUND 128 #define ST_TILE_PICTURE 144 #define ST_WITH_RECT 160 #define ST_LINE 176 #define FontM "Zeppelin32" class Respawn_button_3 { idd = -1; movingEnable = false; controlsBackground[] = {}; objects[] = { }; controls[] = {TOP_BORDER, BOTTOM_BORDER, TITLE_DIALOG, HELP_DIALOG, PRESS_HELP, CAM_LIST, CAM_select, FRIEND_LIST, FRIEND_select, Respawn_1, Respawn_2, Respawn_3}; class TOP_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = -0.2; w = 1.4; h = 0.28; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class BOTTOM_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = 0.89; w = 1.4; h = 0.25; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class TITLE_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.38; y = 0.03; w = 0.4; h = 0.04; font = FontM; sizeEx = 0.04; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = ""; text = "Unconscious Camera"; blinkingPeriod = 20; default = true; }; class RscText { type = CT_STATIC; idc = -1; style = ST_LEFT; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; font = FontM; sizeEx = 0.02; }; class PRESS_HELP : RscText { idc = 10000; style = ST_MULTI; linespacing = 1; x = 0.8; y = 0.92; w = 0.2; h = 0.1; text = ""; }; class HELP_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.8; y = 0.9; w = 0.4; h = 0.02; font = FontM; sizeEx = 0.02; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = "ctrlSetText [10000, ""Keyboard controls: A/D - Previous/Next target W/S - Previous/Next camera N/M - NV Cam On/Off""]"; text = "Press for Help"; blinkingPeriod = 20; default = true; }; class RscLB_C { style = ST_LEFT; idc = -1; colorSelect[] = {1, 1, 1, 1 }; colorSelectBackground[] = {0, 0, 0, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 1}; colorBorder[] = {0, 0, 0, 0}; colorShadow[] = {0, 0, 0, 0}; borderSize = 0; font = FontM; sizeEx = 0.02; rowHeight = 0.025; }; class RscCombo : RscLB_C { type = CT_COMBO; wholeHeight = 0.3; }; class CAM_LIST: RscCombo { idc = 10004; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.09; y = 0.03; w = 0.1; h = 0.04; blinkingPeriod = 20; }; class CAM_select { type = CT_STATIC; style = ST_LEFT; idc = 10001; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.02; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Camera:"; default = true; blinkingPeriod = 20; }; class FRIEND_LIST: RscCombo { idc = 10005; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.82; y = 0.03; w = 0.15; h = 0.04; blinkingPeriod = 20; }; class FRIEND_select { type = CT_STATIC; style = ST_LEFT; idc = 10002; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.75; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Target:"; default = true; blinkingPeriod = 20; }; class Respawn_1 { idc = 1; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.7; w = 0.11; h = 0.04; text = "RESPAWN 1"; action = "[1,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; class Respawn_2 { idc = 2; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.75; w = 0.11; h = 0.04; text = "RESPAWN 2"; action = "[2,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; class Respawn_3 { idc = 3; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.8; w = 0.11; h = 0.04; text = "RESPAWN 3"; action = "[3,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; };/* RESPAWN AT BASE DIALOG This script adds a button when the follow_camera activates that allows the player to respawn at base June 2007 - norrin (norrins_nook@iprimus.com.au) ********************************************************************************************************************************** respawn_button_4.hpp */ // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0c #define ST_TYPE 0xF0 #define ST_SINGLE 0 #define ST_MULTI 16 #define ST_TITLE_BAR 32 #define ST_PICTURE 48 #define ST_FRAME 64 #define ST_BACKGROUND 80 #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_HUD_BACKGROUND 128 #define ST_TILE_PICTURE 144 #define ST_WITH_RECT 160 #define ST_LINE 176 #define FontM "Zeppelin32" class Respawn_button_4 { idd = -1; movingEnable = false; controlsBackground[] = {}; objects[] = { }; controls[] = {TOP_BORDER, BOTTOM_BORDER, TITLE_DIALOG, HELP_DIALOG, PRESS_HELP, CAM_LIST, CAM_select, FRIEND_LIST, FRIEND_select, Respawn_1, Respawn_2, Respawn_3, Respawn_4}; class TOP_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = -0.2; w = 1.4; h = 0.28; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class BOTTOM_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = 0.89; w = 1.4; h = 0.25; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class TITLE_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.38; y = 0.03; w = 0.4; h = 0.04; font = FontM; sizeEx = 0.04; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = ""; text = "Unconscious Camera"; blinkingPeriod = 20; default = true; }; class RscText { type = CT_STATIC; idc = -1; style = ST_LEFT; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; font = FontM; sizeEx = 0.02; }; class PRESS_HELP : RscText { idc = 10000; style = ST_MULTI; linespacing = 1; x = 0.8; y = 0.92; w = 0.2; h = 0.1; text = ""; }; class HELP_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.8; y = 0.9; w = 0.4; h = 0.02; font = FontM; sizeEx = 0.02; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = "ctrlSetText [10000, ""Keyboard controls: A/D - Previous/Next target W/S - Previous/Next camera N/M - NV Cam On/Off""]"; text = "Press for Help"; blinkingPeriod = 20; default = true; }; class RscLB_C { style = ST_LEFT; idc = -1; colorSelect[] = {1, 1, 1, 1 }; colorSelectBackground[] = {0, 0, 0, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 1}; colorBorder[] = {0, 0, 0, 0}; colorShadow[] = {0, 0, 0, 0}; borderSize = 0; font = FontM; sizeEx = 0.02; rowHeight = 0.025; }; class RscCombo : RscLB_C { type = CT_COMBO; wholeHeight = 0.3; }; class CAM_LIST: RscCombo { idc = 10004; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.09; y = 0.03; w = 0.1; h = 0.04; blinkingPeriod = 20; }; class CAM_select { type = CT_STATIC; style = ST_LEFT; idc = 10001; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.02; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Camera:"; default = true; blinkingPeriod = 20; }; class FRIEND_LIST: RscCombo { idc = 10005; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.82; y = 0.03; w = 0.15; h = 0.04; blinkingPeriod = 20; }; class FRIEND_select { type = CT_STATIC; style = ST_LEFT; idc = 10002; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.75; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Target:"; default = true; blinkingPeriod = 20; }; class Respawn_1 { idc = 1; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.65; w = 0.11; h = 0.04; text = "RESPAWN 1"; action = "[1,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; class Respawn_2 { idc = 2; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.7; w = 0.11; h = 0.04; text = "RESPAWN 2"; action = "[2,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; class Respawn_3 { idc = 3; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.75; w = 0.11; h = 0.04; text = "RESPAWN 3"; action = "[3,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; class Respawn_4 { idc = 4; type = CT_BUTTON; style = ST_CENTRE; default = false; font = FontM; sizeEx = 0.022; colorText[] = { 0, 0, 0, 1 }; colorFocused[] = { 0.31, 0.31, 0.31, 0.31 }; colorDisabled[] = { 0, 0, 1, 0.7 }; colorBackground[] = { 1, 1, 1, 0.5 }; colorBackgroundDisabled[] = { 1, 1, 1, 0.5 }; colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 }; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = { 0, 0, 0, 0.5 }; colorBorder[] = { 0.5, 0.5, 0.5, 0.5 }; borderSize = 0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "buttonpushed.ogg", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.85; y = 0.8; w = 0.11; h = 0.04; text = "RESPAWN 4"; action = "[4,player] execVM ""revive_sqf\respawn_at_base.sqf"""; }; };/* REVIVE CAMERA DIALOG AUGUST 2007 - norrin (norrins_nook@iprimus.com.au) ********************************************************************************************************************************** rev_cam_dialog.hpp */ // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0c #define ST_TYPE 0xF0 #define ST_SINGLE 0 #define ST_MULTI 16 #define ST_TITLE_BAR 32 #define ST_PICTURE 48 #define ST_FRAME 64 #define ST_BACKGROUND 80 #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_HUD_BACKGROUND 128 #define ST_TILE_PICTURE 144 #define ST_WITH_RECT 160 #define ST_LINE 176 #define FontM "Zeppelin32" class rev_cam_dialog { idd = 99123; movingEnable = true; controlsBackground[] = { }; objects[] = { }; controls[] = {TOP_BORDER, BOTTOM_BORDER, TITLE_DIALOG, HELP_DIALOG, PRESS_HELP, CAM_LIST, CAM_select, FRIEND_LIST, FRIEND_SELECT}; class TOP_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = -0.2; w = 1.4; h = 0.28; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class BOTTOM_BORDER { idc = -1; type = CT_STATIC; style = ST_CENTER; x = -0.2; y = 0.89; w = 1.4; h = 0.25; font = FontM; sizeEx = 0.04; colorText[] = { 1, 1, 1, 1 }; colorBackground[] = {0,0,0,1}; text = ""; blinkingPeriod = 20; }; class TITLE_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.38; y = 0.03; w = 0.4; h = 0.04; font = FontM; sizeEx = 0.04; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = ""; text = "Unconscious Camera"; blinkingPeriod = 20; default = true; }; class RscText { type = CT_STATIC; idc = -1; style = ST_LEFT; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; font = FontM; sizeEx = 0.02; }; class PRESS_HELP : RscText { idc = 10000; style = ST_MULTI; linespacing = 1; x = 0.8; y = 0.92; w = 0.2; h = 0.1; text = ""; }; class HELP_DIALOG { idc = -1; type = CT_ACTIVETEXT; style = ST_LEFT; x = 0.8; y = 0.9; w = 0.4; h = 0.02; font = FontM; sizeEx = 0.02; color[] = { 1, 1, 1, 1 }; colorActive[] = { 1, 0.2, 0.2, 1 }; soundEnter[] = { "", 0, 1 }; // no sound soundPush[] = { "", 0, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; action = "ctrlSetText [10000, ""Keyboard controls: A/D - Previous/Next target W/S - Previous/Next camera N/M - NV Cam On/Off""]"; text = "Press for Help"; blinkingPeriod = 20; default = true; }; class RscLB_C { style = ST_LEFT; idc = -1; colorSelect[] = {1, 1, 1, 1 }; colorSelectBackground[] = {0, 0, 0, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 1}; colorBorder[] = {0, 0, 0, 0}; colorShadow[] = {0, 0, 0, 0}; borderSize = 0; font = FontM; sizeEx = 0.02; rowHeight = 0.025; }; class RscCombo : RscLB_C { type = CT_COMBO; wholeHeight = 0.3; }; class CAM_LIST: RscCombo { idc = 10004; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.09; y = 0.03; w = 0.1; h = 0.04; blinkingPeriod = 20; }; class CAM_select { type = CT_STATIC; style = ST_LEFT; idc = 10001; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.02; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Camera:"; default = true; blinkingPeriod = 20; }; class FRIEND_LIST: RscCombo { idc = 10005; soundSelect[] = { "", 0, 1 }; soundExpand[] = { "", 0, 1 }; soundCollapse[] = { "", 0, 1 }; x = 0.82; y = 0.03; w = 0.15; h = 0.04; blinkingPeriod = 20; }; class FRIEND_select { type = CT_STATIC; style = ST_LEFT; idc = 10002; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0,0,0,0}; x = 0.75; y = 0.03; w = 0.08; h = 0.04; font = FontM; sizeEx = 0.02; text = "Target:"; default = true; blinkingPeriod = 20; }; }; /* DRAG BODY SCRIPT Allows players to drag unconscious bodies AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) ***************************************************************************************************************************** Start drag.sqf */ private ["_unit","_dragee","_pos","_dir"]; _unit = player; r_drag_sqf = true; _can_be_revived = can_be_revived; _can_be_revived_2 = can_be_revived_2; //identify unit to be dragged if (animationstate (nearestObjects [_unit, [_can_be_revived, _can_be_revived_2], 2] select 1) == Norrn_unc_anim) then { _dragee = nearestObjects [_unit, [_can_be_revived, _can_be_revived_2], 2] select 1; }; if (isNull _dragee) exitWith {}; //unit assumes dragging posture // _unit playMove "AmovPknlMwlkSlowWrflDb"; //Uneccesary actions removed & drop body added call compile format ["%1 removeAction %1_myaction_drag", _unit]; call compile format ["%1 removeAction %1_myaction", _unit]; NORRN_dragaction = player addAction ["Drop body", "revive_sqf\drop_body.sqf","", 0, false, true]; while {r_drag_sqf} do { //check that dragged unit still exists _dragee = objNull; if (animationstate (nearestObjects [_unit, [_can_be_revived, _can_be_revived_2], 2] select 1) == Norrn_unc_anim) then { _dragee = nearestObjects [_unit, [_can_be_revived, _can_be_revived_2], 2] select 1; }; if (isNull _dragee || !alive _unit) exitWith { player removeAction NORRN_dragaction; NORRN_remove_drag = true; r_drag_sqf = false; }; //unit assumes dragging posture if (animationState _unit != "AmovPknlMwlkSlowWrflDb") then { _wait = time + 1; while {time < _wait} do { //get current position of unit _pos = getPos _unit; _dir = getDir _unit; _pos_dragee = getPos _dragee; _height = _dragee distance _pos_dragee; //update position of body _dragee setDir (_dir - 180); _dragee setPos[((_pos select 0) + (1.5 * sin _dir)), ((_pos select 1) + (1.5 * cos _dir)),_height]; sleep 0.01; }; if (!r_drag_sqf) exitWith {}; _unit playMove "AmovPknlMwlkSlowWrflDb"; }; //get current position of unit _pos = getPos _unit; _dir = getDir _unit; _pos_dragee = getPos _dragee; _height = _dragee distance _pos_dragee; //update position of body _dragee setDir (_dir - 180); _dragee setPos[((_pos select 0) + (1.5 * sin _dir)), ((_pos select 1) + (1.5 * cos _dir)),_height]; sleep 0.01; }; if (true) exitWith {}; /* DROP BODY SCRIPT Allows players to drop unconscious bodies MARCH 2008 - norrin (norrins_nook@iprimus.com.au) ***************************************************************************************************************************** Start drop_body.sqf */ player removeAction NORRN_dragaction; NORRN_remove_drag = true; r_drag_sqf = false; sleep 1; if (true) exitWith {};/* HEAL_ACTION SCRIPT Causes the player to execute the medic animation when the revive action is chosen April 2007 - norrin (norrins_nook@iprimus.com.au) *********************************************************************************************************************** begin heal.sqf */ player playMove "AinvPknlMstpSlayWrflDnon_medic"; sleep 8; if (true) exitWith {}; /* HEAL_ACTION SCRIPT Causes the player to execute the medic animation when the heal action is chosen and resets dammage to 0. JUNE 2007 - norrin (norrins_nook@iprimus.com.au) *********************************************************************************************************************** begin heal.sqf */ player playMove "AinvPknlMstpSlayWrflDnon_medic"; player setdammage 0; call compile format ["NORRN_healed_%1 = true; publicVariable ""NORRN_healed_%1""", player]; sleep 8; if (true) exitWith {};/* PLAYER HEAL SCRIPT - Doc SNKMAN's Amazing Snake Oil Elixir All playable units can heal themselves a x number of times JUNE 2008 - norrin (norrins_nook@iprimus.com.au) Version: 1.49 ******************************************************************************************************* Based on an idea by SNKMAN ******************************************************************************************************* Start player_heal.sqf */ if (!local player) exitWith {}; _unit = _this select 0; _no_of_heals = NORRN_revive_array select 34; _lower_bound_heal = NORRN_revive_array select 35; _upper_bound_heal = NORRN_revive_array select 36; _c = 0; _no_heals_remaining = _no_of_heals; _remove_heal = false; //Probably best not to play with the following code unless you know what you are doing sleep 0.5; //Prompt joining player the number of heals remaining _no_heals = format ["Heals remaining: %1", _no_of_heals]; // hint _no_heals; //Body of the script while {true} do { //While player alive if (alive player) then { //add heal action for players if(_c == 0 && getDammage player >= _lower_bound_heal && getDammage player <= _upper_bound_heal && _no_heals_remaining > 0) then { call compile format ["NORRN_myaction_%1 = %1 addAction [""Heal"", ""revive_sqf\heal_sqf\heal.sqf"","""", 0, false, true]", player]; _c = _c + 1; }; call compile format ["if (NORRN_healed_%1) then {_remove_heal = true}", player]; if(_remove_heal) then { _no_heals_remaining = _no_heals_remaining - 1; hint format ["Heals remaining: %1", _no_heals_remaining]; call compile format ["%1 removeAction NORRN_myaction_%1;", player]; _c = 0; call compile format ["NORRN_healed_%1 = false;publicVariable ""NORRN_healed_%1"";", player]; _remove_heal = false; sleep 4; hint""; sleep 6; }; if (getDammage player > _upper_bound_heal) then { call compile format ["%1 removeAction NORRN_myaction_%1;", player]; _c = 0; sleep 1; }; if (getDammage player < _lower_bound_heal) then { call compile format ["%1 removeAction NORRN_myaction_%1;", player]; _c = 0; sleep 1; }; sleep 2; }; //if player is dead if (!alive player) then { _no_heals_remaining = _no_of_heals; _no_left = format ["Heals remaining: %1", _no_heals_remaining]; //hint _no_left; call compile format ["NORRN_healed_%1 = false; publicVariable ""NORRN_healed_%1"";", player]; _c = 0; sleep 2; }; };/* ISPLAYER SCRIPT Checks to determine whether the unit isplayer and resets unconcious variable and deletes marker if player no longer present AUGUST 2008 - norrin (norrins_nook@iprimus.com.au) ************************************************************************************************************************************ isplayer.sqf */ if (!local player) exitWith {}; _names_units = _this select 0; _can_be_revived = NORRN_revive_array select 24; _can_be_revived_2 = NORRN_revive_array select 25; _can_be_revived_3 = NORRN_revive_array select 28; _can_be_revived_4 = NORRN_revive_array select 29; while {true} do { {call compile format ["if (!isplayer %1 && !isNull norrn_dead_%1) then { deleteVehicle norrn_dead_%1; norrn_dead_%1 = Objnull; NORRN_unc_array_%1 = nil; sleep 0.1}", _x]} forEach _names_units; sleep 1; }; /* MISSION END SCRIPT Ends mission when all playable units are unconcious NOVEMBER 2007 - norrin (norrins_nook@iprimus.com.au) Version: 1.1 ************************************************************************************************************************************ mission_end.sqf */ _units = _this select 0; while {true} do { sleep 2; _no_concious = 0; {call compile format ["if (isplayer %1 && !%1_a) then {_no_concious = _no_concious + 1;};", _x];}forEach _units; sleep 2; if (_no_concious == 0) exitWith { mission_Over = true; publicVariable "mission_Over"; }; sleep 5; }; /* DEPLOY CAMO SCRIPT norrin, March 2008 *********************************************************************************************************************************** deploy_camo.sqf */ _vcl = _this select 0; _pos_vcl = getPos _vcl; _dir_vcl = getDir _vcl; _Base_1 = NORRN_revive_array select 13; _no_enemy_sides = NORRN_revive_array select 23; _enemy_side_1 = NORRN_revive_array select 24; _enemy_side_2 = NORRN_revive_array select 25; _Base_1_respawn = NORRN_revive_array select 18; _mobile_base_start = NORRN_revive_array select 52; switch (playerSide) do { case west: {"WeaponBoxWest" createVehicle [_pos_vcl select 0, (_pos_vcl select 1) - 2, (_pos_vcl select 2) - 4];}; case east: {"WeaponBoxEast" createVehicle [_pos_vcl select 0, (_pos_vcl select 1) - 2, (_pos_vcl select 2) - 4];}; case resistance: {"WeaponBoxGuer" createVehicle [_pos_vcl select 0, (_pos_vcl select 1) - 2, (_pos_vcl select 2) - 4];}; }; _vcl setFuel 0; _camo = "ShedBig" createVehicle _pos_vcl; _camo setDir (_dir_vcl + 90); _camo setPos [(_pos_vcl select 0) + (sqrt (4) * cos (155 - _dir_vcl)), (_pos_vcl select 1) + (sqrt (4) * sin (155 - _dir_vcl)) , 0]; _Base_1 setMarkerPos [(_pos_vcl select 0) + 4, (_pos_vcl select 1) + 4, (_pos_vcl select 2) + 4]; _Base_1 setMarkerText _Base_1; sleep 1; if (_no_enemy_sides == 1 && _Base_1_respawn == 0 || _no_enemy_sides == 2 && _Base_1_respawn == 0) then { r_ms_trig_1 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; r_ms_trig_1 setTriggerType "NONE"; r_ms_trig_1 setTriggerActivation [_enemy_side_1, "PRESENT", true]; r_ms_trig_1 setTriggerArea [50, 50, 0, false]; r_ms_trig_1 setTriggerStatements ["this && !no_base_1", "no_base_1 = true; publicVariable 'no_base_1'",""]; r_ms_trig_2 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; r_ms_trig_2 setTriggerType "NONE"; r_ms_trig_2 setTriggerActivation [_enemy_side_1, "NOT PRESENT", true]; r_ms_trig_2 setTriggerArea [50, 50, 0, false]; r_ms_trig_2 setTriggerStatements ["this && no_base_1", "no_base_1 = false; publicVariable 'no_base_1'",""]; }; if (_no_enemy_sides == 2 && _Base_1_respawn == 0) then { r_ms_trig_3 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; r_ms_trig_3 setTriggerType "NONE"; r_ms_trig_3 setTriggerActivation [_enemy_side_2, "PRESENT", true]; r_ms_trig_3 setTriggerArea [50, 50, 0, false]; r_ms_trig_3 setTriggerStatements ["this && !no_base_1b", "no_base_1b = true; publicVariable 'no_base_1b'", ""]; r_ms_trig_4 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; r_ms_trig_4 setTriggerType "NONE"; r_ms_trig_4 setTriggerActivation [_enemy_side_2, "NOT PRESENT", true]; r_ms_trig_4 setTriggerArea [50, 50, 0, false]; r_ms_trig_4 setTriggerStatements ["this && no_base_1b", "no_base_1b = false; publicVariable 'no_base_1b'", ""]; }; NORRN_camo_net = true; publicVariable "NORRN_camo_net"; _vcl removeAction NORRN_l_spawn_act; if (true) exitWith {}; /* LANDROVER REMOVE SPAWN ACTION SCRIPT Gives the driver the option to create a respawn base with ammo at position of vehicle norrin, March 2008 *********************************************************************************************************************************** landy_remove_spawn.sqf */ _unit = _this select 0; _unit removeAction NORRN_l_spawn_act; _unit removeAction NORRN_l_remove_spawn_act; if (true) exitWith {}; /* MOBILE SPAWN ACTION SCRIPT Gives the driver the option to create a respawn base with ammo at position of vehicle norrin, March 2008 *********************************************************************************************************************************** mobile_spawn.sqf */ _vcl = _this select 0; _unit = _this select 1; NORRN_camo_reset = false; _c = 0; if (NORRN_camo_net) then {_c = 1}; if (!local _vcl || _unit != driver _vcl || !isplayer (driver _vcl)) exitWith {}; while {alive _vcl} do { if (_unit != driver _vcl) exitWith { _vcl removeAction NORRN_l_spawn_act; _vcl removeAction NORRN_l_remove_spawn_act; }; _pos = getPos _vcl; if (speed _vcl == 0 && _c == 0 && !NORRN_camo_net && !isEngineOn _vcl) then { NORRN_l_spawn_act = _vcl addAction ["Deploy Mobile Respawn Point", "revive_sqf\mobile\deploy_camo.sqf", [_vcl], 10, true, true, ""]; _c = _c + 1; }; if (speed _vcl == 0 && _c == 1 && NORRN_camo_net) then { NORRN_l_remove_spawn_act = _vcl addAction ["Stow Mobile Respawn Point", "revive_sqf\mobile\stow_camo.sqf", [_vcl], 10, true, true, ""]; _c = 2; }; if (speed _vcl != 0 || isEngineOn _vcl) then { _vcl removeAction NORRN_l_spawn_act; _vcl removeAction NORRN_l_remove_spawn_act; _c = 0; }; if (NORRN_camo_reset) then { NORRN_camo_reset = false; publicVariable "NORRN_camo_reset"; _c = 0; }; sleep 1; }; if (true) exitWith {}; /* STOW CAMO SCRIPT norrin, March 2008 *********************************************************************************************************************************** stow_camo.sqf */ _vcl = _this select 0; _pos_vcl = getPos _vcl; _dir_vcl = getDir _vcl; _Base_1 = NORRN_revive_array select 13; _Base_1_respawn = NORRN_revive_array select 18; _mobile_base_start = NORRN_revive_array select 52; _no_enemy_sides = NORRN_revive_array select 23; _enemy_side_1 = NORRN_revive_array select 24; _enemy_side_2 = NORRN_revive_array select 25; _ammo_crates = nearestObjects [_vcl, ["ReammoBox"], 10]; {deleteVehicle _x} forEach _ammo_crates; _shed = nearestObject [_vcl, "shedBig"]; deleteVehicle _shed; //delete enemy spawn triggers deletevehicle r_ms_trig_1; deletevehicle r_ms_trig_2; deletevehicle r_ms_trig_3; deletevehicle r_ms_trig_4; //reset enemy spawn variables no_base_1 = false; no_base_1b = false; publicVariable "no_base_1"; publicVariable "no_base_1b"; _Base_1 setMarkerPos getMarkerPos _mobile_base_start; _Base_1 setMarkerText _mobile_base_start; _vcl setFuel 1; NORRN_camo_net = false; publicVariable "NORRN_camo_net"; NORRN_camo_reset = true; publicVariable "NORRN_camo_reset"; _vcl removeAction NORRN_l_remove_spawn_act; if (true) exitWith {}; /* VECHICLE RESPAWN FOR MOBILE SPAWN ACTION SCRIPT Respawns Vehicle for mobile_spawn scripts norrin, March 2008 *********************************************************************************************************************************** Name the mobile respawn vehicle: r_mobile_spawn_vcl And put this in the init line: this addEventHandler ["GETIN",{if ((_this select 1) == "driver") then {NORRN_landy_script = [_this select 0, _this select 2] execVM "revive_sqf\mobile\mobile_spawn.sqf"}}]; this addEventHandler ["GETOUT",{[_this select 0] execVM "revive_sqf\mobile\mobile_remove_spawn.sqf"}]; call{[this, 10] execVM "revive_sqf\mobile\vcl_respawn.sqf"} Where 10 in the last line is the time before the mobile_respawn_vcl respawns after being destroyed *********************************************************************************************************************************** vcl_respawn.sqf */ if (!isServer) exitWith {}; _vcl = _this select 0; _respawn_delay = _this select 1; _vcl_dir = getDir _vcl; _vcl_pos = getPos _vcl; _type_vcl = typeOf _vcl; waitUntil {!alive _vcl}; NORRN_camo_net = false; publicVariable "NORRN_camo_net"; _wait = time + _respawn_delay; _vcl removeAction NORRN_l_spawn_act; _vcl removeAction NORRN_l_remove_spawn_act; _ammo_crates = nearestObjects [_vcl, ["ReammoBox"], 10]; {deleteVehicle _x} forEach _ammo_crates; _shed = nearestObject [_vcl, "shedBig"]; deleteVehicle _shed; "Mobile" setMarkerPos (getMarkerPos "Base"); waitUntil {time > _wait}; _vcl_new = _type_vcl createVehicle _vcl_pos; _vcl_new setDir _vcl_dir; _vcl_new setPos _vcl_pos; _init = "this setVehicleVarName 'r_mobile_spawn_vcl';this addEventHandler ['GETIN',{if ((_this select 1) == 'driver') then {NORRN_landy_script = [_this select 0, _this select 2] execVM 'revive_sqf\mobile\mobile_spawn.sqf'}}]; this addEventHandler ['GETOUT',{[_this select 0] execVM 'revive_sqf\mobile\mobile_remove_spawn.sqf'}];"; _vcl_new setVehicleInit _init; processInitCommands; [_vcl_new, _respawn_delay] execVM "revive_sqf\mobile\vcl_respawn.sqf"; if (true) exitWith {}; /* ONCONNECT SCRIPT This script gets the current unit status when a player joins the mission JUNE 2008 - norrin (norrins_nook@iprimus.com.au) Version: PvP ************************************************************************************************************************************* onConnect.sqf */ _mission_end_function = NORRN_revive_array select 0; _heal_yourself = NORRN_revive_array select 10; _BLUFOR_side_1 = NORRN_revive_array select 48; _BLUFOR_side_2 = NORRN_revive_array select 49; _OPFOR_side_1 = NORRN_revive_array select 50; _OPFOR_side_2 = NORRN_revive_array select 51; if(local player) then { //Initialise revive script for all units if (playerside == _BLUFOR_side_1 || playerside == _BLUFOR_side_2) then {[NORRN_player_units] execVM "revive_sqf\Revive_player.sqf"}; if (playerside == _OPFOR_side_1 || playerside == _OPFOR_side_2) then {[NORRN_player_units_OPFOR] execVM "revive_sqf\Revive_player.sqf"}; //Initialise heal script for each player if (_heal_yourself == 1) then {[player] execVM "revive_sqf\heal_sqf\player_heal.sqf"}; sleep 2; }; if (true) exitWith {};/* RESPAWN AT BASE SCRIPT PvP SCRIPT FOT TWO TEAMS FEBRUARY 2008 - norrin (norrins_nook@iprimus.com.au) **************************************************************************** respawn_at_base.sqf */ //_spawn_pos = _this select 0; _name = player; _Base_1 = NORRN_revive_array select 16; _Base_2 = NORRN_revive_array select 17; _Base_3 = NORRN_revive_array select 18; _NORRN_west = []; _NORRN_east = []; {call compile format ["if (!isNull %1) then {_NORRN_west = _NORRN_west + [%1]}", _x]} forEach NORRN_player_units; {call compile format ["if (!isNull %1) then {_NORRN_east = _NORRN_east + [%1]}", _x]} forEach NORRN_player_units_OPFOR; if (_name in _NORRN_west) then {NORRN_spawn_pos = 1}; if (_name in _NORRN_east) then {NORRN_spawn_pos = 2}; //if (playerside == CIVILIAN) then {_spawn_pos = 3}; if (NORRN_spawn_pos == 1) then { _name setpos getMarkerPos _Base_1; titleText ["You have respawned at the BLUFOR base", "PLAIN", 0.5]; call compile format ["%1_respawn_at_base = true; publicVariable ""%1_respawn_at_base""", _name]; }; if (NORRN_spawn_pos == 2) then { _name setpos getMarkerPos _Base_2; if (local _name && isplayer _name) then {titleText ["You have respawned at the OPFOR base", "PLAIN", 0.5]}; call compile format ["%1_respawn_at_base = true; publicVariable ""%1_respawn_at_base""", _name]; }; if (NORRN_spawn_pos == 3) then { _name setpos getMarkerPos _Base_3; if (local _name && isplayer _name) then {titleText ["You have respawned at the CIV base", "PLAIN", 0.5]}; call compile format ["%1_respawn_at_base = true; publicVariable ""%1_respawn_at_base""", _name]; }; if(true) exitWith {};/* RESPAWN AT BASE SCRIPT (JIP) NOVEMBER 2007 - norrin (norrins_nook@iprimus.com.au) **************************************************************************** respawn_at_base_jip.sqf */ _spawn_pos = _this select 0; _name = _this select 1; _no_respawn_points = NORRN_revive_array select 12; _Base_1 = NORRN_revive_array select 13; _Base_2 = NORRN_revive_array select 14; _Base_3 = NORRN_revive_array select 15; _Base_4 = NORRN_revive_array select 16; if (_spawn_pos == 1 && _Base_1 != "" && !no_base_1 && !no_base_1b) then { _name setpos getMarkerPos _Base_1; if (local _name && isplayer _name) then {titleText ["You have respawned at position 1", "PLAIN", 0.5]}; }; if (_spawn_pos == 1 && _Base_1 != "" && no_base_1 || _spawn_pos == 1 && _Base_1 != "" && no_base_1b) then { titletext ["This spawn point is currently occupied by enemy forces", "PLAIN", 0.3]; if (_no_respawn_points == 1) then {_dialog_1 = createDialog "respawn_button_1b"}; if (_no_respawn_points == 2) then {_dialog_1 = createDialog "respawn_button_2b"}; if (_no_respawn_points == 3) then {_dialog_1 = createDialog "respawn_button_3b"}; if (_no_respawn_points == 4) then {_dialog_1 = createDialog "respawn_button_4b"}; }; if (_spawn_pos == 2 && _Base_2 != "" && !no_base_2 && !no_base_2b) then { _name setpos getMarkerPos _Base_2; if (local _name && isplayer _name) then {titleText ["You have respawned at position 2", "PLAIN", 0.5]}; }; if (_spawn_pos == 2 && _Base_2 != "" && no_base_2 || _spawn_pos == 2 && _Base_2 != "" && no_base_2b) then { titletext ["This spawn point is currently occupied by enemy forces", "PLAIN", 0.3]; if (_no_respawn_points == 2) then {_dialog_1 = createDialog "respawn_button_2b"}; if (_no_respawn_points == 3) then {_dialog_1 = createDialog "respawn_button_3b"}; if (_no_respawn_points == 4) then {_dialog_1 = createDialog "respawn_button_4b"}; }; if (_spawn_pos == 3 && _Base_3 != "" && !no_base_3 && !no_base_3b) then { _name setpos getMarkerPos _Base_3; if (local _name && isplayer _name) then {titleText ["You have respawned at position 3", "PLAIN", 0.5]}; }; if (_spawn_pos == 3 && _Base_3 != "" && no_base_3 || _spawn_pos == 3 && _Base_3 != "" && no_base_3b) then { titletext ["This spawn point is currently occupied by enemy forces", "PLAIN", 0.3]; }; if (_spawn_pos == 4 && _Base_4 != "" && !no_base_4 && !no_base_4b) then { _name setpos getMarkerPos _Base_4; if (local _name && isplayer _name) then {titleText ["You have respawned at position 4", "PLAIN", 0.5]}; }; if (_spawn_pos == 4 && _Base_4 != "" && no_base_4 || _spawn_pos == 4 && _Base_4 != "" && no_base_4b) then { titleText ["This spawn point is currently occupied by enemy forces", "PLAIN", 0.3]; }; if(true) exitWith {};/* RESPAWN AT BASE SCRIPT (WATER) DECEMBER 2007 norrin (norrins_nook@iprimus.com.au) **************************************************************************** respawn_at_base_water.sqf */ _name = _this select 0; titlecut ["","PLAIN",5]; _water = false; _zzzz = 0; sleep 3; while{surfaceIsWater (getPos player)} do { _downed_x = getPos _name select 0; _downed_y = getPos _name select 1; _center_x = getMarkerPos "center" select 0; _center_y = getMarkerPos "center" select 1; while {surfaceIsWater [_downed_x, _downed_y]} do { if (_zzzz == 0) then {titlecut ["Your body is washing ashore please wait","BLACK FADED",5]}; sleep 0.01; if (_downed_x > _center_x) then { _downed_x = _downed_x - 25; sleep 0.01; _name setPos [_downed_x, _downed_y]; sleep 0.01; }; if (_downed_y > _center_y) then { _downed_y = _downed_y - 25; sleep 0.01; _name setPos [_downed_x, _downed_y]; sleep 0.01; }; if (_downed_x < _center_x) then { _downed_x = _downed_x + 25; sleep 0.01; _name setPos [_downed_x, _downed_y]; sleep 0.01; }; if (_downed_y < _center_y) then { _downed_y = _downed_y + 25; sleep 0.01; _name setPos [_downed_x, _downed_y]; sleep 0.01; }; _zzzz = _zzzz + 1; sleep 0.1; }; }; _body = player; player setdamage 1; waitUntil {alive player}; deleteVehicle _body; if(true) exitWith {};/* REVIVE_INIT SCRIPT NOVEMBER 2007 - norrin (norrins_nook@iprimus.com.au) Version: 1.1 ****************************************************************************************************************************** Start revive_init.sqf */ _JIP_spawn_dialog = NORRN_revive_array select 4; _no_respawn_points = NORRN_revive_array select 15; _time_b4_JIP_spawn_dialog = NORRN_revive_array select 20; //run script that creates all triggers required for the revive script [] execVM "revive_sqf\trigger_mkr.sqf"; sleep 0.1; //Variables required for onConnect script and triggers onConnect = true; no_base_1 = false; no_base_2 = false; no_base_3 = false; no_base_4 = false; no_base_1b = false; no_base_2b = false; no_base_3b = false; no_base_4b = false; sleep 5; if (_JIP_spawn_dialog == 1 && time > _time_b4_JIP_spawn_dialog) then { titleText ["Choose spawn point or press escape to close dialog and start at current position","PLAIN", 0.5]; if (_no_respawn_points == 1) then {_d = 1; _dialog_1 = createDialog "respawn_button_1b"}; if (_no_respawn_points == 2) then {_d = 1; _dialog_1 = createDialog "respawn_button_2b"}; if (_no_respawn_points == 3) then {_d = 1; _dialog_1 = createDialog "respawn_button_3b"}; if (_no_respawn_points == 4) then {_d = 1; _dialog_1 = createDialog "respawn_button_4b"}; }; if (true) exitWith {};/* REVIVE SCRIPT - AI_DISABLED PvP REVIVE SCRIPT Creates playable units that fall unconscious when killed which can then be revived JUNE 2008 - norrin (norrins_nook@iprimus.com.au) Version: 1.35 Two Sides PvP ******************************************************************************************************* Special thanks to HulkingUnicorn for his scripting advice, testing and many suggestions Many thanks also to satexas69, MCPXXL, SNKMAN, sickboy, vengeance1 (JAAF), Legislator, Xeno, and Raedor for all their suggestions, advice and support and to all at the BIS forums. Based on concepts by PRiMe, toadlife and Mongoose_84. Also thanks to Chris'OFP editor. Some of the voice arrray stuff stolen with the permission of SNKMAN from ArmA Group Link II Plus! And of course thanks to Kegetys for his amazing spectating script and to ViperMaul for his script fix Last but not least to Foxhound and ArmAholic for their great support and providing mirrors for all my scripts ------------------------------------------------------------------------------------------------------- See release notes for details on incorporating revive scripts in your missions ******************************************************************************************************** Start Revive_player.sqf */ private ["_enemies", "_enemy_units"]; //Do not touch these variables _revive_array = []; _revive_array = NORRN_revive_array; _units = _this select 0; _respawn = false; _conscious = false; _dead = false; _name = player; _name_player = name player; _unit_type = typeOf player; _group = group player; _leader = leader _group; _player_side = playerSide; _flag_interupt = false; NORRN_boundary_true = false; // 'prone hack' by HulkingUnicorn _HULK_rProne = 1; _c = 0; _cc = 0; _d = 0; _reward_function = _revive_array select 1; _team_kill_function = _revive_array select 2; _unconscious_markers = _revive_array select 6; _call_out_function = _revive_array select 8; _revive_timer = _revive_array select 9; _kegetys_spectator = _revive_array select 11; _visible_timer = _revive_array select 12; _unconscious_black_screen = _revive_array select 14; _BLUFOR_side_1 = _revive_array select 48; _BLUFOR_side_2 = _revive_array select 49; _OPFOR_side_1 = _revive_array select 50; _OPFOR_side_2 = _revive_array select 51; //_no_respawn_points = _revive_array select 12; //_Base_1 = _revive_array select 13; //_Base_2 = _revive_array select 14; //_Base_3 = _revive_array select 15; //_Base_4 = _revive_array select 16; if (playerside == _BLUFOR_side_1 || playerside == _BLUFOR_side_2) then { can_revive = _revive_array select 22; can_revive_2 = _revive_array select 23; can_be_revived = _revive_array select 24; can_be_revived_2 = _revive_array select 25; NORRN_revive_enemy_units = NORRN_player_units_OPFOR; }; if (playerside == _OPFOR_side_1 || playerside == _OPFOR_side_2) then { can_revive = _revive_array select 26; can_revive_2 = _revive_array select 27; can_be_revived = _revive_array select 28; can_be_revived_2 = _revive_array select 29; NORRN_revive_enemy_units = NORRN_player_units; }; _can_revive = can_revive; _can_revive_2 = can_revive_2; _can_be_revived = can_be_revived; _can_be_revived_2 = can_be_revived_2; _max_respawns = _revive_array select 33; _revives_required = _revive_array select 36; _no_team_kills = _revive_array select 37; _revive_timer_type = _revive_array select 38; _respawn_position = _revive_array select 39; _revive_time_limit = _revive_array select 40; _water_dialog = _revive_array select 45; NORRN_revive_damage = _revive_array select 46; _unc_drag = _revive_array select 47; NORRN_body_no = 0; _unconscious_body = objNull; unconscious_body = objNull; _r_marker_side = ""; switch (playerSide) do { case west: {_r_marker_side = "respawn_west";}; case east: {_r_marker_side = "respawn_east";}; case resistance: {_r_marker_side = "respawn_guerrila";}; case civilian: {_r_marker_side = "respawn_civilian";}; }; NORRN_respawn_mrkr = markerPos _r_marker_side; _respawn_at_base = false; _revived_position = false; water_dialog = false; call compile format ["say_%1 = false", _name]; _bonus = 0; NORRN_units = []; NORRN_r_all_units = []; _all_units = []; _all_units = NORRN_player_units + NORRN_player_units_OPFOR; commentsBrian = ["Brian_Im_hit","Brian_Im_bleeding","Brian_Medic","Brian_Bastards","Brian_Shit_Man_down","Brian_Oh_no","Brian_Fuck","Brian_Fuck_it","Brian_Shit","Brian_Need_help","Brian_A_little_help_here"]; //Probably best not to play with the following code unless you know what you are doing sleep 0.5 + random 2; //Set and broadcast dynamic variables call compile format ["%1_revives = 0", _name]; call compile format ["revive_%1 = 0; publicVariable ""revive_%1""", _name]; call compile format ["%1_killer = 0; publicVariable ""%1_killer""", _name]; call compile format ["%1_a = false; publicVariable ""%1_a""", _name]; {call compile format ["if (isplayer %1) then {NORRN_units = NORRN_units + [%1]}", _x]} forEach _units; {call compile format ["if (isplayer %1) then {NORRN_r_all_units = NORRN_r_all_units + [%1]}", _x]} forEach _all_units; call compile format ["NORRN_respawn_mrkr = getMarkerPos 'Respawn_%1'", _player_side]; //Score _revive_score = 3; _respawn_score = 3; call compile format ["%1_score = 0; publicVariable '%1_score'", _name]; call compile format ["%1_score_old = 0; publicVariable '%1_score_old'", _name]; call compile format ["%1_score_en = 0; publicVariable '%1_score_en'", _name]; call compile format ["%1_score_en_old = 0; publicVariable '%1_score_en_old'", _name]; _EHkilledIdx = player addEventHandler ["killed", {_this execVM "flag_cap\team_killer.sqf"}]; sleep 0.5; //Get and set existing unconscious markers {call compile format ["if (isplayer %1 && %1_a && _unconscious_markers == 1 && !isnull norrn_dead_%1) then { _mrker_pos = getPos norrn_dead_%1; _mrkr_ex = ""%1 is down""; createMarkerLocal [_mrkr_ex, _mrker_pos]; if (side %1 == _OPFOR_side_1 || side %1 == _OPFOR_side_2) then {_mrkr_ex setMarkerColorLocal ""ColorRed""}; if (side %1 == _BLUFOR_side_1 || side %1 == _BLUFOR_side_2) then {_mrkr_ex setMarkerColorLocal ""ColorBlue""}; _mrkr_ex setMarkerTypeLocal ""Flag1""; _mrkr_ex setMarkerTextLocal ""%2 is down""; _mrkr_ex setMarkerSizeLocal [0.4, 0.4];}",_x, name _x];}forEach NORRN_r_all_units; //Prompt joining player the no revives remaining if (_max_respawns != 1000) then { _revives = call compile format ["%1_revives", _name]; _revives_remain = _max_respawns - _revives; _no_revives = format ["Lives remaining: %1 out of %2", _revives_remain, _max_respawns]; hint _no_revives; }; //initialise team kill function if (_team_kill_function == 1 && _max_respawns != 1000) then { _name addeventhandler ["killed", {_this execVM "revive_sqf\team_killer.sqf"}]; }; //Body of the script while {true} do { if(!alive player) then {titlecut [" ","BLACK OUT",10];_respawn = true; _conscious = false}; //While player alive if (alive player && !_respawn && !_conscious && !_dead) then { _name = player; if (_unconscious_markers == 1) then { _enemies = []; {call compile format ["if (!isnull %1) then {_enemies = _enemies + [%1]}", _x]} forEach NORRN_revive_enemy_units; {call compile format ["if (!isnull norrn_dead_%1) then {deleteMarkerLocal '%1 is down'}", _x]}forEach _enemies; }; //add revive action for when player gets in range of unconscious unit if (count (nearestObjects [player, [_can_be_revived, _can_be_revived_2], 3]) > 1) then { if (_name isKindOf _can_revive && _c == 0 && animationState (nearestObjects [player, [_can_be_revived, _can_be_revived_2], 3] select 1) == Norrn_unc_anim || _name isKindOf _can_revive_2 && _c == 0 && animationState (nearestObjects [player, [_can_be_revived, _can_be_revived_2], 3] select 1) == Norrn_unc_anim || typeOf _name != _can_revive && _c == 0 && _cc == 0 && animationState (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 3] select 1) == Norrn_unc_anim && _name distance (nearestObject [_name, "Mash"]) < 10) then { call compile format ["%1_myaction = %1 addAction ['Revive', 'revive_sqf\heal.sqf','', 0, false, true];", player]; _c = _c + 1; }; if (_c == 1 && animationState (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 3] select 1) != Norrn_unc_anim) then { call compile format ["%1 removeAction %1_myaction", _name]; _c = 0; sleep 0.5; }; }; if (count (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 3]) == 1 && _c == 1) then { call compile format ["%1 removeAction %1_myaction", _name]; _c = 0; }; call compile format ["if (%1_killer == _no_team_kills && _team_kill_function == 1 && _max_respawns != 1000) then { _no_respawns = %1_revives + 1; _respawns_left = _max_respawns - _no_respawns; _no_left = ""You have lost a life for excessive team killing.""; if (local _name) then {hint _no_left}; %1_revives = _no_respawns; %1_killer = 0; publicVariable ""%1_killer""; };", _name]; //add drag action for when player gets in range of unconscious unit if (_unc_drag == 1) then { if (NORRN_remove_drag) then { _c = 0; _cc = 0; NORRN_remove_drag = false; }; if (count (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 2]) > 1) then { if (_cc == 0 && animationState (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 2] select 1) == Norrn_unc_anim || _cc == 0 && animationState (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 2] select 1) == Norrn_unc_anim) then { call compile format ["%1_myaction_drag = %1 addAction ['Drag body', 'revive_sqf\drag.sqf','', 0, false, true];", player]; _cc = _cc + 1; }; if (_cc == 1 && animationState (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 2] select 1) != Norrn_unc_anim) then { call compile format ["%1 removeAction %1_myaction_drag", _name]; _cc = 0; sleep 0.5; }; }; if (count (nearestObjects [_name, [_can_be_revived, _can_be_revived_2], 2]) == 1 && _cc == 1) then { call compile format ["%1 removeAction %1_myaction_drag", _name]; _cc = 0; }; }; //if respawn limit has been reached, define unit as dead call compile format ["if (_max_respawns < %1_revives) then {_dead = true};", _name]; //revive/reward function call compile format ["if (revive_%1 >= _revives_required && _reward_function == 1 && _max_respawns != 1000) then { _no_respawns = %1_revives - 1; _respawns_left = _max_respawns - _no_respawns; _no_left = ""You have received a bonus life for teamplay.""; hint _no_left; %1_revives = _no_respawns; revive_%1 = 0; _bonus = 0; publicVariable ""revive_%1""; };", _name]; //prompt the number of revives required for next bonus if (_reward_function == 1 && _max_respawns != 1000 && _bonus != call compile format ["revive_%1", _name]) then { _bonus = call compile format ["revive_%1", _name]; _revives_till_bonus = _revives_required - _bonus; _hint = format ["Revives required for next bonus: %1", _revives_till_bonus]; hint _hint; }; sleep 0.5; }; //if player is dead if (_respawn && !_conscious && !_dead && !alive player) then { _body = _name; _water = false; _pos = getPos _body; _dir = getDir _body; _offset = _body distance _pos; disableUserInput true; //NORRN_r_time_expire = false; _weapons = weapons _body; _magazines = magazines _body; NORRN_unc_array = []; if (!_revived_position) then { call compile format ["NORRN_pos_x_%1 = _pos select 0; NORRN_pos_y_%1 = _pos select 1; NORRN_unc_array_%1 = [_dir,_offset,_magazines,_weapons, _revive_damage]; publicVariable 'NORRN_pos_x_%1'; publicVariable 'NORRN_pos_y_%1'; publicVariable 'NORRN_unc_array_%1';", _body]; }; //if respawn limit has been reached, define unit as dead call compile format ["if (_max_respawns <= %1_revives) then {_dead = true};", _body]; if (!surfaceIsWater getPos _body) then {_body switchMove "AmovPpneMstpSnonWnonDnon_healed"}; //Set current unit status unconscious, thanks to HulkingUnicorn for this code call compile format ["%1_a = true; publicVariable '%1_a'", player]; //anti-water code if (surfaceIsWater getPos _body && !_dead) then { waitUntil{alive player}; _name = player; _name setPos _pos; _name setCaptive true; if (_water_dialog == 1 && _name == player) then { titleText ["Choose wash ashore or press escape to close dialog and start at current position","PLAIN", 0.4]; _dialog_1 = createDialog "respawn_button_1c"; }; if (_name == player) then {titlecut [" ","BLACK IN", 0.4]}; }; while {surfaceIsWater getPos _name && !_dead} do { disableUserInput false; if(!alive _name) then { _body = _name; _pos = getPos _body; waitUntil{alive player}; _name = player; _name setPos _pos; _name setCaptive true; }; if (primaryWeapon _name != "") then {_name action ["WEAPONONBACK", _name]}; _name setdammage 0; if (_body != call compile format["%1",player]) then {deleteVehicle _body}; if (vehicle _name != _name && _name == driver (vehicle _name)) then {_name action ["GETOUT", vehicle _name]}; if (vehicle _name != _name && _name == gunner vehicle _name) then {_name action ["GETOUT", vehicle _name]}; _water = true; sleep 1; }; sleep 0.1; if (!surfaceIsWater getPos _name && !_dead && _water) then { if (vehicle _name != _name) then {_name action ["GETOUT", vehicle _name]}; _name setCaptive false; if (_name == player) then {titlecut [" ","BLACK OUT",10]}; _pos = getPos _name; _dir = getDir _name; _Offset = 0; _name switchMove "AmovPpneMstpSnonWnonDnon_healed"; sleep 1; call compile format ["NORRN_pos_x_%1 = _pos select 0; NORRN_pos_y_%1 = _pos select 1, publicVariable 'NORRN_pos_x_%1';publicVariable 'NORRN_pos_y_%1'", player]; _name setPos NORRN_respawn_mrkr; sleep 0.1; _water = false; if (_name == player) then {disableUserInput true}; }; //Vehicle eject fix if (vehicle _body != _body) then {_vcl_pos = getpos vehicle _body; _body setPos [((_vcl_pos select 0)- 5), (_vcl_pos select 1), 0]}; //If player is down start camera if (!_dead) then { _bee = "butterfly" createVehicle [_pos select 0, _pos select 1, (_pos select 2) + 1]; [ _bee, _pos, _units, _can_be_revived, _can_be_revived_2] exec "revive_sqf\camera_follow.sqs"; sleep 0.1; }; enableRadio false; //create marker at scene of unconscious player if (_unconscious_markers == 1 && !_dead && !_respawn_at_base) then { _mrkr = format ["%1 is down", player]; createMarker [_mrkr, _pos]; if (playerside == _OPFOR_side_1 || playerside == _OPFOR_side_2) then { _mrkr setMarkerColor "ColorRed" }; if (playerside == _BLUFOR_side_1 || playerside == _BLUFOR_side_2) then { _mrkr setMarkerColor "ColorBlue" }; _mrkr setMarkerType "Flag1"; _mrkr setMarkerText format["%1 is down", _name_player]; _mrkr setMarkerSize [0.4, 0.4]; }; //move body _respawn = true; _water = false; waitUntil{alive player}; _name = player; _zzzz = 0; sleep 0.1; //give player weapon and mag loadout they had prior to dying removeAllWeapons _name; {_name addMagazine _x;} forEach _magazines; {_name addWeapon _x;} forEach _weapons; _name selectWeapon (primaryWeapon _name); if (!alive _body) then {deleteVehicle _body}; sleep 0.01; if (!_revived_position && call compile format ["!isNil 'NORRN_unc_array_%1'", _name] && Norrn_unc_anim == "ActsPpneMstpSnonWnonDnon_Injured2") then { call compile format ["norrn_dead_%1 = objNull", _name]; call compile format ["_unit_type createUnit [[_pos select 0,_pos select 1, _Offset], group server, 'this setcaptive true; this switchMove ''ActsPpneMstpSnonWnonDnon_Injured2''; this disableAI ''ANIM''; this setdamage (NORRN_unc_array_%1 select 4); this setVehicleVarName ''norrn_dead_%1''; norrn_dead_%1 = this; this setDir (NORRN_unc_array_%1 select 0); this setPos [NORRN_pos_x_%1,NORRN_pos_y_%1, (NORRN_unc_array_%1 select 1)]; removeAllWeapons this; {this addMagazine _x;} forEach (NORRN_unc_array_%1 select 2); {this addWeapon _x;} forEach (NORRN_unc_array_%1 select 3); this addeventhandler [''hit'', {if (!isNull (_this select 0)) then {(_this select 0) setdamage 0;};}]; this addeventhandler [''dammaged'', {if (!isNull (_this select 0)) then {(_this select 0) setdamage 0;};}]']", _name]; }; if (!_revived_position && call compile format ["!isNil 'NORRN_unc_array_%1'", _name] && Norrn_unc_anim == "AmovPpneMstpSnonWnonDnon_healed") then { call compile format ["norrn_dead_%1 = objNull", _name]; call compile format ["_unit_type createUnit [[_pos select 0,_pos select 1, _Offset], group server, 'this setcaptive true; this switchMove ''AmovPpneMstpSnonWnonDnon_healed''; this disableAI ''ANIM''; this setdamage (NORRN_unc_array_%1 select 4); this setVehicleVarName ''norrn_dead_%1''; norrn_dead_%1 = this; this setDir (NORRN_unc_array_%1 select 0); this setPos [NORRN_pos_x_%1,NORRN_pos_y_%1, (NORRN_unc_array_%1 select 1)]; removeAllWeapons this; {this addMagazine _x;} forEach (NORRN_unc_array_%1 select 2); {this addWeapon _x;} forEach (NORRN_unc_array_%1 select 3); this addeventhandler [''hit'', {if (!isNull (_this select 0)) then {(_this select 0) setdamage 0;};}]; this addeventhandler [''dammaged'', {if (!isNull (_this select 0)) then {(_this select 0) setdamage 0;};}]']", _name]; }; sleep 3; call compile format ["_unconscious_body = norrn_dead_%1", _name]; unconscious_body = _unconscious_body; _revived_position = true; disableUserInput false; _conscious = true; sleep 0.05; }; while {_revive_timer == 0 && alive player && _respawn && _conscious && !_respawn_at_base && !_dead} do { call compile format ["if (%1_respawn_at_base) then {_respawn_at_base = true}", _name]; //Fix for boundary script if (NORRN_boundary_true) then { _respawn_at_base = true; NORRN_boundary_true = false; if (_revive_timer_type == 0) then { titleText ["Revive timer has been exceeded. You are dead", "BLACK", 10]; _dead = true; }; if (_revive_timer_type == 1) then { if (playerside == _BLUFOR_side_1 || playerside == _BLUFOR_side_2) then {call{[1] execVM "revive_sqf\respawn_at_base.sqf"}; _respawn_at_base = true}; if (playerside == _OPFOR_side_1 || playerside == _OPFOR_side_2) then {call{[2] execVM "revive_sqf\respawn_at_base.sqf"}; _respawn_at_base = true}; }; sleep 0.1; }; if (isNull _unconscious_body) exitWith { call compile format ["%1_a = false; publicVariable '%1_a'", _name]; _revived_position = false; _respawn = false; _conscious = false; _c = 0; _d = 0; sleep 0.1; }; //call-out while unconscious if (_call_out_function == 1 && _d == 0) then { if (!isNull _unconscious_body) then { _unconscious_body setVehicleInit "this say (commentsBrian select floor(random 11))"; processInitCommands; }; _NORRN_random = 75 + ceil(random 25); }; _d = _d + 1; if (_d == _NORRN_random) then {_d = 0}; sleep 0.1; //reviver is within the revive radius and is reviving - unit revived if (_revive_timer == 0 && alive _name && _respawn && _conscious && !_respawn_at_base && alive _name && count (nearestObjects [_unconscious_body, [_can_be_revived, _can_be_revived_2], 4]) > 1) then { _near_Objects = nearestObjects [_unconscious_body, [_can_be_revived, _can_be_revived_2], 4]; _e = 0; {if(animationState _x == "AinvPknlMstpSlayWrflDnon_medic")then {_e = _e + 1}}forEach _near_Objects; if (_e >= 1) then { _reviver = nearestObjects [_unconscious_body, [_can_be_revived, _can_be_revived_2], 3] select 1; if(animationState _reviver != "AinvPknlMstpSlayWrflDnon_medic") then {_reviver = nearestObjects [_unconscious_body, [_can_be_revived, _can_be_revived_2], 3] select 2}; if(animationState _reviver != "AinvPknlMstpSlayWrflDnon_medic") then {_reviver = nearestObjects [_unconscious_body, [_can_be_revived, _can_be_revived_2], 3] select 3}; //Create var for reviver's name if (local _name) then { _revive_message = format ["%1 has been revived by %2", name _name, name _reviver]; call compile format ["reviver_%1 = '%2';publicVariable 'reviver_%1';", _name, _revive_message]; }; //Set current unit status unconscious, thanks to HulkingUnicorn for this code call compile format ["%1_a = false; publicVariable '%1_a'", _name]; //get body's current position _pos = getPos _unconscious_body; _dir = getDir _unconscious_body; _offset = _unconscious_body distance _pos; //Return player to position where they were shot if (_name distance getPos _unconscious_body > 1000) then { _name setCaptive true; _center_x = _pos select 0; _center_y = _pos select 1; _radius = 500; _angle = 0; _found_it = false; _set_pos = [(_pos select 0) - 500, _pos select 1]; while {_angle <= 350 && !_found_it} do { _x1 = _center_x - (_radius * sin _angle); _y1 = _center_y - (_radius * cos _angle); if (!(surfaceiswater [_x1, _y1])) then { _set_pos = [_x1, _y1]; _found_it = true; } else { _angle = _angle + 10; sleep 0.01; }; }; if (_angle == 360) then {_set_pos = GetPos _name}; _name setPos [_set_pos select 0, _set_pos select 1, 0]; }; _name playMove "AmovPpneMstpSnonWnonDnon_healed"; sleep 4; _name setdamage NORRN_revive_damage; _name setDir _dir; _name setPos [_pos select 0,_pos select 1, _Offset]; _name setCaptive false; // 'prone hack' by HulkingUnicorn if (_HULK_rProne == 1) then {[_name] execVM "revive_sqf\rPrn.sqf"}; //User's code if (NORRNCustomExec1 != "") then {call compile NORRNCustomExec1}; if (!isNull _unconscious_body) then { _unconscious_body removeAllEventHandlers "dammaged"; _unconscious_body removeAllEventHandlers "hit"; sleep 0.1; deleteVehicle _unconscious_body; _unconscious_body = objNull; call compile format ["norrn_dead_%1 = objNull", _name]; if (_name == player) then {unconscious_body = objNull}; }; //Re-enable AI _name stop false; if (_unconscious_markers == 1) then {deleteMarker format["%1 is down", _name]}; enableRadio true; //increment respawn counter if (local _name && _max_respawns != 1000) then { _no_respawns = call compile format ["%1_revives", _name] + 1; _respawns_left = _max_respawns - _no_respawns; _no_left = format ["Lives remaining: %1", _respawns_left]; if (_name == player) then {hint _no_left}; call compile format ["%1_revives = _no_respawns; publicVariable'%1_revives'", _name]; }; //prompt reviver's name if (local _name) then { call compile format ["player setVehicleInit 'server globalChat reviver_%1'", _name]; processInitCommands; }; if (_name == player) then { call compile format ["titlecut ['\nYou have been revived by %1','PLAIN DOWN',0.4]", name _reviver]; }; //Fix for leader if (_leader != formleader _name) then { {_x doFollow _leader; _x doMove getPos _x} forEach units _group; }; _name doMove getPos _name; //reset variables _revived_position = false; if (alive player) then { _respawn = false; _conscious = false; }else{ _respawn = true; _conscious = false; titlecut [" ","BLACK",10]; }; //score call compile format ["%1_score = %1_score + _revive_score; publicVariable '%1_score'", player]; _c = 0; _d = 0; sleep 0.1; }; }; }; if (_revive_timer == 1 && alive player && _respawn && _conscious && !_respawn_at_base && !_dead) then { _name = player; _revive_time = time + _revive_time_limit; //Added to respawn at base if close to flag {if (unconscious_body distance _x <= NORRN_flag_radius) then {_revive_time = 0; _flag_interupt = true}} forEach NORRN_flag_names; sleep 0.01; //revive timer increment _timer = time + 1; _timer_count = _revive_time_limit; while {_revive_timer == 1 && alive player && _respawn && _conscious && !_respawn_at_base && time < _revive_time} do { call compile format ["if (%1_respawn_at_base) then {_respawn_at_base = true}", player]; //Fix for boundary script if (NORRN_boundary_true) then {_revive_time = 0; _flag_interupt = true; NORRN_boundary_true = false}; if (isNull _unconscious_body) exitWith { call compile format ["%1_a = false; publicVariable '%1_a'", _name]; _revived_position = false; _respawn = false; _conscious = false; _c = 0; _d = 0; sleep 0.1; }; //call-out while unconscious if (_call_out_function == 1 && _d == 0) then { if (!isNull _unconscious_body) then { _unconscious_body setVehicleInit "this say (commentsBrian select floor(random 11))"; processInitCommands; }; _NORRN_random = 75 + ceil(random 25); }; _d = _d + 1; if (_d == _NORRN_random) then {_d = 0}; //Revive count-down if(_visible_timer == 1 && _name == player) then { if (time > _timer) then { _timer = time + 1; _timer_count = _timer_count - 1; call compile format ["titleCut ['\n\nRevive Time Remaining: %1', 'PLAIN Down', 1]", _timer_count]; }; }; sleep 0.01; //reviver is within the revive radius and is reviving - unit revived if (_revive_timer == 1 && alive _name && _respawn && _conscious && !_respawn_at_base && count (nearestObjects [_unconscious_body, [_can_revive, _can_revive_2], 4]) > 1) then { call compile format ["if (%1_respawn_at_base) then {_respawn_at_base = true}", player]; _near_Objects = nearestObjects [_unconscious_body, [_can_revive, _can_revive_2], 4]; _e = 0; {if(animationState _x == "AinvPknlMstpSlayWrflDnon_medic")then {_e = _e + 1}}forEach _near_Objects; if (_e >= 1) then { _reviver = nearestObjects [_unconscious_body, [_can_revive, _can_revive_2], 3] select 1; if(animationState _reviver != "AinvPknlMstpSlayWrflDnon_medic") then {_reviver = nearestObjects [_unconscious_body, [_can_revive, _can_revive_2], 3] select 2}; if(animationState _reviver != "AinvPknlMstpSlayWrflDnon_medic") then {_reviver = nearestObjects [_unconscious_body, [_can_revive, _can_revive_2], 3] select 3}; //Create var for reviver's name if (local _name) then { _revive_message = format ["%1 has been revived by %2", name _name, name _reviver]; call compile format ["reviver_%1 = '%2';publicVariable 'reviver_%1';", _name, _revive_message]; }; //Set current unit status unconscious, thanks to HulkingUnicorn for this code call compile format ["%1_a = false; publicVariable '%1_a'", _name]; //get body's current position _pos = getPos _unconscious_body; _dir = getDir _unconscious_body; _offset = _unconscious_body distance _pos; //Return player to position where they were shot if (_name distance getPos _unconscious_body > 1000) then { _name setCaptive true; _center_x = _pos select 0; _center_y = _pos select 1; _radius = 500; _angle = 0; _found_it = false; _set_pos = [(_pos select 0) - 500, _pos select 1]; while {_angle <= 350 && !_found_it} do { _x1 = _center_x - (_radius * sin _angle); _y1 = _center_y - (_radius * cos _angle); if (!(surfaceiswater [_x1, _y1])) then { _set_pos = [_x1, _y1]; _found_it = true; } else { _angle = _angle + 10; sleep 0.01; }; }; if (_angle == 360) then {_set_pos = GetPos _name}; _name setPos [_set_pos select 0, _set_pos select 1, 0]; }; _name playMove "AmovPpneMstpSnonWnonDnon_healed"; sleep 4; _name setdamage NORRN_revive_damage; _name setDir _dir; _name setPos [_pos select 0,_pos select 1, _Offset]; _name setCaptive false; // 'prone hack' by HulkingUnicorn if (_HULK_rProne == 1) then {[_name] execVM "revive_sqf\rPrn.sqf"}; //User's code if (NORRNCustomExec1 != "") then {call compile NORRNCustomExec1}; if (!isNull _unconscious_body) then { _unconscious_body removeAllEventHandlers "dammaged"; _unconscious_body removeAllEventHandlers "hit"; sleep 0.1; deleteVehicle _unconscious_body; _unconscious_body = objNull; call compile format ["norrn_dead_%1 = objNull", _name]; if (_name == player) then {unconscious_body = objNull}; }; //Set current unit status unconscious, thanks to HulkingUnicorn for this code call compile format ["%1_a = false; publicVariable '%1_a'", player]; //Re-enable AI _name stop false; if (_unconscious_markers == 1) then {deleteMarker format["%1 is down", _name]}; enableRadio true; //increment respawn counter if (local _name && _max_respawns != 1000) then { _no_respawns = call compile format ["%1_revives", _name] + 1; _respawns_left = _max_respawns - _no_respawns; _no_left = format ["Lives remaining: %1", _respawns_left]; if (_name == player) then {hint _no_left}; call compile format ["%1_revives = _no_respawns;publicVariable'%1_revives'", _name]; }; //prompt reviver's name if (local _name) then { call compile format ["player setVehicleInit 'server globalChat reviver_%1'", _name]; processInitCommands; }; if (_name == player) then { call compile format ["titlecut ['\nYou have been revived by %1','PLAIN DOWN',0.4]", name _reviver]; }; //Fix for leader if (_leader != formleader _name) then { //{_x doFollow _leader; _x doMove getPos _x} forEach units _group; {_x doFollow _leader} forEach units _group; }; _name doMove getPos _name; //reset variables _revived_position = false; if (alive player) then { _respawn = false; _conscious = false; }else{ _respawn = true; _conscious = false; titlecut [" ","BLACK",10]; }; //score call compile format ["%1_score = %1_score + _revive_score; publicVariable '%1_score'", player]; _c = 0; _d = 0; sleep 0.1; }; }; }; if (_revive_timer == 1 && _respawn && _conscious && !_dead && !_respawn_at_base && time >= _revive_time) then { if (_revive_timer_type == 0) then { titleText ["Revive timer has been exceeded. You are dead", "BLACK", 10]; _dead = true; }; if (_revive_timer_type == 1) then { if (playerside == _BLUFOR_side_1 || playerside == _BLUFOR_side_2) then {call{[1] execVM "revive_sqf\respawn_at_base.sqf"}; _respawn_at_base = true}; if (playerside == _OPFOR_side_1 || playerside == _OPFOR_side_2) then {call{[2] execVM "revive_sqf\respawn_at_base.sqf"}; _respawn_at_base = true}; }; sleep 0.1; }; }; if (alive _name && _respawn && _conscious && _respawn_at_base && !_dead) then { if (animationState _unconscious_body != "DeadState") then { _unconscious_body setVehicleInit "this switchMove 'DeadState';"; processInitCommands; }; sleep 0.2; _name setCaptive false; _name playmove "AmovPercMstpSrasWrflDnon"; //score if(!_flag_interupt) then {call compile format ["%1_score = %1_score - _respawn_score; publicVariable '%1_score'", player];}; //Set current unit status unconscious, thanks to HulkingUnicorn for this code call compile format ["%1_a = false; publicVariable '%1_a'", _name]; if (_unconscious_markers == 1) then {deleteMarker format["%1 is down", _name]}; enableRadio true; _name setCaptive false; _name selectweapon primaryweapon _name; //Add respawn at base weapons if this option is being used if (_respawn_at_base_addWeapons == 1) then { removeAllWeapons _name; {_name addMagazine _x} forEach _respawn_at_base_magazines; {_name addWeapon _x} forEach _respawn_at_base_weapons; _name selectweapon primaryweapon _name; }; //Re-enable AI _name stop false; //Kill unconscious body if (!isNull _unconscious_body) then { _unconscious_body removeAllEventHandlers "dammaged"; _unconscious_body removeAllEventHandlers "hit"; sleep 0.1; _unconscious_body setDamage 1; _unconscious_body = objNull; call compile format ["norrn_dead_%1 = objNull", _name]; if (_name == player) then {unconscious_body = objNull}; }; sleep 2; //increment respawn counter if (local _name && _max_respawns != 1000) then { _no_respawns = call compile format ["%1_revives", _name] + 1; _respawns_left = _max_respawns - _no_respawns; _no_left = format ["Lives remaining: %1", _respawns_left]; if (_name == player) then {hint _no_left}; call compile format ["%1_revives = _no_respawns; publicVariable'%1_revives'", _name]; }; //Fix for respawning at base leader if (_leader != formleader _name) then { {_x doFollow _leader; _x doMove getPos _x} forEach units _group; }; _name doMove getPos _name; //reset variables _revived_position = false; call compile format ["%1_respawn_at_base = false; publicVariable ""%1_respawn_at_base""", _name]; _respawn = false; _conscious = false; _c = 0; _d = 0; _flag_interupt = false; _respawn_at_base = false; if (player == _name) then {NORRN_r_time_expire = false}; sleep 2; }; sleep 0.1; if (_dead) then { if (local _name) then { [_name] join grpNull; call compile format ["%1_a = false; publicVariable ""%1_a""", _name]; call compile format ["revive_%1 = 0; publicvariable 'revive_%1' ", _name]; _weapons = weapons _name; _magazines = magazines _name; _dir = getDir _name; _pos = getPos _name; _offset = _namet distance _pos; _dead_body = _unit_type createVehicle getMArkerPos "Boot_hill"; sleep random 0.1; removeAllWeapons _dead_body; {_dead_body addMagazine _x;} forEach _magazines; {_dead_body addWeapon _x;} forEach _weapons; _dead_body SetVehicleInit "this switchMove 'AmovPpneMstpSnonWnonDnon_healed';this disableAI 'ANIM';"; processInitCommands; sleep 1; _name setPos getMarkerPos "Boot_hill"; _dead_body setDir _dir; _dead_body setPos [_pos select 0, _pos Select 1, _offset]; sleep 0.1; _dead_body setdammage 1; if (_name == player && _dead) then { titleText ["You are dead", "BLACK FADED", 2]; sleep 1; [player, player, "null"] execVM "spect\specta.sqf"; }; }; sleep 5; _dead = false; _respawn = false; _conscious = false; }; };/* rPRN - Prevents players from standing once they have been revived written by HulkingUnicorn modified by norrin and alef ************************************************************************************** start rPrn.sqf */ _unit = _this select 0; HULK_UprightAnims = ["amovpercmstpsraswrfldnon","amovpercmstpsnonwnondnon","amovpercmstpsraswpstdnon","amovpknlmstpsraswrfldnon","amovpknlmstpsraswpstdnon", "AmovPknlMstpSrasWlnrDnon","amovpercmevaslowwrfldf","amovpercmevasnonwnondf","amovpercmevaslowwpstdf","amovpknlmstpsraswlnrdnon"]; HULK_TrbleAn =["amovpercmevaslowwrfldf","amovpercmevasnonwnondf","amovpercmevaslowwpstdf","amovpknlmstpsraswlnrdnon"]; //hint "hack running"; _h = player addEventHandler ["AnimChanged", {[_this select 0,_this select 1] spawn {_mr = _this select 0; _an = _this select 1; if (!local _mr) exitWith {hint "Wounded dude not local";}; //never seen this if (_an == "AmovPknlMstpSrasWlnrDnon") then {sleep 5}; if (_an in HULK_UprightAnims) then { if (_an in HULK_TrbleAn) then { disableUserInput true; waitUntil {speed player == 0}; player playMove "amovppnemstpsraswrfldnon"; titleText ["You are seriously wounded and can't stand!", "black out"]; sleep 8; titleText ["Go see a medic!", "black in"]; disableUserInput false; } else { player playMove "amovppnemstpsraswrfldnon"; titleText ["You are seriously wounded and can't stand!", "black out"]; sleep 5; titleText ["Go see a medic!", "black in"]; }; } else { //hint format ["So: %1",_an]; }; }; }]; waitUntil {!alive player || damage player < 0.7}; player removeEventHandler ["AnimChanged",_h]; if (true) exitWith {}; //AmovPpneMstpSnonWnonDnon_AmovPknlMstpSrasWlnrDnon/* TEAM KILL PUNISHMENT SCRIPT This script automatically decreases the revive count of players that team kill JUNE 2007 - norrin (norrins_nook@iprimus.com.au) ************************************************************************************************************************************* team_killer.sqf */ _killer = _this select 1; if (isplayer _killer && _killer != player) then { call compile format ["%1_killer = %1_killer + 1; publicVariable ""%1_killer""", _killer]; }; if (true) exitWith {}; /* TRIGGER MAKING SCRIPT This script automatically creates the triggers required for the revive_player.sqf script OCTOBER 2007 - norrin (norrins_nook@iprimus.com.au) ************************************************************************************************************************************* trigger_mkr.sqf */ _mission_end_function = NORRN_revive_array select 0; _Base_1 = NORRN_revive_array select 16; _Base_2 = NORRN_revive_array select 17; _Base_3 = NORRN_revive_array select 18; _Base_4 = NORRN_revive_array select 19; _Base_1_respawn = NORRN_revive_array select 21; _no_enemy_sides = NORRN_revive_array select 30; _enemy_side_1 = NORRN_revive_array select 31; _enemy_side_2 = NORRN_revive_array select 32; if (_mission_end_function == 1) then { _trig_0 = createTrigger["EmptyDetector",getArray(configFile>>"CfgWorlds">>worldName>>"centerPosition")]; _trig_0 setTriggerType "END6"; _trig_0 setTriggerActivation ["LOGIC", "", false]; _trig_0 setTriggerArea [1, 1, 0, false]; _trig_0 setTriggerStatements ["mission_Over", "titleText [""Mission Failed - all players are unconscious"", ""PLAIN"", 1]", ""]; _trig_0 setTriggerTimeout [15, 15, 15, false]; }; _trig_1 = createTrigger["EmptyDetector",getArray(configFile>>"CfgWorlds">>worldName>>"centerPosition")]; _trig_1 setTriggerType "NONE"; _trig_1 setTriggerActivation ["LOGIC", "", true]; _trig_1 setTriggerArea [1, 1, 0, false]; _trig_1 setTriggerStatements ["onConnect", "call{[] execVM ""revive_sqf\onConnect.sqf""}",""]; if (_no_enemy_sides == 1 || _no_enemy_sides == 2) then { if (_Base_1_respawn == 0) then { _trig_4 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; _trig_4 setTriggerType "NONE"; _trig_4 setTriggerActivation [_enemy_side_1, "PRESENT", true]; _trig_4 setTriggerArea [50, 50, 0, false]; _trig_4 setTriggerStatements ["this && !no_base_1", "no_base_1 = true;publicvariable ""no_base_1""",""]; _trig_5 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; _trig_5 setTriggerType "NONE"; _trig_5 setTriggerActivation [_enemy_side_1, "NOT PRESENT", true]; _trig_5 setTriggerArea [50, 50, 0, false]; _trig_5 setTriggerStatements ["this && no_base_1", "no_base_1 = false;publicvariable ""no_base_1""",""]; }; _trig_6 = createTrigger["EmptyDetector", getMarkerPos _Base_2]; _trig_6 setTriggerType "NONE"; _trig_6 setTriggerActivation [_enemy_side_1, "PRESENT", true]; _trig_6 setTriggerArea [50, 50, 0, false]; _trig_6 setTriggerStatements ["this && !no_base_2", "no_base_2 = true; publicvariable ""no_base_2""", ""]; _trig_7 = createTrigger["EmptyDetector", getMarkerPos _Base_2]; _trig_7 setTriggerType "NONE"; _trig_7 setTriggerActivation [_enemy_side_1, "NOT PRESENT", true]; _trig_7 setTriggerArea [50, 50, 0, false]; _trig_7 setTriggerStatements ["this && no_base_2", "no_base_2 = false; publicvariable ""no_base_2""", ""]; _trig_8 = createTrigger["EmptyDetector", getMarkerPos _Base_3]; _trig_8 setTriggerType "NONE"; _trig_8 setTriggerActivation [_enemy_side_1, "PRESENT", true]; _trig_8 setTriggerArea [50, 50, 0, false]; _trig_8 setTriggerStatements ["this && !no_base_3", "no_base_3 = true; publicvariable ""no_base_3""", ""]; _trig_9 = createTrigger["EmptyDetector", getMarkerPos _Base_3]; _trig_9 setTriggerType "NONE"; _trig_9 setTriggerActivation [_enemy_side_1, "NOT PRESENT", true]; _trig_9 setTriggerArea [50, 50, 0, false]; _trig_9 setTriggerStatements ["this && no_base_3", "no_base_3 = false; publicvariable ""no_base_3""", ""]; _trig_10 = createTrigger["EmptyDetector", getMarkerPos _Base_4]; _trig_10 setTriggerType "NONE"; _trig_10 setTriggerActivation [_enemy_side_1, "PRESENT", true]; _trig_10 setTriggerArea [50, 50, 0, false]; _trig_10 setTriggerStatements ["this && !no_base_4", "no_base_4 = true; publicvariable ""no_base_4""", ""]; _trig_11 = createTrigger["EmptyDetector", getMarkerPos _Base_4]; _trig_11 setTriggerType "NONE"; _trig_11 setTriggerActivation [_enemy_side_1, "NOT PRESENT", true]; _trig_11 setTriggerArea [50, 50, 0, false]; _trig_11 setTriggerStatements ["this && no_base_4", "no_base_4 = false; publicvariable ""no_base_4""", ""]; }; If (_no_enemy_sides == 2) then { if (_Base_1_respawn == 0) then { _trig_12 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; _trig_12 setTriggerType "NONE"; _trig_12 setTriggerActivation [_enemy_side_2, "PRESENT", true]; _trig_12 setTriggerArea [50, 50, 0, false]; _trig_12 setTriggerStatements ["this && !no_base_1b", "no_base_1b = true; publicvariable ""no_base_1b""", ""]; _trig_13 = createTrigger["EmptyDetector", getMarkerPos _Base_1]; _trig_13 setTriggerType "NONE"; _trig_13 setTriggerActivation [_enemy_side_2, "NOT PRESENT", true]; _trig_13 setTriggerArea [50, 50, 0, false]; _trig_13 setTriggerStatements ["this && no_base_1b", "no_base_1b = false; publicvariable ""no_base_1b""", ""]; }; _trig_14 = createTrigger["EmptyDetector", getMarkerPos _Base_2]; _trig_14 setTriggerType "NONE"; _trig_14 setTriggerActivation [_enemy_side_2, "PRESENT", true]; _trig_14 setTriggerArea [50, 50, 0, false]; _trig_14 setTriggerStatements ["this && !no_base_2b", "no_base_2b = true; publicvariable ""no_base_2b""", ""]; _trig_15 = createTrigger["EmptyDetector", getMarkerPos _Base_2]; _trig_15 setTriggerType "NONE"; _trig_15 setTriggerActivation [_enemy_side_2, "NOT PRESENT", true]; _trig_15 setTriggerArea [50, 50, 0, false]; _trig_15 setTriggerStatements ["this && no_base_2b", "no_base_2b = false; publicvariable ""no_base_2b""", ""]; _trig_16 = createTrigger["EmptyDetector", getMarkerPos _Base_3]; _trig_16 setTriggerType "NONE"; _trig_16 setTriggerActivation [_enemy_side_2, "PRESENT", true]; _trig_16 setTriggerArea [50, 50, 0, false]; _trig_16 setTriggerStatements ["this && !no_base_3b", "no_base_3b = true; publicvariable ""no_base_3b""", ""]; _trig_17 = createTrigger["EmptyDetector", getMarkerPos _Base_3]; _trig_17 setTriggerType "NONE"; _trig_17 setTriggerActivation [_enemy_side_2, "NOT PRESENT", true]; _trig_17 setTriggerArea [50, 50, 0, false]; _trig_17 setTriggerStatements ["this && no_base_3b", "no_base_3b = false; publicvariable ""no_base_3b""", ""]; _trig_18 = createTrigger["EmptyDetector", getMarkerPos _Base_4]; _trig_18 setTriggerType "NONE"; _trig_18 setTriggerActivation [_enemy_side_2, "PRESENT", true]; _trig_18 setTriggerArea [50, 50, 0, false]; _trig_18 setTriggerStatements ["this && !no_base_4b", "no_base_4b = true; publicvariable ""no_base_4b""", ""]; _trig_19 = createTrigger["EmptyDetector", getMarkerPos _Base_4]; _trig_19 setTriggerType "NONE"; _trig_19 setTriggerActivation [_enemy_side_2, "NOT PRESENT", true]; _trig_19 setTriggerArea [50, 50, 0, false]; _trig_19 setTriggerStatements ["this && no_base_4b", "no_base_4b = false; publicvariable ""no_base_4b""", ""]; }; if (true) exitWith {};OggSgvorbisDwOggSgHRvorbis Xiphophorus libVorbis I 20001031Sonic Foundry OggVorbis Beta 3vorbis BCVum`>YGFut:m[},>໮6u]Suu`ۮi.زe[|`m˾-ʀmh>UMW+ilYve@[v]׵>'z>袥YgI55M\=O[VU}]ul5Uϵ}lMDgI60-ɑ4UhY@6=Me ˮ ulaˮ=tӳ,3u`zdi&eyjz|Ȳ}tWv]Ձ)jz>Ye`Y횞i횦+>:]׶m>ȶ |YVMєu]U<슞g늢|`˲l]6[Om]@t|>@~|U`0$Q2ThjW@ׅ# +Oup:r3` J <@ o˲n쪦h׶e5=M3uVmuU͒,SWfU]U$ug6eWUE͒,OwnUveW5EQTm۶mY]~vUm %0va9v 뾰Y_u]~ݶmto˲, _]ו쪪>muM4Uں-hVe[vU4ES軲,˲s۶ˮm˲Ưp7S8b8u'q 3 Ư˶;yaeݶέo-NmvUWvei,˶붮/mۖm_8 g Ynx?pCjeig3%NvȟIm먵H&>M" W3tp-|wxeĩ2J)R,( Djn\Nb lkI߬l)ʖllIr,Vo1azʆ_f^jrJuqsFGp.jîlhK sf'E"k^9?҇[7Y F x"#Ql;y!$[>l ;a7Uzchę3h YXlaݮ=Ķ?üN5G{@6\c1V>oYCJEܫQ ^}Ȓ]DӞT|bsʴ~X3I'镳wXr(s=:BsYޫ |ǤdQzQط"?yZ%a֔[g@34FҪ}{}[gOH9yI8X]0ȷ9]~~ŗػun4Kq!=P*)d&t`^qlӉ@u1M康r$hvm{ A/`ʏ' W׻ʄI.7?(b %dbVcKS/w:ßdNL>LJFԗ#E}-<[BY+T\ FQ% M ua9)ƿ]l[sl~ <~}7 owZjV}*ق`'q?Y^a~kYLJ#\ܬ) 7c8fM/3_Akc>_JF,[ZoG*`fϒ КO@aA5qlw9SxAÃᙁzCh#R&8H|U~~ !${SwD^/Kl(d2' QV BDS `vf&vtA*T+6tN>e["(6|/8l09Ϯ{\u)^ }"L:Xelˬ<0}tٚj7yX*+< T&hja"7>]EtW?j,AxvdǍ5"i!eؘ!*%nZB2NWyOq ,-vv!oN&ͯ R֟%0#Tt3>-AtND%ŚL7+vhy0r tE;/@NDhĞeGbgaS,~\VNg94%R!jKLE= -%%z6xTjkd-tЖWB~nzr([W m<_&9 ٲ@Q&"kvH9; -6:!нmis74u=\¹d eQeÇ/hv !{MWwCXKQQ>sمcc=a`LSZJJc0 ~.eJYw۵FFe׊«ڱՇ5ZǽTM0kgSVcGpњMI2k7h~1PƔ!Κ n)62x,U6kLQun1Zz;6=Z퍺A:"XPs8s$ FArcJ@jifλKWeIŨ[b?;: `(WdolkG1fBQ[aZ֯ #^h@XF&Bi " >H93]md@3M-y}("(qL Z e eI̲g1qȐ1F^enbU ,qsM<| foo*2#J'v/\EZej3j+6@[ KճX^}@³ԔB;J"sgڍ@[j룪먳"!!l a[@G"{g')b}40A}?/LmE@)pyrs'2\'\{nPU} yP+[g>n4&cҖZO,Bj"wA PTs޻Co5TK ?,ЎQC{"cMTC{͚op+Ӄ{;zW=H@"#a];Q@l9ƠiAi8 a8$t\zV")%>VA>J0DQ0}4$n%LPVׯr/!dT3ߙUăgaǕzqeWzFPcۤag:'bJ=E 4nRѪo8ZS˱[#@qj ,V,.\ɔ!uopJ-ey(W6nջfjVMXVF d0V, il{5AL\+ 8eI` ^&&Ĭw/ l58JHb h2w V.zĝJaSm}w[!1E''FYuZF.{U>Y|M\RFZ9R(OZ?x1:7IWo\ 5{lu)ҳj,5F2җS:;C- Ve!`!m֢ۈsFix m%0LF/_a3s@$SR&Nc.o'l 3XW"kQ58~AGQ(](p yoX|@-|V^xTYzy]4-gy(iMZN/9D }56Kdt=C'% iyᆻqZ9dX 04lTK$A2,^+\d[66aު.+r]َP P>O^֐YUSl/ߛ]z/sԷ ŪPV|VH6E6OkdZ֔[|rNd9RpS#:ۓכm>#OI"p@xk?,1MnVjlxfZ" }&ÛxHڒӏHrc3@GJ޸ŭ)c*xuTġo FIՓBr[ .Wn @dqBmYc􂑃ì\( tav ("OJ~bYy[<)^^/J8"`YkT6!ᛤ $w9/ Y?4^N$ I^sAg0` "0n&Ӹpm*&dyuLd1TPiH)G$ d2;]/EB^GX"kd 4`\r qј|6Ħ٘AIn#mjiיyq>;Ѩ.= 갯m[G`i~'4-:L7ow^DkSVBs (F&ilFbXR:U٬j?Jֿ ӽR$)/:L'0҈yv.݂'[ds+t34 uZaہ%iYbB44~Ynv+'s+Q8P Z-Q+7vρ[K׳^%rk9:b0YbKhI?}%Y@qL4"!:D*eeu6h4 Jk#D. a 0"R2 n(ZnSGħYD{dmVI\}SislA۩L]3(U+wLdR ?=S*.zUXذM=yFW Y{'(̬}Wa&Q2- DKJnI}Gk۹|WɁ )H9w2Svo!䄌M,{5鞯*Vw594!D#aAi(F@:!  EP*<5|k[ sMz`!RYRUE MwTmv7"ĵr9ijl3уXn\,7` S| œk~{"b.3Euv >VԳ~ I|礸YfFg~Qu7Ju: ;|ڌ]OݐBXdJHPyo3¹C3alvy+LMOg {6C9zAVhqΧp= p&uP#/fAh. өt"|~pE31ߦ~]%[T3s ՞m.ISTRjќ^û<;vWbJ9ljlzUAaa6iz_ Y'OEh342Q[D CM)/(f7ÂFBCcJfۻ|8FD8Z4bń :H<jmG6SՔWX[쒁 I~b@1\ɦxɐ^L0G۩Y %*DTD<=Bge0Uo8Pm:VzO9J9Q: ˟&wœ4ngjYcr'1RJAyw ,EvZ C INkˋ̤aŕB'XpұZUEڳpF-jRFu QQb\b)6 ܁RgTސ&\/S3)^{.6dq;kd?^(_>sSG)(ߩZGwS,P~[IXsձӔ.̂#4W.rֶ6Bt~Ej3O ~Ph^Wv,e5 X.TZXvLH6\("e"aH)t7d($v7bOpk}RZg۽hrٍE8(#9%1.u O"@@|7XZ2)&axb$/*>>d1eESbs%l~Pj= 38 CKLhOjnz1.h] i[%SӀ zhÜ`C-\,%h=vi魃+AەXW0v%!iWTnN[ڬ= 10skpvr==fr$6zsgX!~Zko]`ˎlڼ K[3 O:H )ˆ5 ޺q@k~C$D|F0kT#lvk3ԎV^ޅz7n0e^{:\q~T@}rEU["V3<~*.*iH,|lgZKtI@8 Y.\mK3ãz~d qlHuY7ܮJYǹv!;05=C[i]vS#ႹC/l;LY@=坒o,V_چ'h R6m86pxCAR3vtNqns .l (m 94.ՑM厙۱!ǁ*%e#g7J6Qt!_i[R`|R-4_Ckw$`Y| 1^OA_jmTܳE.\~bŠ18@2;UW(q*X>xHneB<^,Qy>Lt_IjxZ4Q" }i| 2yI wA4 Qk>`o'nfa7pnڦeS&J;pz*e@m _ۤ$FWmF8NhED9-VV[L\Ei{Y" gCJHVƜTWl{8۷$Ph}6Ҽk1f߮ݭl-M j?QXO";°H}U1N3>&LjvwQG! <_3m&[%B]lz8O&RhZe\*i1 ҰN VM^mVDF%j'>pz$dǛty*B\}5ZCn빞B4mJi`gϮOXnG| 5 [sHI6 '6Y_|~/0& 5 ճQ؀ mX[`R *C_K4~<-kÙy~9mۿɸ~y9{+'9ƻ5@ aYh`@@Xumd Efd!*܅e!M }Iz #V'>zY[}ld*KLݫxFZ:u֣ZS3h5~tQ,uQĘ%(<zrD@ "GH մɴ6 Sޒ SVndz'մ4Mt_wZ#a0(uF`R) 88 @n+JcsINv7SoH*Ry6e8f!Vpd{ >Я.dv=BMN1ٍHDľqG4]~3җ$ƙ명LCVe^s\$+8N91!`, "-<bQjN*`Ԯ"Ձ(L`|dLXZJwWT?({ %%oVpW O=E"c,4UpL~u6Jnyޱ6p't׫kyMQ~$čp$g$Y,t,>([E?mBp\*6gmao{N|OMQ k|~UI@ 4C7(ν#?<1+7tBPA@ a(a%A{̉}Y=2vmY]c4nO&MbU&sotZC~ n{6rulCpy5ñ8IAX.'*+W{#ZGǩ2Ǹ۾Vj߱)d-dsrj}$ڀ N,Щ q6IK&_%[&b*KҝtR6W$C,"5~U,<~7͈g32O Kv1`I:||]24~f<÷6od[_]25S]@ȝd+0@ .@OggS*ovorbisDwOggS*oaRvorbis Xiphophorus libVorbis I 20001031Sonic Foundry OggVorbis Beta 3vorbis BCVum`>YGFut:m[},>໮6u]Suu`ۮi.زe[|`m˾-ʀmh>UMW+ilYve@[v]׵>'z>袥YgI55M\=O[VU}]ul5Uϵ}lMDgI60-ɑ4UhY@6=Me ˮ ulaˮ=tӳ,3u`zdi&eyjz|Ȳ}tWv]Ձ)jz>Ye`Y횞i횦+>:]׶m>ȶ |YVMєu]U<슞g늢|`˲l]6[Om]@t|>@~|U`0$Q2ThjW@ׅ# +Oup:r3` J <@ o˲n쪦h׶e5=M3uVmuU͒,SWfU]U$ug6eWUE͒,OwnUveW5EQTm۶mY]~vUm %0va9v 뾰Y_u]~ݶmto˲, _]ו쪪>muM4Uں-hVe[vU4ES軲,˲s۶ˮm˲Ưp7S8b8u'q 3 Ư˶;yaeݶέo-NmvUWvei,˶붮/mۖm_8 g Yf_ȱzH:AߊLMq*~W$9ܒ_|͕U]/9zE ғ9;,, }`q\/ ,'<'Ci{wǮʍ,H0 4@NX<66~vFFr-c;Cbʹuh7}tu9$CTȓ1Uw#r6ݘRv˹]BY=CWFO4r.<~?{I.$۔{E;Qn%FQ:9 h<7u_G*Pwy4YZ'OSM~[qV$zAmx9`g,B:%ZI; ~:4P}8M+v%T /Tj4Z H84Ug',8y*dKx~/}ˮ?>qw/-񨼞eX⡥]umYSn#|)fѦC*ҟ{+SzCX"JQSozdYUJ5 ~-ezګ`5ս|NB2&dx SqL&ֈ*N7fW'}4w̟}/i#!/vȫX2!;{?ܻL%~fgA@V0Yhc6nl@\ RH7NŶ:.цQю_oFX| ?=w KS[-ki6J54PǵmaW{Xr)qcX8!7^aG=;-ϳJ5!7(4Svo1-hDVߕsR+Q7 :ȶu9?( WhлKS\CF7QB)$3E˸~38e[iq P Q3fRD76bi*0!(" KNH6MebP'ۇydr Q7WH0SiyOPK_xCI֢}\h a7R^pFq>󬖉Lq]a xf?XX#ܻQE焷Y#inQgoQEm6qSqpDE\ o]7Iw΍JҤeY%XKs;BV"qt@i rc+Jb 5U;:QCjid+ \ګ DKΌ yCN u_&e/ږn-P(̤@4M8ŒhbT ZlR{,RJkE*u^-?4ncEaᣌtZ)_#Ѩ輫v'Ln SQîZ.+E@xvt09[ L=6 KVQf4m"~Zg=gġzx#z([z]OBp6kMfJbD Zʕv?o>7,Jlw}NGb3'< SqK =uI\6Ff=nKD`]rlrDU8;,j2QX中Ui̊Iޢm<{#&Wϳ 6Ɵn5;Ҩ„:dD9]85)`+{aWS;`S)rbҐ 3xpx5}X@P xM hD"!KlA ~Yzk)]:g~ko /c|0ٰOS16Pz\TH[T*Fح_Z\5m%ʖQc*gtukz@i\aP5Q">GUda>@ln^9~Q٬Qk*1ZR,4 @F+ !jcnsb}fu9;mAȏLl+ YC@K=OYJ (` {q͔vkggD/{Mo~ҽJ, mK|tB{Ow~*l?"g0^CP)֤Ѕvb_gTe-íW։oQ&}۫E̍@}smx+]ީ)վv>|޵ni@|+2mۃ3ti0!'FmE&=D ͉;*ep1CX9ȠnaE X~Q$:4 A[ F#m-&n 9Y|8yOj\ K۔2 22iuvO?9-So?4^G,1A՗[l=?W)e]-+hj.ġtm[Pp9"rJ<\L)`POggSj*op/43*&((8/!&D@32 jzpІ 6 d2hf.Ɔλh o,rENZK)X>5sgMa< EK;.؃oI~>=<4#MU&eGmם0߷c'-Lx}}4 q[N(ix2L|Tt^pݗT]Uڕէ0wEol~дpRŒ9%ND}uT!Cd}ԱkLL䞄@ yzR}p,o X'9An(`"dm &_&*/_s ݜɟB{~28(DR*>fQuny)5n^xҚ['R|?˽N'5ͩ]F'Ʀ\edPΧ^d튽=c:klOJdҽ9^x OuGjԫ%lwޗgΞ}[5{n6:BϺ~z:Y5`<ǖMOyTy&TO33: 7- k-4jd2/yGFT~H9 \x "f3 wRu CO0|lRS2@̉LiF';N`% 2RH/j!ĔDRquZ>j͍I"7e ZӂH(QB ;<-*#0nڲ`"9S]U(x63[(}c!Z?ϥkN6f¿bc;{*õGmOQD/.⦇?'NMд5 \q ہ\܆y/c2T[=LaC揓4A Ybf@3Z7L HĜl`P&KfAo <#a@&5nrVP~ʺ?gc'ܛY"CdDQ4ro%pT(I#%za+6~꺾˕zdXvuÔ x/2'ecz-%P W5F(J~q ]םyГwB1 ,R,^=l〱hb|G1hmvĒXKrLSj&AA@yy Љ$PP><=ŮMb = 0n~\KZ_j*i&1KRdɔr-~.m{ ݫU:j푎h-S;-uP=u*Ip>ңڥ.zT(0-|،hK_MkߊSJQ7cIlן?\VSjR%Q93/0 O3nRAt6Y̤|';<&}f~ɫm)RGӮKEZ@=tӗ3+]㾪m]D9I=_~#ש?UGud7H0\KiwIw5*3_Wh]gT 2AU ȳ&`5hC5QV~#cLb=G*n*rx[F@DO\ -`(C&Jn۟s$ӀEIUN+e1<)kN!\[ % XM]͆" v=9@D?]Q\؈ N[kp*Tus.O͝D-RTYjwviP."LV/.x1 s"ol_V9RGq²=/ R.= %$JM2'36 T4'ժoXw_c(x/#t'z6=X_ Nٺ>w'`oJDi``*r^`3xX dq ލL6 OnUDR fa֦Ut5'\&W繢T*mtt.M=7f[LE(<E䮚!}jca5\mex݌*DV>}>XGH#[<ԧ @ yȺh|<%u[]sgihd:t]J: WKmo>g$-.z經)c6(\A#/?-SooɶC(жfVzN XEzY~$A;“[R*<퉍)̙3sFLȡ&#,\E6 [n1DB?PengqN&'CA̔߄վ++* F樵8$e]춎wX2<{9>.qϤvttkh%"8޺>{2Pàp `9VUzRfdH />cVK* PQ?o`B!$<۽5CM@r{ 0p̐5潋^lHcG&c{!%b UVJjctF0ǯe?5#4 wUcֲik sZy~$|жY09栉#:]|ű=r픍I򣸑ڒˡ>лr $7Q^0=^wN;-Rn8qcUMg;S>gkah~{p &d nY8Reŗhl?y|q[>܁hdl/$""{#GZFYЕ ;FݮE̳ bړDi)`QANW/@0s_o2bY*YR7\!+ U}pCsRg8U<#o^HY/mo2;[ԴOjD~OuftJ&STk.U19n[n??N6_d-d糜l AT]a?|HEZAMOggS*oUF/"1-,0+1& `cн^xC#צ=iH[&gJ1w0 {LK" \~46]aZ)w'L|s׋*_oeYk:^2_ϑp8Qpg1)$ϏZlɻQgqǪ~f'BU>nU)KX)a%7>T؈xs&9]ѬivLz%_fW-hU&ΏS{nk;{*7@J7 ]M'hG*f!6Kg X\ LupC-0Y2!a.E8U!'!&eHn#DN/}-c8^:y;}ثUط.K=f7_+Z<V~#|a}!m 蚵S(Jx[W_ m;<r*KR6j)>saF_wUA^y9A}[.ח;li~gq܊5-lp^Jgh26R@_ [d& R'=b޾R3d0I4'd-h$O'\ʌBcQ CZ"m~sF^ 2lH|!7 __*EjJLҗbaEu]kvQ-f.jHo՝cso3=H Ǫc}钧ϕ]R9p{.Nm<Gn__@---{$x3]-%dxv:xؾ7ClC 0:ذh ɏ:uaaBBh5]@,^Ǐ"ks]2'gRV{ҝpza^E>@%h|&|riQ{#mD5F+,SPDf渷š_=8=}J}_Y, *ب{ɟ=.[8z\m#pOWgk?wRDd6{5=~'edzg~vzHv8kg`c2rK h V^%Gh4dEh BgP]Gpt֤ 7 3c<ڕYJ(Ӯ6w/%g';:s'{-tM΍M.d(1ejogmWki϶WxZ=6:5߲"mf6[w{=HfSDr RUcOWc9*ܖRL=< /] 3&T$ʱ`=i ~Iq]kwcAL~! Hҁn(c+SYU~lliPk\vPV&F'o܊^:nD[^j\ʩwT0$ lf]M^ݥ5opsx!>)Э(5gp;άja ~hZq) Y΋9uJɦp|#~Ul9:1+HJUHBMne0]]2_XZťMӅo[ݾxM.З{q&Q̳H;!{_w=~ $5іZc-sUӯ+옿~9)LNSS_'꼵p< ˓wT Llqʕ!ޝ׼2_Ŏ*NYm Qa~uvC?37po=Yռl)\Wyo=JD 6z}HL dE~ ):a2՗1[&DҎy{k\|jם~3{_4V`H$ı_gW[7%>?amר0q?_uk(ޯf$|u{($s%nÅߴ"AG l\(UYjN4][k--Bmm۝fe"I4#X@Ȃpcuy`ڍ Ma!ZNE`-5@f51]#XXޭ !iFFy.=mK wO?S|`!s9}K5pxI*@ՄjnT=llXhgQÆR͙C)C-A2l{IӭZxVg$j{3$F)}xn\n-VpRu״ 3BFg{>8&Y3jK -‹%\cD is$,9޿vR|^ 6Ơٻ>mVw] ɷ~"`̫+mj섶GۻG^&vm-ќe>W&ķ f9JM&5Do B q LH9rw̽ou,b@[} vB (H"ޭH3qؤ/l(R:Gۮ)nl_.^ 6RIez^嶓ږBR7H:^:m\Ξn}}e)FCmCee;G>P3^`F"X\\Q. 7? h9nmձ$BHI. N !veO;lu.0/8I}ڪ 42'9Ŵ$ey]j\-x7 cf;W $Il+zZ]%־)5W s56m $]jOggS*oI %#%EY!O@>"R_rަ'] N%yzs^!D0/L* /<Ԝs@IP0m)KZwZfUi`tC=KSgBl8E7}˿WYʈ|w=:뎻U~+Y;ukKqn.m{$DBoD.|Z 9I^3ůvE7 J|'Deg>`aWqiL'm&ڰD! (FBD 3{#/)8(߬!*ƖO==spTǍ:꿾۽?mףtӲdam N5Ĭm4 n7|]Et(QH?!ִu? _MRf OyrS!ڶj০1ef x wXtԮ#C:w )0 EjkskB1&aw״je29` j4:i l8bn3`E.(632J"۸g{Ide*SDSj}&jj:sa*Zsd"ˍ1 >ͷp֏eN $gQUU?up mX 譇FE"8AspcZU^S6>I}Yp I24p\fB McOEM w5KXz` yf-R&ٽF];$ΪLS,|Ixhu/7O-_#[OKMI{EVrbھ̺Y}[OzkE\O|ߛg͹"D?oΗ?Y;H?鳬VaOKƆ88Sij+/YqW}hX/n#땍F"ޯqUVu ,CY#1g4A4Tw"+;"-3.S sqi솘tN6$߹,"D|`QayM>0 I>H\/襙krB|ԤS5-Gll3 l{U Q"5X?k EM]&\nȮetFł%vv8 $R/p["v `fѐ74DklNFw^X4B`1Pk.!!"! 9L*s׹&wlJ5HNI8ۯ`>#o9v+w >jߏ,G * 5:ުCY_+cE2k4wy]lP+b~̯>~(Ou⟊տt[}PӘqHK?٠0rCdg\eS޳pZGW. X >g:(oK".)Z_#'nmn\|o@O})9҃UdTҠK mJUդH4.:BRǜYdj }ls?G+q{*,tI^x:u . ىmrDߟi4F6 J*%ߴD"=^Kwn#jqgSx/sOnE$?et&H>`'h56 !8(4H2)hw=eMuP/`ʮ]I-a 7$vK,I@D&4O?}dlZX"qy+* 9}E.woZ@gBZZs,2Y @?ưߤ"s.?H+ރA 6]Ǚ7 HF0;6s.KƠT[ dKdcZp(8IRȎo 3r3t"qCAW/L- @XT/[o}~ں Ƌ4JJ&bR !. !EU'KdB31.}Qo@G[E'_ UsGV_<]G`lcA Ү/ D?À$b= cˁJM%713q D!9GaBx1N24(U1aKnZ+ˮ j:ti=My2Wi.{Y !eDjdi J sto4.s>`4|P$~ YPݱ4=tyQDq'3m#B p٤ki9`MɍJ6KGARm U}u>khYBeX@)ZBXU_焷b?yp:]23` cܜʞzɩxR\ĹшӾ*Xf:;0GGddjr @ ]iȆ "ِ4ɔH$y!c4H:ì| ;9Cq#8ݸdd.n:QUxo\[<=:_%5G 6foE6l]Μk-2z {:k1D&<q&6A S'\anD_暏4;o"WqQumeFʓyx}֥On/α?\otGz Xf&3CpD&5 5rI?gAiD>Ø И31@ر~Z OggS*og.-'&"&  F5z)h"St۴Bm!QPRH ᛻iV.ҁv~k;^BU' jpn_m4 'WF4C`:eD ^\?J TCkfb% d_3keR)iCYd qV^OQ914$a0oa qEvw eh6յu8m|H=j - e 4 c}n]U1eQ8CIYU8ڥQЙ}ru8A#+ (1*#ҭ/K6ޏdISnu9wՆGn׶e|-hݨ*-y3̡ F %b%J'M[#X ["?ϿT+o}H{(%za9)Q}.jʼn,x<)w,S@SpM}P{S 'tYqB,ib6'7 5ZQ'W*'B"yAф=#@--: ꍟXiPJIP ͰQIH) gp1$#Ɉ(ܯFAF97c0w4dFL(D^~)աXU\yCH |qMqjüɴJ<:q q,3xCwԙֲ}䤃/=Uu_KsZ| P,GǘE&EHًFK bxT.S^?WO?3162U>|~qp! 6!Rh~O~N (pHsw<%"ߛ=u[wG-3m$y HDʏؠ~G, :}"Qp.ܫ * 6O WlQ}JwU'Fk5FMǎFhaղma1?% OMnz|-GK&k Bz@'`,¢L|rsh 21~K>w9 sA׵Dqi]i)ʞ٩4 &J;|2[ egg ^JwjF$4w(نkF9 ³WAt oW)6|:>9vA%fBf^vaeR( CZZ) 8QU &sx  ~O[՞g#2):ޱvnL!6]"j~14+cZ ow{3E佸GsoŞd|Г_pw\tG5k>lZ)GE94f{A#S8f&\.IToLc%s]r tbnR"+FOSBM|R[SIIrN$x0Xl'2;%Ò=S137V$T&t Jz4ɈFVk|6|)=BI)JΣ47#eSB﬍&?]\G EX`9HaAA\=}{MjMʕY)=Cj~ [@oQ(tbV堸%;Ch>6"q&#"/D F7 i8chǎ:6;Cyx>b%tNR4 E0m 99# {@K H'6ܑH/!|Y)n' E#[Mc_j 8gεVgMZ(=LQ> dS/v 9p2$%.x1Nm#. Ҟ٨zve%<lv{ҧi|qnW.U} P_`~yJ&9&U"uAqJj3*ZLDO\@.hD4Ed䬫 ΂"4K@4+NF. {"Pm1}攃 6q(BI, ">1dd<^ Rrjt秏"&m r7(~G%υn9HJ@M0qa_(LdU)Bz8'C=E/udxL,(xf,COUeZYQW=5/d1%^IQ L#n$p_gA)GÑVr- sQ pԵHPTC<8`J8H a !ir3jv˕yPHxMw>MVo:TTGd\(Ivjw&LKz]g"w]Yo 3ٟgaU# mfZUGZ;mȸTh7a3DD_rsuVh:ZYLVݍŒ7R=@S+%sAGA `G=0ӱ.: ? W(bEuG31N0ԅpB.` ^rpr4a)%%BI.d$~[kmTY71/oomE:x3̽N7SwygauJ/Ku 'c̸ vP}(5t ~OS͚M$lND!‚1Ֆ,&;SR7+]"qhKQA戈$!,Il3\ں90(_>! HU`W@ұ* *>](b!\@T3jr2@0{8Н@% cdC1"!$6^KɼL3笻|$%j/0 }x*#a?S3A ]5Dƛ3s~~h9O=?ߠ /NȊhDk5Xjok+h@RiדFW%Jb[(/54'1B++!G>$bMK8a29&յ,Пk[q\ GJS A$a<@@]'@@*Q&H"n4[,OiQmQH.=JxH˹hm!^PٝA3Txj.e]<#\K,Zx[>j;<>B.T#lʯ/IRrۻgRa UFsT#f5=j3bfKnpeabۣyf   L` Ja 1X2=FXC* "E̤asȲo4m] F5_&,^ u \*=\5'(ڑ&p`f"B[fM`rޟ^wKi_cҪY0oXM2v0Hx?q 8/˕Xˆ ) ~LW=Ttoq 򇃑}sB8pl?EW&QelQ"sd}eipb2|]df`3BxrWe%G $']ta0 . 4@%xȿZoĸ/O)(2A OggS^*oR   h( (re"H ugT1}s{u$:UcEit)oԋhS:_m@ ћ Gl-[O`mot fZgIxR\mnW(s"oY'r."r=GiAM&l^Mn&=C[vc1s@PCa&쥬\Ζh&~9C:&`V1Ji&l\ld4o,߫`C}?Q0[ox nLdy<.3se,J#'w[յKRPf%|])e?㪔RۿN̂匍?ǙLc{g5 {=_۾8Ztd›mCePd&K痡7 Nv /qjEY t< ^B` |F +'txaq &)9ħiXV*$@:8>:i&eF#)t @jեSy}?|<Lq1lxU ' & lN5#Pk@!I I%xUa![[ۧ~aYK܇s19iBR"U$^ 0U˼ ǟ!zvO?9U2hyqwh9x}b > xD\7ܯn)7s]L]\Ywp0jW*u[ STGmzzڄ>K:AKa):' =+f,D.7J d% 6I> @If{oU3m@d&y^0kPg֜Y#bL0ǞsG% !%_Tܬ!vf7FRH )<fզ{_,/,%_['vw1i0 V7ȋ<鹧ِ?W60&'WjʪwVm{{>]uinpOGlvɝ|AducbƘ7DT@wgw XԾ1$fЅ8|G` ?->:0P:h@S34eFz{ k6p3ˍb q2/ߴbg!c$ BFfuv >/C7s5ʡѝ6aj&> 0py@tl\Vhs]=F*~˒19 Yu~!я瓾BOa܈k)Xr2!qMh_KډcG cSnN~{XRT|rDt$4EEssa;%WuhDE+}Oޱ6Ve22H!() @ڑJAʟb3*3VkBi`0^[z*arN'J7hJucsy۞JZ<F+gn8SMMe /- y[^0cRI(Z}'60v5p JƧ3sln%Tpm~0cMa8xm1:C#v%#^wyaˍ(kB"1OZm2ڌG82<  M6knA'f 8cEq[4"I~SgK|{!9w8I߾&2:y K/U?{4?"Mdw?dv"P_ER׌O?Gm~q^>?|mhjb f 8)/?XwNQͩ[zS߲sffo~v2͠#B0 (a?p(1r0vcjAJ`wg 7Zc+B ) #^ڑGp!rCw #:j3La>]D8"TU Lic%*J\W H Sۄ49&4}S+RNsoq}=2y8AMrFcq  w0k#<-LW\֥% U:9B"w9H3B%-r%Z`>(N cnTD0`@c%t$B0%<5|&gQ%K$D{1@tts>(yA]`GV=ܯB#R[AaT_QAuW. ߏMYTT5HTnNٔk7D:s K;6ݻAm`:$C1@SCy 0x*f`xX!a7ҘhtfBI"Ξ3^6¼Gy:Z%V}X 3аPj +'Wbk~"2<|Z.9CT@&سa*f.QM`da#YlV h0Ȁ;_[o֛4Βm0;_I+u D`?xU_?3++0?s` rYISӿݙO4DX(‰>V_K;] P*r!Uhb  6`z . r9zƆ un;K[3_b2 |AQ=!х<1TDz)E}.,(ڦ!`˺]G_ފx ˰V4PVڟRn]).Hìpya  P-)s4B* wJP^k # 񋎆ОKOj@@B<[OggS*oZ{   f(fT ko >l[pV[7'MΫ>w[OEUƘ~y}tu=>EKm7D|[ug{ @6Ƚx}1GEas#Msm|f鎱T_z,m8MNpP~6#OG0mc`P3sbw>rkA[ h ^pq`I:$`r)dG@R RGT"f1ϥՋmy6r~ ,0\8,bW2 ÐҖkޓęcTY8R:cĩZ)N8]֛ÙocuzpCw=j3_x$BB\x"3\[EirR!5(!ĺn@-l_%UUޟ6cUǟ'DB –}rI=bwU 3t :CYuRs ?2C `g]a{NlQ\wI' Gp<»"2tRʛ:B"'W~"3Mw0X.2.oDi;dU?wMm\/Drfߙ^ߗ0+ |&ZU׊Q2`0U鼌mz= 8cM#j*, l/hf;O[J1A}g!4MHju]dd Q"LAmV<( n%>#j wbqp-2`Tս&0eh;6 AN@7\vC *(;n )lyFU/e"\%MuUi~J?][c+x%9l -3/vB$R UuV,ĮZHcQcu('8&SjĂ컞>s껳:4o@0+N9muy &0vV n+<R>0E0Ld Op f08&ɥ1j'B@-JH[nFɖ >z17m: Y?d+eI/."j#Usl5g\ bN&"\a5!T,fKɰƲ!V#}FkP6DmzuWs Ѕ?.!ڀ[H`.^YYAm9 Ҡ9g{l:~ߚh*sq_`J}@
FN }D\) Kk&BpT^;[5C)R)Ep H1[QŜn"[۝Tݝo\ՇxI'kL}KuO[Ȑt)MQ+}hϿ M(zNUF_YEƛO9nsPXL['4HJs+ s'8  A'+/(  >!@B!p^(q x1NpN19*xJAv A$+eȷfIB~SR:3^PK6uH~%2[z~ڑ"&B׍}ʦBbiW9af}BsJny݋ys3!וmRs-t )+5twV8?\_AR-XH!s|50&d@{!@2$*,NڒLN`g)uRAmF34 mZ R < DLo @3BkM?̓Ɩ]km%T壊V)ף̌+\N=]jJǏmVXF|z/dε\Qh꺿 GH{| ṼI/)j5Z8.YR{v3>јʹaR߄aq*>ԑ@i+gjӿ a QkK1k=` "POcrK h@6@j+Nz|v@`RR 3M5hjҍ}p%㬓MnaC}T;c.bL',}8_^OVDiqdݾ9\UC̟Of^K7I6ͯ{V!4gEsn:3*zXpzQB [$zN\3-[Hom H>$52 aR =6Qob:$"XtNn/5&@ $6TX4¥h0Nm9R{(īwq$;?֑ [5-2 lȪg[{`TaޙOxv;So3?Y44w.4=ī|̚n7t#dEk_CWwA3V!( eM`Uu^5WuXt0S{_u.dL 5=Kn7Bhuc{ը:v mWw/s9S3 D!$f3,_k7d4Z^P6ĐԾt (`\bMGͻ I3o=J/AW\/ Ci.3X)VH/{|T!D#QװN4ڕNw:/N5T~oQH%?toqMXSS9Jpp ^0`K.M%=i`fJ Du[,б 2@"pCn#ޭda)[̸|Q靁zF=oNͨȴ$ʆ.lK3xÃ_E_j䦑Ym_~Kw֔S\я?3@EZ!OoP glNUWS`G%[VdV@8m0tCPԫ}E˪1rdcj zçO11ƎoehHu(#@0@<eU#/]o%RqKv$Is肠q:_G8uӯɖ} 9f h~Hs>\Y2nEe3\8J{M5NUVQmwb{{vJhp05U}T*Fkb2h#<'q|S]Iks()"6jslrP:a*w9pr؉@m:07j&""zZ483=^֚ܿ7JN mVMxԖAtd@:09N-º!f2Xgu2aBޗBfwٹ,e*VY:@4ϒ4zwi4m}+}/dj_LU3 6JmTJ[ PY+u!@`+,Tō Eޖ3͑FS" A<q^UKˇpjmQ#Er|{Xyv݅aPx\̆gAƪxοYsx:jGXr.AxDe:o@S7\45vQ8f,܃l?yW~ 0q몦 !SYEąM|Z?MTa)Ԇ"=ӛWi mh\eƒb;c`OggS*o  x  W&c@@3aRVeo ͉HNxI}^}FOy=m_jqc #EDU;"ݾ{V"ΧKT!prrgA^Yw,1*C5DSUxk\<'n}_5BaeI%nIli4Xk~{ iXa鄁ݸ|GHn vG-nƸ0V50B 1'# ^46[@}(%6yAA .SAxJ*c΋'yVUԙhwáqB=_ѤzȲ7XTj D0 0nց kHV9'@ǀ/4@'B3nD#wS;Rg%:tzg8@QLv7+P(Nt31 )"#_3^^_bkeyMcEUUjR䧶f ?XnM*T& =q9XZ_[o1CgFs6Tʹ-s%XZCw2(ʻkBQN8/Ѝ>֥ܿ† >o΂A@ 8XOX?<[ZWu\JSNkܵvo䜠AѾU4(tZ+o ^ڒ$/Č=g;WÉުe}>]gm v^Zt#ŒP;ů/t'noUThˆچn'5nzz _[#\@s)woho̙ju%nn{=mb?7Dc, P#DM0 Hsh3٩Lׄb)@kʒuK5 b=Up *ÝmU~ r6!l5_l'מ?G&(W4Lsew/9;>_Cit0ZpGHûO( R߈9Ƙ+O~<؋dYUU*83lХ;PumrԜ>Z@ZGex. u8  SnKmc([^x L8c#d{[DHN3 ۇ@E @Κ"f5_q!;e {6cۛr%F!Ζ6s$AtDc$a2BŊ 9 #:dې&^ڑH#N˹P|7M8F`b퍧Hoj*ϔDhM3F{#\ՅdtOJyùJB<"-{)Cn]jZ2Eê Z(tB-7UQhx Mܾ;"$M\;'F[LF2 fH`ń ]d8):[EAƭvӪ=̷aR4S$mrT'IBAڑW.i9~.>C=+aL;\'rbI<~O~nB w$0cVUwgnyԝv&Mŵ`=ٰQ4X a^6 g}R SYN)Tm6)&>PLa6g6@Q5 Q( 5) 07^^Rf2Ct ${ǝ+Sa[[cl==B1Yf#5_J=& ̥=2b< އkѺoq@6Byȅ2֌i^0ܥ2g,ʃ!kNK 4NOo+0 S!a݈(f a p >#0h/n1F?'6gګabqtPӡǿ1tǛLeڒT5%UXfۜUWhn(u~v6(=,$oIb?0;jpB5[jAO/˫M[|7Z: ZN}Y]ҷt ~M[z dqףZ$ (Ntӧ]Ve~ekY'Mq"=ۍ0hmhq/_&?rnM/g'R DlG8C[n:Z Hgty7Npl˔>h^ x#݁>'sg+CFLxiF-Ix:@ŌqEJr2`d @$xGch$LHB@f4ysi0C#5\Wn..e2teR[ H-R'5F<ưN;J4l4soE7Tحmm59R !WQ(lMxG ;PW'6C#9 .! '`7mCIw@BzP@ :- 9e@a;Eѯ5 ώnENB@Bts#IԾ!SfPfϞF1˸R̅_Qw=wKC2mX)C<|a8N/ 94;smm *C"2=rp "ܰ6h3l`tS,ZɃu9a @psSZ^bD x$Qi`]j.n-UY@J놀k8N4Ē~Eڑ\lE Won2.䙛3?ai%%C]$44WYX*;:<V[bcD#R]C0/ڬ@#NKT 9Y;H5(FBVu08#t%VUdpАI00H9( ÜB늤BALڑ9LIf׺%r!Q񿏡98+nGV-Hn~zE>d8gͳ1 ({1z}pϘ=dnHN,,P:D4칺Xi+GAumCMw:X",wo/g],P^At Ѐ&7:+ءI@i-cu$gq>G OggS"*o <4f  tg2hq'ٔX$~yj?iS//O:W4IjN5lKfhDz³$CHh~3Wm/8%^,̹hAXzT쵺o^ڡ:8 8Af/Ҟfeoci)bMoJ[K0CLzB@Ќ > U,~aCC:ڑ"6@ .;L =)R t}?SP".ID_%m6?>ړ (c\'*.ucz'REū{.Kh2~ l}3cCDŽ~9Q0M\^ 0tHCasIN81++" o \p PR 5 02$2#݌0JW2y\.ҭ .B[=5#neKoq$ i,^t3aЏ,[ǥ۱ M.#䭪ie_T-CC6SZjqR%[OBeRe\ 9ld녙lM P["yET01"DpA&nB=tG?K&) pa!&KZ ,6(c#+2L+d+CIIQjƷU|'Xc0!ޛ|/昿4uz&Q-L4AtGяmbFkaN?QQ^K^Clr%{>fۏkSA\@*1Pg%9f$;qqx3?|FF3("yeLwt`&Nsqmo\5rqiNOf!7 oR.cF0/F`ƫj2Hݟަ} h(o 'λ]kforh:6Gn F: @@AJ$>e &IĮ<69]yy5򩺠rR2.u95}>WEW|\Qc*^ T}Y+C(XF9b ]nMʤ1L'!Ib((AE/0Z&/^TYnSh:.(YO2UԈd2̦561:? JoL@bh_﮷U4em?&"7[I~fĘ^Hu]t !0qB.[&9WK Tl&oj[=v'#􂮌G(]9-A@XɘVV!_ mȂ vŸ.^(浯58ְ8$=+w^QN&!4JI1SLFe{M,c*'yVJ=$kUCwQ4H_w{Q>/T: T@=K~ܩ媪S-dYCLl8!eP~I*3:G"h2ժ4RLǴ9l4Z\wѨ{AM=8ܭmW\ aJ#*)~ mpW̧C I%_2 $h%TLan\߻zaإ@T.SfX!:.}:D3<Β=YdGSҩvVWwD1&7V12/p<>+c+ͪm|j?8qzD̓Kebw.X^DCqv0g{.$X5{i X oQ!&zVopXB/ xZ$ؓBf9^b\6ǻU@C [PY]f[fJfaRp1@0AI"]mJHb[X$fMg.t gH]Lx2 hK2xiW(_~a7ɹ4!Pԛxܕ:l9?VQ`] axS%8ix6>ycFF`ֆ%RcQ6D[[/gP㉥ִ֢ .:$ 0ga֒%KN2 FnIץTۧI䓗N!j‚@*(qfLL'3i$EF@\ ,<n!_p:.H7ئvѲeߤH$kVmZR}dUleVT[BТeh.P8AW8ә !Bq[N4`'P)jKdؾ`Qc D]p<`UjzP[z W un= Fx s&"r2 C]c@ `Uv=L&ޓۙ"4~^W_#wBz휆HNWbiL>twc%CgFA}1,D~Si#R(i= )W}+.6ǶCalIfT:l=~ЂVp27"7/ uN1y}׳ǔF "`RA"Ǎ㚹kM; $PNON"}^mo=+ @ f553vA9eʡB'j O؝Hu^F#NhΧ䠒܀y"-Jf+JAG-,ZP_gP]]@cJ|俪. tj8;=} XSBp;$f++|Fw0zVܨlxCMշ*ߪrNAˆS.VXز|c +]A FZۘc 42SBBKx b\hV|ޫP=e7\B(f#?wܰ4( :\Qb T":i2$/pu.n#@iu@b ȁ齛oy5`^ 1OggSf*o ! +@!R:^d(+/L36B'/D#b}ZQbdO9c9 Kޣʼ^-FܛԐZ/ Yeы80,(@E;iϳ7| ݊7Z!F9Kqih@sʽ\ [ZdX$ѿ2&7鼚 "zj7-tqb* 8MD=G r=e2͆MߊU&01rPR+L=2!D){~Q )SRrWgd.X,,sDImz}k\no^WՌ8Cよ^WQ~r6'o"l~uC:& AXϾjr? 1pcf)|mN26'ucKRjk{DU}׈Rz)EfriKfFRpr&h \Ă~z8̎dКbDoA,DDt5;HR O1AGVuHUR㷆`-Y,1_%7u&.sXK[>ggn> uT-Y#5k:)zcc{Dҡ{C$end\ OqhM]k-yX>?Ubd,*ƩΒC&ߝz\R" WZT;v*c/->U%kP&p@"&,*sÇu TH,xVL1nI8 & !00v}@D0K Jj1SH.X*31~Gtc!%QHmlSZ>#_&4{*|ݍvm!3P}mY˩;hq, Opn_7f´P\J*NH; .;kknJv1@64W4Ur_3t!Bf A J]X]u``{vĜb:3VK[2߆> "Ή\^{7I\i>~]?^0MNE4NVyGF},h\ʒ- a7J Bd6Lkq:hŎد@'V+"5FI>8qB~AX . ?b,Dï!,c^^IcgM " hH}vkiOwdo"\Jx8bǬ[hޮ:-躗Wغ9'pݬZzaJM˿ꪫ JIxӿoY_ EPUA)|u0DH-b=Ϥv8puk`K»>%θ   #j3A& laHaU=j|}?ChQԯHCNYeZĤBoR e|kǠ9mowc vp׋aBX- t30҃ey&J9Ҳ1P6.?E_|Sg(|cnޚ+<=F9h9s_hRV?%muWhq²=|x Wܰ>^#DPܤמYNB hD[:'NPTtP_[0 O<o` f.GPKpP PJ xCє^Jw9RV4m-YJŀt3ay,kf.b6q܍ $/?gش>ACW+;ڸ@pLڼ\ L"D|syw#%]) &|3h8嶪2ioU&D^kUzAMfh*kP \X5`S'|gO]o`06ю B;@P0H}m*5aсL/ػ@Xg`RPAd"`xx=bԙ r4zqH80ڑ.,cjEo"~Y<_Lt<"{<.Ouy4WCWu|Ԏdkf^N ;)`@%2$uFJn[z% ښ#pIli?qhB\.(a&X+Ettݖ;d 7aݻX^I_\+BMDuK-jyb㦶vֈCy|6_@d_ѧ %yM̖W~MDs&&BBsA~&E$//u+Zu5QSSօAP D *(=w>9  4TWG>4Er"_D`k7!.)d1vMΘ5aӟLUV~XXHc\5Kney։Bhv~^*P?Eߢxq6M xĉy `X4H `oh5}R lEtQ#E\@ri ٍyfS@ 3&% @`qZ׆iY pBn5eR G* ْDD1 IMWL&q ^o?C:pOϿ^';mwu'Բ*&CSx:;m.9:~G}i*<1~3G @mQP8htJiBsD֧A\wW2V` 䇻5RLR29pjYڤ|& QXj/V=CF)]T7prV)5>P/$n24lDOggS*o ͓"   tv)JHď~|ѫ+p‚;߸$tD0@4<|yb힥J=fSަ&y @BR0 z-Ζ5}D@Qդ%`k`*Fۉi8VK5L5\ӟS3-&=(WRz^ ^14ӀA)u:B:A%T&.(iKf8+*֜lWlsٍZ^\WJӀRۏY_J_9,֢0ЂU,8t)/GJG1IɧRGFf6LGh!ز>?by> eawq@L5^ 1z KkC_H!bUl," P0NcLQ3/oZx*RbOTaqhf,"teI!Fǝ#ɞK۵nĽv?NZ6~vZsW+u](4_C'kcMH;F$.'@QABRO"4"%Џ*I3^HDG`'/R L`RX]M۝\<9:)W;Y pF TB9f]D* 7l,W8Uz ~ȴ}v4 !Hq7+6E1KėĻx(ׁ]f8y?j҃>y!:׳[)EcpEiե. %'NeS)oB,h`? ~ @<5{~zqz$\^AVgzoÑ5SLu").xdQm#q#9 Pc~GTScf1#.` J7zQ#Xl5oHcǦjtS&FMӿ@J;h )Pprk(B&ontZ_0& aބE{F GmYicH(d3ȱ5x. ^`{A%@tp+l6rٳpш??zY?}C%4KWxal.cobmU~G:tV_g]nT.[^X3 &hZ \?B.;1W1OG^ƒ-?`/;vN j@)F R8 l+e`. zSj8ay$K ,'B ~݄JL:߁K$Iw.L\Q pLIckjnG\WsSL:B<;V{-) yX-ZV#;v&继Qw~w+kEĨĞA'6 b3f%KfKdrI L> V 94ު1G$b\tm7 ] }"7)̈dpX)\#}*2os`,6vԾB LH jZ7SJ{ mmy)U> ,&N, 5/tŶ]7a-]d {Cj\?{dA֊фkgyU M pb!6/ W] jZsUfޯ@Z!3s,rAO=JZ9ɞ,%u2YʃƳꩰ柙1M3Aޖ5r+wG1/Xl{,TQ m=n+m2[@a͠Rbg/S2 2>r`P@Ck_L!TB+t2@0<"܁^'n`_xkg2k)2W\,@ .SCPbX^=m{*#8WU}R +mIG-..DkeNo-+C3V[I Hxl3E,]8r#򀹡9y@ tUh81Mа^M!aL"$bCS:r=+BחANwyĔMR`}EB$ڳJkw0e hN +EFjҭ! GAaJ j5sۍ.p(!Xfct̄VHA)TІKo1!zu ֐f߯TJ^GMW(B#(CAJ,R@) ]̯8RԢ a ~w3-6e&GfO@"*#^7Yɾ/n^.ei[cG~:?w?e]cFaVChe?MA=ƪ*DcjG % 8Š Gx} A)ORJ!TigOBl $$i(F*k݈! \En~ڝo6YRƪ*oic=f=j˨P֊%8l[ɶifޥ{ڔCn;ku]S0x&ug1JA Hk4Gck8g31bj=Î'_"VrH#f XἊDTȃ-7O4>PB@OggS*o ni  t3a"cz>oj7½g. ryynyͼ%AECR)Paa+Nq]}\ z=}H9/v(w_#Ƽ&3Ux^ _>|t[CQΞ%aC-0z!.$`!XAزRIQCxj+15nqEaX`@ b:%&~{ wPj';cby'1(1c_iH̓rlMZNHCѴd$fI'}_C̫d?|=$᭖(id1>wUz5Bu܁p4n!BacS_7XA e<DdSpO8/{GQchZ0gB "Ӂ`D Zvb VuaKiVJ{ HVWė|{J@t, Q9~ݵ,g2yoZT>yvi5P˻x*/rKũ Y[ATͯu i:V}Qg70˷pvC7JW#YفuaB@}0i3io% c&!ii'wZ*%WiB8q-#,?4F)L WJ @ y#&XO$ @M 9!iQJ_\-q֐"Ys{B=E{} ՔGF/r{cGiQ'HkDkQi{/uTv|y@jt2~fp5 @Xk V 6S<$B8&|"fN{!pS5H>Hc!*+,%@s RU0p #D7&4?_ XEֲB.@Ho'0X+Pp-82PIHD0 #5%X@At ,zx"iF.z IN( O[k^jsthu.D ӘEz9b"I^ԳGִuV[U,$]xdl8N]jS! HیaDBuj.PN[M JĺS`RCڝc ٍ4iKsLh@b UΈ`-I`26%@`1֎pFpe,g-@٫ػҊTB%,3>y9v"o+cnۻE5xJ؅gֲ)h=Մ l~h|)SI2*" I2j"dSek!Wצ:[: {'mO,Xc4Ũ0@pqYɁ{4f22gdma¹m@8fh@@,Y!JrW(M`;'XRR;@+Íztm&M`¨Vs%VRI0Q!.?$^]T Yϖja! 12dUl|l3zOPtkN4a5ꎚ6UNI-ۿ~FF|;N{a<'x K08x(*4)}g]\.daymOö2-?wY޿?5ۼIZ&_aU=I&JA[/ђf (OVz$Z3Jut@]ijr(@ܦ,_+(3͈)Gк %#@)$ WPPhGZy 4s6a9鲯 hx:+ɚ{&Ȗ@0ڱ,UzZ٥_oV"(3tgyyEhŷkYn{o^QKhAL+y]y&WV. `m #f 31A8$V$:P m@oi0@D22Jx[m1HYy3L]b R/U=c<[J/U[܆~)--n sy"C~z|¸9-^ tHaiw ҃h<=^#Odv϶(DؚOZV#^mvMٝl2*Eغ>s2GIXwG-hiJ:Y8!ZM OHvf( -.#UpjQ40 \nڄzF1*r$C:@?y 9㚗ޟ_Rds%O:+[y$ yዖ+F&̶J0oYﴢKYcB [Ѝv}c{#apۨPf^|/O=I,-VT ~eYjFrCG醆;;Ehd(y㾮0߅d>>sK%cknI}8tp3 5`om0.R$$-(ĵ`S9SdU gX7RH"RD>ztSr,;PrG C\"CtBMɣ +k{yUzyAgBIIE^ Z|m9o{~u#㖺 P6*ջ C4s89D!D@G XVfhxf xo䥏o!?:m鳾^`klF'ւ  žൣCGp340+@MЖq!tCآH;rkEы\Q}=b FwHh!^ztZx2f%*asxPɒ(p[hMtq4߂Nj;N-[V<sٵ= E]њmg /ݴylXcrC[T %ں0p6xp,a~-đalo b@|%U0[ )0P :R,<*H"R&Ch\X.RBH!z!#ce&b&8jfŸ/Mˁs!l.ڨy_v4L5(\Upk~U(^۷;jhEKe6Ft԰1oCžәRxA  !&"Ĩ/%0Ju4 !4Ф  @[T <@FU +c ` @W/l^ '^z5%Dڱ_k_bChP&S "N~:i7|(|C\Ӝd1G}PW&D;qѦh7l6whو@Y;)פ4TXIPt dåw:)Z @?٧^MV@H%_)}X$$@@@1fbY]>30BP ` @+ZfISHUWrřbx(td*M>~OwW-J5ɒ׶8]+]5~.5Qa< VgZk$0bҗ!!/&ď53I\JNj3""S 0t#P@i[C5A /)Nl_ֽ7ȪaSD o@UUe%rO[צF@UQ<+OggS&*o 34y0l6AO[t)}zwYA7;Z4Z2B5fkrj p zI S#P侻%NFJhBTN3 r'p #D bvGP$f3wH A>|"v=*e]jɪYQZ@%1YsXu?9iـP6Ր?g R> {Ӥ1*:TsqEp66zJ="{ p ͯ Z0 b6!CЉ(`  @ Y[,uu48!pقJA r(h ;;S2| l Oa7z/ <2^Q| n$xT.,o9 EB:doMiV!uowo\^6x^}s[. @P _YH1R-/%c4窃;vл8"QxlH4y/}AC~[˯$bsY- f18D  N0"׈V3 ;FenxJ 46,x\@t) KJo#Vva}.8=Qv4d,WH$Wy*չ7znV'pF;4& o . .iw5$fC!0v)##+ ֣RlNRa#6 "rָoWAD("i`:%`68F"@|/^ } "-ց, S犾+^fQk֋2OGCHButs_?"&FՌ(j]}%r}>XَhuG,WyFsSg2l+R5-H'ՄxR7 x@8'F܎YHx hsbr ntw#-4sۊ9*Ҭy*׀ǀ&D2o,WX Ah}tF!' @0Pc&[f*0Le[,F i ~S Dpʌ̅sEʃ"o\}=C|5ݳ\6#|O!QzQKRujFfe W:MDX;&#3H8D"&rCsЛA;:"KF)!!]@U`08'PK?[=/` D9+Hg˻d6@qcL͠iSV"2BQΑc\JHWWeȎ?"k\/\T@eEL9c^ a6W{CGq 3+qh/ eUDAP.2 8w7`O2~Bzg t8 ffx kck4G@@)U{I0PhQWdOggSP*o, ^qԇo /52V3I]/yr< -pCNwSS #d{2+5bm~p.ݽVvq lt͂mu9yD vЅ ]t-.߸$kuX^GhЭ+ij#uĿ8hjdPp0arbXB,r#đd0~&k0`*WT@h  op֒qߦE^+&!Y zzyIFDC@pJ*vnnyv5K @'axUϼ6gH.A@2qD;J7}[U"@~[0_#i~W ׏1y[atȁS0P4+Vy Xv6! J@CEUͮ,RauRb1׼!ـntl5)RN{@]aa]d[/ЈisM F{ qL<{ӘHna¡ \f-f9Yb̺< ps'ؼ к>;g )aC!X#|P} F=1]N4^5b~sVt{'ڼP<!  ua`tPR"&ئg_uT;cq2,bX\d@_kPKRS?yq< ZVJݾ{(+}95-/kfiCv[? N Ћ:"%C8mIj)%&E{nQ"Ri & })i$Nc z ޮ2mwsvI8+/qC'j l]QlD P^F J7^'+Lu0A*n_*d4xY?|jXY_Qc)NQчapi*GdCk[$߇S'1=erS;?/e=Tx-d =$~>M)|#b$A-=:.Eߥ\-`Sp;na"dn+{twe< ctMvgLgR|>}mXQ|LZjt$ @`sХoc/g?i.O%E|N+EiUcHVխep2|)GZz)4;F_%ԥ)]7#Q_=<4D ;n?>t Q .K vw!ezƼ{ ]rd?q)=*6wjI_}[_]npfa'~ I{g#x{JftMZ\7zGpşfG)%AߕfQZ IM>/3bp[Z4f¯CuQ)$OggSmrvorbisDwOggSmʩ Rvorbis Xiphophorus libVorbis I 20001031Sonic Foundry OggVorbis Beta 3vorbis BCVum`>YGFut:m[},>໮6u]Suu`ۮi.زe[|`m˾-ʀmh>UMW+ilYve@[v]׵>'z>袥YgI55M\=O[VU}]ul5Uϵ}lMDgI60-ɑ4UhY@6=Me ˮ ulaˮ=tӳ,3u`zdi&eyjz|Ȳ}tWv]Ձ)jz>Ye`Y횞i횦+>:]׶m>ȶ |YVMєu]U<슞g늢|`˲l]6[Om]@t|>@~|U`0$Q2ThjW@ׅ# +Oup:r3` J <@ o˲n쪦h׶e5=M3uVmuU͒,SWfU]U$ug6eWUE͒,OwnUveW5EQTm۶mY]~vUm %0va9v 뾰Y_u]~ݶmto˲, _]ו쪪>muM4Uں-hVe[vU4ES軲,˲s۶ˮm˲Ưp7S8b8u'q 3 Ư˶;yaeݶέo-NmvUWvei,˶붮/mۖm_8 g Ynx?pCjeig3%NvȟIm먵H&>M" W3tp-|wxeĩ2J)R,( Djn\Nb lkI߬l)ʖllIr,Vo1azʆ_f^jrJuqsFGp.jîlhK sf'E"k^9?҇[7Y F x"#Ql;y!$[>l ;a7Uzchę3h YXlaݮ=Ķ?üN5G{@6\c1V>oYCJEܫQ ^}Ȓ]DӞT|bsʴ~X3I'镳wXr(s=:BsYޫ |ǤdQzQط"?yZ%a֔[g@34FҪ}{}[gOH9yI8X]0ȷ9]~~ŗػun4Kq!=P*)d&t`^qlӉ@u1M康r$hvm{ A/`ʏ' W׻ʄI.7?(b %dbVcKS/w:ßdNL>LJFԗ#E}-<[BY+T\ FQ% M ua9)ƿ]l[sl~ <~}7 owZjV}*ق`'q?Y^a~kYLJ#\ܬ) 7c8fM/3_Akc>_JF,[ZoG*`fϒ КO@aA5qlw9SxAÃᙁzCh#R&8H|U~~ !${SwD^/Kl(d2' QV BDS `vf&vtA*T+6tN>e["(6|/8l09Ϯ{\u)^ }"L:Xelˬ<0}tٚj7yX*+< T&hja"7>]EtW?j,AxvdǍ5"i!eؘ!*%nZB2NWyOq ,-vv!oN&ͯ R֟%0#Tt3>-AtND%ŚL7+vhy0r tE;/@NDhĞeGbgaS,~\VNg94%R!jKLE= -%%z6xTjkd-tЖWB~nzr([W m<_&9 ٲ@Q&"kvH9; -6:!нmis74u=\¹d eQeÇ/hv !{MWwCXKQQ>sمcc=a`LSZJJc0 ~.eJYw۵FFe׊«ڱՇ5ZǽTM0kgSVcGpњMI2k7h~1PƔ!Κ n)62x,U6kLQun1Zz;6=Z퍺A:"XPs8s$ FArcJ@jifλKWeIŨ[b?;: `(WdolkG1fBQ[aZ֯ #^h@XF&Bi " >H93]md@3M-y}("(qL Z e eI̲g1qȐ1F^enbU ,qsM<| foo*2#J'v/\EZej3j+6@[ KճX^}@³ԔB;J"sgڍ@[j룪먳"!!l a[@G"{g')b}40A}?/LmE@)pyrs'2\'\{nPU} yP+[g>n4&cҖZO,Bj"wA PTs޻Co5TK ?,ЎQC{"cMTC{͚op+Ӄ{;zW=H@"#a];Q@l9ƠiAi8 a8$t\zV")%>VA>J0DQ0}4$n%LPVׯr/!dT3ߙUăgaǕzqeWzFPcۤag:'bJ=E 4nRѪo8ZS˱[#@qj ,V,.\ɔ!uopJ-ey(W6nջfjVMXVF d0V, il{5AL\+ 8eI` ^&&Ĭw/ l58JHb h2w V.zĝJaSm}w[!1E''FYuZF.{U>Y|M\RFZ9R(OZ?x1:7IWo\ 5{lu)ҳj,5F2җS:;C- Ve!`!m֢ۈsFix m%0LF/_a3s@$SR&Nc.o'l 3XW"kQ58~AGQ(](p yoX|@-|V^xTYzy]4-gy(iMZN/9D }56Kdt=C'% iyᆻqZ9dX 04lTK$A2,^+\d[66aު.+r]َP P>O^֐YUSl/ߛ]z/sԷ ŪPV|VH6E6OkdZ֔[|rNd9RpS#:ۓכm>#OI"p@xk?,1MnVjlxfZ" }&ÛxHڒӏHrc3@GJ޸ŭ)c*xuTġo FIՓBr[ .Wn @dqBmYc􂑃ì\( tav ("OJ~bYy[<)^^/J8"`YkT6!ᛤ $w9/ Y?4^N$ I^sAg0` "0n&Ӹpm*&dyuLd1TPiH)G$ d2;]/EB^GX"kd 4`\r qј|6Ħ٘AIn#mjiיyq>;Ѩ.= 갯m[G`i~'4-:L7ow^DkSVBs (F&ilFbXR:U٬j?Jֿ ӽR$)/:L'0҈yv.݂'[ds+t34 uZaہ%iYbB44~Ynv+'s+Q8P Z-Q+7vρ[K׳^%rk9:b0YbKhI?}%Y@qL4"!:D*eeu6h4 Jk#D. a 0"R2 n(ZnSGħYD{dmVI\}SislA۩L]3(U+wLdR ?=S*.zUXذM=yFW Y{'(̬}Wa&Q2- DKJnI}Gk۹|WɁ )H9w2Svo!䄌M,{5鞯*Vw594!D#aAi(F@:!  EP*<5|k[ sMz`!RYRUE MwTmv7"ĵr9ijl3уXn\,7` S| œk~{"b.3Euv >VԳ~ I|礸YfFg~Qu7Ju: ;|ڌ]OݐBXdJHPyo3¹C3alvy+LMOg {6C9zAVhqΧp= p&uP#/fAh. өt"|~pE31ߦ~]%[T3s ՞m.ISTRjќ^û<;vWbJ9ljlzUAaa6iz_ Y'OEh342Q[D CM)/(f7ÂFBCcJfۻ|8FD8Z4bń :H<jmG6SՔWX[쒁 I~b@1\ɦxɐ^L0G۩Y %*DTD<=Bge0Uo8Pm:VzO9J9Q: ˟&wœ4ngjYcr'1RJAyw ,EvZ C INkˋ̤aŕB'XpұZUEڳpF-jRFu QQb\b)6 ܁RgTސ&\/S3)^{.6dq;kd?^(_>sSG)(ߩZGwS,P~[IXsձӔ.̂#4W.rֶ6Bt~Ej3O ~Ph^Wv,e5 X.TZXvLH6\("e"aH)t7d($v7bOpk}RZg۽hrٍE8(#9%1.u O"@@|7XZ2)&axb$/*>>d1eESbs%l~Pj= 38 CKLhOjnz1.h] i[%SӀ zhÜ`C-\,%h=vi魃+AەXW0v%!iWTnN[ڬ= 10skpvr==fr$6zsgX!~Zko]`ˎlڼ K[3 O:H )ˆ5 ޺q@k~C$D|F0kT#lvk3ԎV^ޅz7n0e^{:\q~T@}rEU["V3<~*.*iH,|lgZKtI@8 Y.\mK3ãz~d qlHuY7ܮJYǹv!;05=C[i]vS#ႹC/l;LY@=坒o,V_چ'h R6m86pxCAR3vtNqns .l (m 94.ՑM厙۱!ǁ*%e#g7J6Qt!_i[R`|R-4_Ckw$`Y| 1^OA_jmTܳE.\~bŠ18@2;UW(q*X>xHneB<^,Qy>Lt_IjxZ4Q" }i| 2yI wA4 Qk>`o'nfa7pnڦeS&J;pz*e@m _ۤ$FWmF8NhED9-VV[L\Ei{Y" gCJHVƜTWl{8۷$Ph}6Ҽk1f߮ݭl-M j?QXO";°H}U1N3>&LjvwQG! <_3m&[%B]lz8O&RhZe\*i1 ҰN VM^mVDF%j'>pz$dǛty*B\}5ZCn빞B4mJi`gϮOXnG| 5 [sHI6 '6Y_|~/0& 5 ճQ؀ mX[`R *C_K4~<-kÙy~9mۿɸ~y9{+'9ƻ5@ aYh`@@Xumd Efd!*܅e!M }Iz #V'>zY[}ld*KLݫxFZ:u֣ZS3h5~tQ,uQĘ%(<zrD@ "GH մɴ6 Sޒ SVndz'մ4Mt_wZ#a0(uF`R) 88 @n+JcsINv7SoH*Ry6e8f!Vpd{ >Я.dv=BMN1ٍHDľqG4]~3җ$ƙ명LCVe^s\$+8N91!`, "-<bQjN*`Ԯ"Ձ(L`|dLXZJwWT?({ %%oVpW O=E"c,4UpL~u6Jnyޱ6p't׫kyMQ~$čp$g$Y,t,>([E?mBp\*6gmao{N|OMQ k|~UI@ 4C7(ν#?<1+7tBPA@ a(a%A{̉}Y=2vmY]c4nO&MbU&sotZC~ n{6rulCpy5ñ8IAX.'*+W{#ZGǩ2Ǹ۾Vj߱)d-dsrj}$ڀ N,Щ q6IK&_%[&b*KҝtR6W$C,"5~U,<~7͈g32O Kv1`I:||]24~f<÷6od[_]25S]@ȝd+0@ .@frame = 0.040 0.000, 1 0.040, 3 0.080, 6 0.160, 3 0.200, 2 0.240, 3 0.320, 2 0.360, 7 0.400, 3 0.480, 1 0.680, -1 OggSaJvorbisDOggSaJqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS:aJŶ <:=_nLlUsC4Ok'mgӦgu >XYA>5 4)|/\C[Р1<48__Gck8DEGGʆgȴ-)nSI3攫K 2,`JLf< ]??i]㭪YM^ C++4U':[_siM`Z|Ӿ,6wTH#RCe-QeL>>5QDɵ»]afyHjS<1 C7%URdr l_:#S &z$nk :Cˎ  b/zM7q>V~I2f4 '5xo9o3y$A*WՎǃb-ԯc3 ²4ij#)moNIs, D4W%I,}sF Ivkލ&7! p?֏|)4G.gBАD57AͺKIWb18qZ)<.ApG5rDC@xʑjE"{e4p'j/頁OTСp{gJa<` ~V+v64UP*1(mc(!['WΦǥ#s?!3I%kJfͿvN[2)*ǵg%G hs/~ w K ">ng*#.]wUdzc/ŦE _@H>@Fw3ןĚ](8ưi5%n<Sh'8f?@ɩC]|NY16Goښwa*wdNmY*[J. -?m4m߈~u`$Wb&֙X}+"<"{N|0 {A}+b3bkr&|E(ί JR CGB) O%@'` @( l0dZ'Sy}ȚȊ R'9 Ҵtye!>Roq^u~@3E/eDvRĚp)ͺ@D' '+%;X'!e(488Y!?Z( _7wgi/No|(Ȗ k4zЏd<9]5ۑ$T8`(СH M !!f;c5bJ̀+9`i˓ȔI0(?ѝO8 *L_ w@ٽ)h2/"k\ #Z@N% 6 ,VZ@@7@!X[mӡLU7,jAԃdAY}g`:F) 䗫e78__@ò6=з./ o+iAg?\T-%a߈8gߛVbdw5]3·T]O6]=a[@]FhI|  *It`xdCMP@/% }5UD`Y Г1z::(lJP>]W!0nw[Ddy4+yuPQh_BI#?a4p:VKȷ\-|d2Ng%= +_>5"R]vʙNlP Ώ3M~g;kҸ7S'c79_8 P}3Nh$H zOgPdcKko,c(;AZ4ͽM #'pm4Q'(D܁6S>(sCNCN=+-n< Ƚ!Fod'RX쐌!8fMK<,x+~4*O )'a޼ qzʓ Yc!ש?Ї= UT($oIndPQ'̜f)ʈ avk@wJ(:',(H6 bߺf4v@[xXN[IL^w I9hPkg $iX_mVh/? ?gRhumps>u 8B@y,%g瀸3 T د(0 r Wh*Eq` O iaKG4!6` 3~uYAS`ijkPr>#fJ砠T*`xH7|$Am1$? Jy"؀iay#ܔ#; -GΝ6xQ е2ȵY6.oWDzПnʰy1#v3 طs@޽@WE:p8 hjkx((g:x7qS`ǟ!"o9'ة sQǤamkKX=0":+jO-eq&z37#2?j:&}ɎNDRX->/W_=]5L q3 6~ h;h)ː|2C{ +'3+uXf x8E }̡ @{Z^#!d#4QL&Rۗ-;h v-ɴh) Z-tQͩ4p=cu +zSX; <=-\:5֌6~wVy4\+zo>#?,Bp;0l$SC/"!m0}]7 &?yT(x2l⹄w?Q$Bͽ@꿵)B>c/㄀]l6@wa~p:K$Z,!=x9tb7nGcQ6Hrp ¢3 ;9ǀo<_uPɽ݂Afoډg.ĹN߆astFس{AT Q 8RDXqu}[x-ﶿ;WxYh5ci_?<`i21 3^%Eb-A橺*>  g;)G9 l댈(_ zy ^1A<}dM&8}M鮼r,|LJ"&p^9y)TaԾoM9^{H_q  zc#@ {]7x#@Ӕ{m?['PbܽxoM/ua2L,^VpxZZQ+'9K h?} N_dԩxڈCi4r̓XO9Vga@uHq:Z"W1:Ъt6.:z4M3i%4!{tKXL6k Z5Q@:4|UT]m (,7_4L/OggSuwaJ(  ../.+99<;0/1.lۗí w[em/ܘ~5_qG<mc }Mh[?v"uXc=QQRjg[9gAFW=E^2& .s_!vΨzR C65Cyϱ:nT_bYZ^f|gzy*q$#ޠ6sKDnPJJ 0 u-AA/W3̌ʹ'+bw{E9Pyg ͧǕ_,JrC*c˱ 8W{Zi%3OvizYyMkRfQi/<1t%&EQx;0$<-ZNքn@L \&ĸy > jzszV]<{,:Ryj XOeZ6.i?[ff0ޜa2 Y"8|ˏwIDlݬӲ! es,|hրNdei5j \8@XqJmou+<@%w~)= k*J^Fpv||{]:.vN 0#P ropݙ{>U=Ó޵AhH*ƽaUpǩ'E@ǂ}CvVL*pt,cHلeL6o ˇ]/6/q -ܓ ĝ_jc2n\}X=/&&ER:N!aYIRoeUlX[OVqX6Gt0qݳ:v\Cic9bM3sF@|>%jg<.g|Jw BwW6|<]pAdפL%Z܉02 r|yvkJltSe4G[ *d[GIXXQ_rڏxs>X,j]('" 9zYʽ$8ZPߒ&JF|Y`/fCtRXTo* =?M#nMxրV0l HL.a{մ7A{[dtp"K4<WE~( 󩼃 /k%[$^o׀~'aj|YT'ZL2ES_c au wuZ,^|V4*>̚~pF(ұD\,}귺h^"_1 T-޺ŚEQ ڦ? {#H{ɺ W7ɽ/-v]lOk먣)ڥ#vZ%]_Za<80 `$yaz@Xi}=̿R1? rx6M*\.8b92R/f"kގK7mӼmmxQZlO=J WcJ/NKkum \ i7n(A;a?2ubMg䁣!l}Qɚf ̒NIu yr̛TҎoa=MY,h@^3 }n]_::u$I] Ͽ(I.>Â07m=IUz+%?r[+9taH@Iym %X#uS)sOx,LIl:'Dٽޢݸk} I^ア8n+V̢Z˅jz"2^4v>ݑc"hvOP*=?F=^y߰u>:>%+`*j\d,P DC)ȡ^=W;.FUQSDƺwg1Q@΃$D(n랂l(e܅or'=)V]ic|c+Đ@ VgBJ9J02{r(j,ucU+b@?p#FAv"Qd|Ѹrn#5nUWlA>r, 쬁\OFbנK^Nѱ z"p:HEkݎ[l[ͼA(^^2L[YѭW u$~uψD %󋬵^8^v#>嘖*}*Q%F ժ EKwA43`8I@ӝ ?Ԭﮨx'Hg{Jٌ4oervW.ƇwKf0vM"ysSL7Nqc94_3ⵅ3 q%if=Ϛ Z\`za9' J%+^<#!ȫP䧁% y-(.M5$Hj_یtD@v%ǦoM_>8o\RDR#XJRtb˅0wjxݒ?}YHeDN0rY[,3r+(Ʊ]=ȕP%χ⛤){ ,m(Z'wJT$l"0$6 ji|Jk؟5)ua7k#yABLlk92]"-єgޣs_+=Cv>l? (u N%S H,:(]I@wfTCǸ['($)o1ѕ,mٞ"r=9>^P.ϾyA[jAO5׉Lj><J Z`|9\zC w{ HY.l:yowmUd@aߪ5cϓ_.?9:3{VؘfUR?wframe = 0.040 0.000, 0 0.040, 2 0.080, 3 0.120, 5 0.160, 1 0.240, 6 0.280, 4 0.320, 0 0.440, 3 0.480, 7 0.520, 3 0.560, 5 0.600, 3 0.640, 1 0.720, 2 0.760, 4 0.800, 1 0.840, 0 0.920, -1 OggS\PHvorbisDOggS\Pay1qvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS@5\Pa9#9;,-,;:,0-/,:<6  cPqE8[to7ы;7c>ۧ^^ECH$P]Vnrs_,_dnwG$%\E-70ևT*-3~>2/+<[F5 OMJ;Sr:~=sW'ѽ3]4!#ԚZ˹SF ~.yMh4 "o:݁b_%>]'}O׉au ~y [|U7Os Lzp^ $>](Vc`xB{9';+o}=w{tFHC.fAփ0~b]C@YN pW[34 ]v9MakV{s}3)HhS+ nDr_ +k )jch]Sr$@dLi;?%$իXQ;gTZ\|`>)l/&̂ 6/Eu&6t_\чˁ>Y1b,$rsX}m(ɎU.i~b .&OPq_()OCÁ~ ?pezn9TJ>Ǫ /VMO*0!75 EdBJ]#i$[~"ZT{ r~̝<5 ZcB،ۉݝ1^.WKDs0:P!;uCD6A9vؿ#|*'W=I v7Cա p%`r8<@%!Lffsw1&: bRR)YQQ)p&#`JO0|E36|S;}0bܔCtF`<K@x?s_pLNqhЭմc|#3ɓk3`ZiR+ϦU}3h5 >U*OUE|5 D_#1@Q(M끀C Q Z kWӵ}IAs]YZ[cxOV!@RON&N@,v=&qC%#[^{ ʺYq‡)LHOA'a : 쐃'/u$x> !O` 6  ^LݖCXEC5S u7>>',Jk{} F`,~>6Uv&ՏSvfxL.4=P11>QUa|UVU-bqL _IKZgB+U1Qq,*",;TXXhZ^t(9ru62v,gIz'pp`ZIG{$PR~]&WHФ;|I(rn:BIj(:*aeCc\VdVe<1O0̰?2eRޮ9c\ye!ˑ[%R.jeSd^ު@Ifk*b>)Y`[ƚR8[3\+䞶XIXnaDfuwsՓ;FgVfȚMc<"Rz 6yC'JSU#:`T<=7xOEc PG.ġ3 %`1?=˺:x}; )G114Z/gt'(I*WItm㥱)W5\M8l!,> XeO84 WSM)6yh "+M '*$^$).ќd}J: ]u26<?GΚ4iE}y`Ӿâ;Z5$;mނeT 4?j7'`7d>,nlcYpK6"ˋRvA<7{[t)^ekl xU'>##)g-^ M7 3Nϒgi2PQv;$أB@&Nw`0KֺʷtOnaiia}/w=}ZH1:}?r"fOB%՜kug"d Cow 'NR \ɏo$X|Wٯaw0M̑}?sH)k<%%WG-W(^~2\%Lk5:n{ysx)}9|b vXh,ؗn6hTN^7@Mv5>b[ >lN4dhՠ.-4Mr(&{ 'wFň7"Ѐc%D_Sjе5 _yi3.k~k\KVZ)5a?Ǒy0 .75FHNh>aݹeu0X2\~^~ .#P#ۅxB:K1LeH@%ǩOsmy;Zrҕq&26͵{i޾Z;@&v{~MS|?&$Y`.^"k~vx]uc!*B#Cw+ʕ&Mh'-r킉󐢃Su"c}6a&5~=<^O. "[G #kktby75gθJ,SJ]uAZߏty_Ҟ \  ]T# ~(j-wt0dǙE C\'@t'[v>!^WH՞ͥtA9[>OggSy\P% ;<430:;9;&L- M[>^p>H*d[IBHIVMg7=./wGƩ.smMD 6~cůZ-.'QtK[0TREl^%%SJ?YUmRDpP) \: :'}9Ii|t$gdf=MRk.G۪lۧ~ k01-Cyvj UYT̟$cṅ%iz2ѭKSgH= B$y3C%Njj6# BQOi墢$dd̜E΢̜ n8yE=I1 23yrx3$v&bf/m o]qD9&5I\Usy\oҴ2Y <ە%-Oi3w}AS $xXC!tl= )02[L!12dI2(;EQr$2# B2Of![o9SO~K_+;. d!}S۴ww8E4vܺ3D> zv\{X+>|oQoqPPuuU\owqP/cHPł\B6b;@to U@p ?xuUnK% c_vv<:$-@y'37eGh:whLtKw V;YW3tY}U+gZQj")e6,#UXC76πR-1#yAK8KH|:FLݪ!%ɜ%Q}%xIGTNrsdqJ/[fƺ51(沖0жr}r!j$qF~|m']*:}.;F*<p",Bj,J`)fϪAv=T<$ 23+=0k!0u%,H'i!r)C^~ڊX_q!@xǑgxlrTAդd%gt#l0~]n:42t,9[lz@n^6 4!Oj(Mۺ>N tv(;m]qr|ۖK6tߟ(h}\ϑ-!)vPݰKt5ZL2Z8@A]rF_nOU*ڻb*RsS/wH*~R&EH7pUhSqx[C)|*br\ N߃;f+g"7} ~̐k~$F1?$^*8o&6G t>&T& FZL?8*{uBχF˹qI4W63u~ @Qco(hVk/^`AH݂ AdM %H\#|p& sd+^\IW0fs\$VV3c"m~?Nen$}ABӜDEJE{fsٙ|_gIHt;~fyz @_eKuu@>5lZ &kAjH]o:r@ N*)̓x'N̬Ǿ; HUvs^_^>]yT‚K޽޻~.8rdL](ͦV//^L/E\ qχʇ:e_3 Fv`,ln E x6ptm+b-|?e@/n/T }L.)XJr{ tn`WbB2T'zj}#6:KeZ!`JԔ_syZm 6/k 8MU" Ԟ`lN{ "^SxmvH Ӏ_]` 5[P  `p>2m CRa`1N> կ3!=oPU L"y[ler +l W>E(V%yc+S2~.¡(H¤ѲVjT]Tkυ|J43-`WO)Id^~J-Ԑ;e׋_M1 dG#5P42 Pq0n&vP?Szq1_\J@;(5@yM-1G+``1/G?ngL92;G27oe9m"ʿs.S`x>e+em9绺6 ?x\@,cP$Ej'}}q{MaM9F|-Ռ͉5j~x=G:'LQ̀?&ƚ5a#.!Hkn? Tp+c~ҮG -q?p1_I~u[`IɃ-ȟ9ΞPcb u2m?䄟~LOa}.EW]Whim cm4yˤ+`) 't紑ZHÇi<yv'9C.cm_g*Rob'ræ-ԁ2 =>GӖ9P (5sOc<"\ ȃt̘I)U~u,ҘhvI`ID:fݓm|^?D|m˙A͞GޡNB~L牍> h_9 / 0w1o]=>pS_ǖCԋ 8zechFyd+zB{ѵ>7}q\@B#%+-L o!U"-}PӸ5Rto"^Q?l* r`ffҔSL ؙ0jޝ8!-vMOg盧?ϖΝ.=LՉi_\=o|ħݻmxb-ūlir秧8۸ւ Oi4*'nޮ#=E %jZwDrD-]>e<[NP#m5g@%JeShbAAZLJ_P@펅= #XRzR7OggS\P^ ]|Iv@b}L2d8H @iz?qBcǟeAv6!jτ}it~]d](u6(=Wfel3ap,qqv4=|j )\},ˉZ{駢9?.Eآ{–)|\﯌wo@+G"0pW"3suFJoA+)Z$wN}rS!أCU i$%OMtu]ޟ|HȅJA3۾JUk gӈ'S{`fh`sMX)j?&k.Tsn؜П%[ɵL]2m ?t^eol=O,?Q7BQf3΂E!*ǯ1;Y{FvCӜ{OmcBYr֩K&qK0,||dؾu}rG7 }P)7qJews*`ݢMBsKKNW.Zks:t 􀗾=4hs (XDwK @()?˫ {j3h!#=Y>.oU"f MB汔{wYLvNūu@Qn4vFt_UM*ܸ=zHcI/ҍMOT/]HA=`]62r:\J-lךdg>CYGM!s٨%"r{`|ule術ԉfdT<=éw@fo{9M)=arć"\y{0˝}ßUW{ZZbǔAYkJ|W<wT l#-P*|lj}@&]Is_"#U*]~a/+6{B> g-k207jS%xU%^=%E|/% _pyG+r='cߴ*|HkQDڛO}_a% {n># 3KeVi%@Nj+#+Os1= ȩ+d2 @^{lwҒ y5.S8j;PۿOǔǔ  v_7śيb$2\ɳVw@;*MEQߖ=4Ʋ >;_vv]GEP|cA}&-I_WO>ޞo/Lai@oKnfF$imU2HUvHȯUiΑ\<{l Cpˊ5rmT0e~{\$^fOĴ/ׇ\U]3wI=~Z6R6sNXѼ0;S^]fxQTp'$~5|sCn^[NġAvϣV M{{@<7}r7?qH筛Kƌr`QF]uframe = 0.040 0.000, 1 0.080, 0 0.120, 2 0.160, 7 0.200, 5 0.240, 4 0.280, 6 0.320, 0 0.400, 1 0.440, 5 0.560, 1 0.600, 0 0.680, 2 0.720, 3 0.760, 0 0.800, 1 0.840, 3 0.880, 1 1.040, 5 1.080, 2 1.160, 0 1.200, -1 OggSW/MvorbisDOggSWqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS=WS;1X;:,9::=85/,-,::;nHl?Gig@N LȍJ-NFrG7YzYbEnkٜ~:<)<Ϯ3.l |J%L9>TQpoB$vIHٽpe L3ap>]^{=ϔeձwߜ"VjHۗUSdlB{ D2wif5hV#mz/fDTȑ@ tE?';i+rJk}n':{=Z u_[{o+/:qo_ln/t:|r >(6KЭC^xKmO?1ӶyW1 1P{X ZD()}OwxR>KMxݻߊqǹ#{>^Fߢf19zICɗKwcI33׏m%4gA/Y@ ɱIA̺گmr )m_q5BۋOC7tמV⬆E|.BhmnӴcI@:ۦ^+ҫq~~%,5q*xcs>vB5P#fͤJI@>h}Ყ*u7.JӴ lSY0e5)SuL3M}'k,/7 Z&e9Wp@Y}yćzͼ?h< U{Wα#͊У Vle|aE?ѽ!wdut3AuA@0V"| gޖ kvcJ1xv /yV}\h'8U-ssy{ƔuEʯ^YЋ_G|N98CMחf-4@ 3ZݿoŬ@`:c4veFfbC'8S5 \.G\KHVQsHg8oE{Szt) KC]BSn|v5=ݏ'i# Fx`$ 44ֵ EhJ2 ٲ" #z1#%`b(n11XN7O{Վ˽?ym:!.#$X +}noar*.^t OMv@L {N7@ 0 =D7 fGRGJajaM1QDK1N;T:Ne7C0+ vbIX<_P[⳻Bt\@ĉ9^/980d&-&1%N !6X6_mͨj)*oƚ *zۼlbIhg8i |S03mī{Ptxj4clP^\5[!Yjhx92*[dx.oN0զn㙤TҔ~, p9d:c|ފڧN}mZGAG3ǷgKtHv &WФRSU^O'wg#er@]1}ƌz@ .U[f%SfEX{uUfEsҔ=ud]puG\.O*m}D@iR:K?ԯv>`HHA. ۳`olZe="jB{$vy<#x[M|=dCB'7m[rw& =IA:o C=)|!LWLzJl-#Τ)'#ݡ+XS6;z+;ѢS5V֔ϗ~Flf07T~" Soyއeb2wGZ*fT2 ;i-xSM9s(֍wƾNҼd"i)Uqk8a_ƈ*1~%~[ |S hfjDj!A@ۈqGo: 7uS{m8&o%uޮܙB\YppQdKfWIEkj v/G@T{G{~|~Is3isBwzC> RHYG'Ws;LȲ׵r= öD7[@t^r>FP~%ϱpe (d&cbZRp^}Xy7wgtvX PjqT[&,7CPjl.Wd00Vq$#xnjp>_ g(eYjk&ƮC샑,( t{B(ܬQw>䯄"Uy֪zmkۙ}C ".Мqp> |\nImfB,l: I|"IY]OEj/~E%KFzAd\ {1l&(R6{S=7͗2ՀCZBri佤j䨘 ~͆%-E7Sdb[jƵ+),-,)+,<9<;,;<<;,*+9<9<5+,+9:9vķ/iF<O$NVIPP+|_]2ح(L[@k7fG:q(#-\2G<}ݴ |Up[lsB'jصil8 j]nJEGM"ÇVƳ>­,6w!mhj3pV2ȃlѩ>&Wp=Ǎ|(Abf6- )A oިKorM+Po˶dZQj=͢ BX_k9*t+n_ȩ)b?gD'(ސ;_¼IʵB)}.w,9FPV9)k"s_? J`^gʓwd?rӘ e]=/1a:J`mR)x @ɳ>VڵZHEM2'a=Gn}'W]FkC<gnPiu|{-y}̽fԋE+vx,1^3bY±!n姩Th zODz]GJ ~*YS_GEzƕ&`(^pgK~wcor[w,ׄ6g,ݷ6>6R$}u=+S!/.KG||"{PT^[2_P%hu&w`MSJx`#Z FPy,>d 'ƿC Ny;;h֩YiܑEʝV:]-I\/V<~W'CTfq71{[ np>ĄOBdęqo}!v+{0{Wn 8N*\#h*j?f `܅oyqnVDf/`<{Ol>kow{q$;#z99A"8f<`dH38A8d9]$nnzEf\ uY2̥O vcku>~܁5F 9kζ[3[W*RCel$`hc:J:Né >rSlyNhFz2sMh(Cr?e zqxr5GwwMh :lݗ<O[_cPx䱒˱"GtKuG*[A8pY5ëE@UEHɯj\TRB>,IA%0-~ʩY}ק6sOӔ@~,;f K9ހ(x{D ,/8V_oLu+j', W. +|:-] v;v ׈(>s`LIhդIIZӢyϺWi&?j)尸㰻:\oB10d:_&Μ=d7ϧð+ /T΃-a)mJ3_[4(s(垠ѱ:&Q u"sIɚ0]]ICO?Is!ͼU#>No{F. =9[FߧMS ':d  we^~9x̻sݢ|Y 廵np fמAziu2{< ^z4 nYy0 t$l@-*ymxo7 _M vS\Mx&>m6ʴ2)0ޟ $*W|P >t6@ÙzOkgY/Sd^/j:j{>\KM 0Ws0`C6p#f{J?_U$9b㡷 9ЀGQ ))ҧ/O /Fre}x`|܃722^%_c/M>IKgJT]'-WNW#WINk92T=gDkJlst .wD#hZ=#!ĸ+ 4 @lvuwy? >@*˿OlT{w46։&ꐄv4d+n-oܠ.M?S-YtW2=d92ź[feD"I6>쮺ITO$唍{c%'s6 lк:7( ysuU`ʇ9e;z"qZ%u6Adʓz?'͋(ÅֆcL~>vn}eZ/ow)鄉\nm8}Lt䖺Kz mkv:*nLV)j3 o{s&tfR|si2G4WHs:ropβMMZe^f0쵲,=@QhX  >Q phEGi k) tly1qzz)4E@$#{䂬a!%St&\ǂkvZ,CcTV}:TE14~kn ib2|F^WVD.LT%~(Nl(H1c"k١Kz0q{o [EdYYIWix;a--흇Rb ^z/=OVH築PMÑPK$րCqFD;8SaՏS(0$PJR:~wjx6Q8OÈRaXʅxJ9r=E7/&A)^uh+Xc5LY*Hgzn>lky[X7Jk(,LH8*p#X閹PSsX|я᳗{|R_su}s~\gO亗 CƐ_Sfι:&9!&ξKFҪm iqB^xq V58Nٿhf;Y#4D冬/:Lϡ4z9N=vkVFc=ͺi?Ey2^|%ەRx<^$U9CIX-7&?AgQG_7zK;σ-mw#ߜmRD.,|sXzÖq."W'Lnv%~쎹Je"8{f,`*A,֯o񴵾թozM;Z:\13ȉݜԽRÎ:NX5A>ɊW#{m H]I yz0T>g*xY8 9j$@4{j)i %~s18_+: ɲ4V1%# \91o四ϙsUXA%NeL?)Ɓ~5쾡JL yui:1I {א"yxo^﷎ײ5ӿ0]BĻmh %"A l Tke]LΚu/뿟̐ޣ%L áafDG?c݈ފo7x 5R? d_.Œ/:\b%Ts"ȅYp'gh1.4!q*/ʋ} ~GKšݴ =Jl y"YJ3Q1UCoèэJC&yv822CiX}>Ƴ.寋)[W!6)7qCߎy|dƲI!WkY$_SK_x?4Qq1bNaԠ1bC66%c8lV¤3c).[f1 >7^.Id~NKPzA# p?A )lУB~{dV;O*2G%rrGr tG~u}qs ޥ.K+Fw\#L&啉P#~ҙtBh7a{0^Q'A hD o?v@d(8w,d%[@.DRl^mB` -)INfoU~vL=AhM:>7^-y%BW1N]5τv2( gmd8XߵnN/6e;3Eǿ;55Eupwެ SeBoGZ5cG+?\(x0JxRsڌŸ\egI;7I~y+.E%B=jȲsk{()j 0kQۃP>88IǓ//;ց@&;OggSWMW.&Ic$_wj z8,hmy;H-&y j ^O'oN ;c!y1⊸!xZ^xtq 񠿵<ϓ  0QdE`Mtj"E;8g6,)T}M5e^h*g-h+/94c@Вft$1B~|{TCb_;r;`@uJ-< _$VJ5R}sD5[ ;V4^׽ۆ0 >%.[ UxxKe>~a } `³gQd ;޵슶D69iUvH{र,.RݶcM 7mXu{BU  s߉.Q o`h-n֍&Zl}Bfpuug¿ &hv;AfՆϛ6=ߠy`}N唭a>%|+#Kwi)ξ/ow0-|iYTJFn>F}F[he}6One>Y5Ãze{q0{(cEl /=Dr%T> T'*궾L Nu\Q(~J "#βu܌uK} f 'r8@]lYO;~/WΩ^@^%0@zY%_n;doRbxxpNbA#i( P]׷D̙ޑ k[.Zuu"Ń#'SJF X_=\ՎC 2''kɫhO=6_Ű=/;*ۘ8$.&!؟?d}V͊ Ø&Tw/bkJq}gȆ>_(m= I OJT:?ɑ]@0.# NJ<&Cz\$l)Gc.`^&|/]`wBә. y݈Xlw%l5@GKvwI-tM2_Pœ`pM҇s,oԖ$ ҏڃhhYn{p}3>SP ~5|Z `TNjG9{$oS凸_I$O7-^Iղ=n(_frame = 0.040 0.000, 0 0.040, 1 0.120, 0 0.200, 4 0.280, 7 0.320, 1 0.360, 0 0.440, 2 0.480, 4 0.520, 3 0.560, 0 0.680, 3 0.720, 1 0.760, 3 0.880, 1 0.960, 2 1.080, 1 1.120, 0 1.200, -1 OggS^p>]vorbisDOggS^6qvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS@<^&b"9799;+),,=<./==;;:<=<_`DN |8v͇.~;P[hj)jZbf6\/[e{6ys+5b}XRl4"Nb2(E_ /|߭8)N3L9aS/);=H˓ـYYoxvüKZ zq\s\3OO@No^ɢ'?\glhXg.LnW^ڞs Uy~b"%7+^9&H/˴Oy^D~:x{A)x|9ȃ;2o#:.BfH>z#EAS;/o5,RP} c߁1>2 ¯x+Kw5 u} =xorfTbC5`!Llne;]/7B P;;˲yi{2F˙9&>>hqfv߆sӫ/̞q{+mη#aZ7~ 'XߒGOꇈXؿ%Bt }!bƧ ~,!]b.M&nܿtggu~ xQPуX_1/T-o%{]s'ChTϳr6$72H/ݧQO/VcsdAoSιgÿ~Omov+O3ari5yJ`eؚ< ^>ud0:-X&`Gx$("R.:>3u5ፔE>+0ߧ4bKC+ ].@z7)oTW,&%'֗GתY?L,nrBmoEp~WMxGQsj6_'54]F C2`{6'"&9B͝S;MͿ>ߒJ`_^! ~|moGF̔ux,{f?Ș?Αw ڣ[99p5ݪ^AhryGx dTա 5wF#РyZ)8y$^0*kӟy9bB԰/3~"X{meoR8z%6sxKq+y&=ѡj$j8L/|ѱwRޓ" C8@8+(Z!nj|WuKhq[hz^iƂ/pw.;}^ VW\eôN._ݣHx# SmLX-lNza58ӭĸU|>rٔ]5>%/`sY9U :*Hɲ$ЪoQE{¾gy薡v{ӃqJI{hX^8ςi=Cr:To!/{Cy;A~l~LڏC2 NaUWpRd mG,5d{J]JӘGCQB-֗܊D,LX̚WV%$gPQV?1)1-'zU?V~>R߶E{$SnϞX3Yovq;K_w祍縣v$e;Pj L"R P\-Jn3_GgZ_{EQӃ#<_W|Bo_:;Ͽsᅧ->h r- $Xk'1 ֱ^D'%P 7n~~6% ksM\Yr 5=tWqJGUƉ.lڤv%ܰ,1hL{jDW5܎ڿ` ~tF~]! @+@ԐaەQ͹߉\k3w_'CH*}$?.}M?cOaOB^\Pit嶮h>yw1ESѩln&)%mGq+Z.vG/xM]4VOzyE k3NyHLm?H,: j^)ҚJӝs_B5B_6 $6=fJ6 .^HB{u |&P'<{b0M ZmUz! mZQ1=d0vJH!v `Oh.= 1ȪB6a>Uy̍b%FIŽiaǝi,F5=ȦuI+B]`|zAUL/\W7w.>v<jHx}/X~.Ԅ-V c[$jH >& I7լz|BEkA) @]<"0T0;!= Sp ,/K;v@vΆvҡ|2b@d7#˖d_u3U|M.nzvZ\9( _HU9iˤa[6k?|Im_&]7ox \d /'>̀_@hOE0x`v, p?owO77u0TXTZkvfZOqRTtsʼnu45-X5u,r'e04籉gMSK)>%j(Do0C[ z8M7LRQ_4ӧgQR) ^KKO^:y_$I!Kb>puXv[zH5byVJd tfz0d^_)>%;h޾F?ͪõ?Gq.&Kj'JW] ?@tCD Z~7.vlKn=36Ӹ߸W3Ib NWmݮ[6/|E󻺻Ⱦde$KJ<'hr|U`]WNR{m[r߼65a[.im=OggS@{^&.,,-++;9999*+-,9;9<+:9~FH'jUKaX/F`P}M3)EJܕV~=@K|utTY۰ajHMXhrSZGIs8{ai=s]c+)l+H饪IFIc%-\[[CR[%R4lq9sd]F"HFƚWQ-!uftX|&闗\ې= N#dhiURS[>%#,dð$=@ZFswdr0Nmݟŝ،ʨ]UKˢh6S/ G(7偆"S!l8F{t9ePԝOhڵ@~Zuپ.soy~tCN~w)b3WJyt OyP('"Ԑ5T-#,c~t]8o9V(ZcI> */ Rf=V%?gs|X 'H&<DIV7 O[bS C\N+BiqGƑ^6ۙ(ӤցA`V//][4ĭ6#WUl9=&܀(`r,cܓ!hMC.|r7&8@JdXp-T1DC kvaq9B?e~'so="+ߪ. Wf*p2ٛ1 (tw).u': (~OEx]b(u@J$QOA[k1ċ'kBt_4½#_&C>z]( `+(p4tLq7*}rh9NL_UDTQOCx;ϔ k Gy`h l^D&{cΈYJj"\n^.0uڵa lC3d~TG#)oTB9utǖ)<e?q;|ެEK= {]Xgfک3~jHdTϙZu?SzD94eBRRJY'm{ڶ?E2Qgax ԁo`Ǒ9c}~-SSηCv౒d-J}^OgAL@g_i}>,^gIΧe]?gOG#&eˀta-<;VaJa@ à[@p9PA9L@ iSD"wIxPpn.磏Z랟LdB sN +/j,ci /6^x+c_:FPt@2HpqCoP7 J7v'E ӧUnzʐeRnPyɴNEVP!Px؁ ns#VGabz OO uןwbN<1~'mh@%'-֋N@ @v 6kK aV!VM86rBu@J]/,Z^u$@s? Jj๭by@D@<*Rz_18-BM?8_r婛0I/ʼT2880K_A|,i>³:9|ʏ +Y>VHs7?KlpIp6p xq; HKxc|:9խ/**]ڂx9s^lQ,̖/zIyAIe6a64cfb}mG'qpN}n<3W[͸9Gw7I/#S =ʞ J\tgrErlzdQ]y͕idBLļmNڽ5ʯ~}J +zr]ݹ'3ek/Bt_l|nL8n46iħ=˨=ab6>%,/_XT]f݃OPpI@hIIS@{s: J x@\wINY$7uմXƧat 0y,:s`ۄ1~W<ꦭ7}g:h6MJI8$e7tnK6ǿ=O] ,&²9!;"("a[ xmMդH!`e+뀊Q =}8#@ _/aD*ynj\c&`+*LZp;%  Qy󋛹3ߔ^._bЊ?^K7%;4T ǝ$]qXx|̸Λ/kk~wsN58RX!HhIɋ;H0 tN <'R$Iuj[v)mV1n~˒$krjѾK27H./]9S-:"L@Mmͥ~#%͕ry˃BeWܮ[z٩q<>w$Q8 8_ZVtV{p'N~n[o{hW5&uz_͝>P.u7iX<(`MJ%W~V'[J?(n79׽1ͦAV+N #D,ӃET1/e:yzA~؟=HcT2U8Tܶ$.ɓyoe{\.kWԢ 2ccD׹؏r+ k~ {mN\\>2n\/vXrpR:7s G.|˪2{%lI=eQT G%1I5N'ܬ/ dBڗ; 1:+׏B`"{q{+˓_`?'Sf =VL9&=V:lUg 0iBq1[(PhlfL6I{&KMK! k.*C!4y?~um{hRD,l3S^zv}!R_1Hvt:|Ȃm#5 /WaY@`[7 A$|7sw 2nJk$-O"e/;#G-ҐC'gޭn4*}ɲۓaK\wlP;lKU>xA3>^Zfswϙd@,uCW!?#|lrur~|X˝"urAeYxͣڡ ׵ UYC1xȓnU 6'[U^MFse5yzuM)uKw{OggS^ /8;z%a>x7. @ 5l@XRΔlL-,w[SHp4Q26|}/@_9R)( (%6 yLalo!=SalØ!]-Pl*VsYC>=`9=:e@|6,V_FdMO&_qQDUv,NUi së`B)a^yi-v޹9uZ8tR x`D)Ɨ<_ >InIՓO=bc7 ;Oy@ dOuF ">?NVGh,y, *H4x kݨà־Olյq9쳏'Bn.P+l*HL,/lypD#vs(bhVν= 1,A("jp@jw(8SmqF%`J?,fXr wrńhFd5'WIFa<䅄po ¤j$T:n3Af?>@p,Ǐዣfa}/=:Y\UcӇRϞyrہ _3rzvm8E}Bܲ6z 25:5iM'.=~l$"(Z۪]C/Ot|Bope)W-ދ:iry7&a6RN-#[pVLCrm=7b Œ&i⒣WO9>Bh |-b \Z)Pִ6:Rp7A1oX5 ΕN2ΊOL߯Am6;EF<1 %?dz6~x}{ҠǶGЛ塚kK'`DYU),ǔJc2C6U(w j wf4ت raP-l«HE^4H"zQSz l/o2q#cX{u  A^zV_s%LB%IGge, ]u|$5=¶_Z`fjdw |f:{tϡl^P<(7 N3d;Wll>L*˓)̅/!8$0vVKeXh"+fDg({2"_aR~W=QS{20P֝h8S|GXثz5!=]X9A5w%4#4HW|JjA.xأ|=xOoC7%q۲+I€iN .M2\}WW\kڱk<:vtwM}[2XTĶt[>e\Dޚ.5iA= KƖgm^vXyz*R.,|zi(׽e0"{ ]( Lǭ lt*)|m =(x.`ZݙSl%:"K ;m͒YbOggS^ $v"ms]ZAO-XS"R@LN=$<[I6c̀\u@a˳ *N@:Iǵ>uK|$_g*pd"U&À{Q733=rS~b=pthRIKͯ:Ҽ+朗珛\h]a ڢ+}0(I>,>W/틖yܣz"m@D8We$2 Uw|~ D%IgGY Nm8v0h ><ϣ2!|]5#{F&ʯI?Lk? $+ *;k,q"Dz Yl{|k޿_EJh̦|^bWzZ ͳMmN;,P>g`ۋ8N;=6gC3\@4N*e{\d"Sd`Sa@kMUet,ptFQl BkL!T%CO4ՆL ;搥HS01uVfgo3; ښNCs1R"zl }@W741HmAZxZƋ_^]M-rHdE^%x 7xp7=GFU&I N?V׻j1M ގTHH˸Wn@?XL\iaQZ9L^!dz<>Q5AI+Gr!ak<=T!r1b y`T8e% ?)Gڙ σiOdg.9-5%?˻~%,"Ͼ}RA;`jiIB"5IBG|hs/ tۭAo?2 ?U j|L@k5UaH8d,X܇Yl'9 %l@sEsDPbfi<S\Ƚj +Rlo̖ Q393)RC`LJ/QvAբa 8frame = 0.040 0.000, 0 0.040, 1 0.080, 3 0.120, 7 0.160, 1 0.200, 0 0.240, 1 0.280, 4 0.320, 3 0.360, 0 0.440, 1 0.480, 0 0.520, 1 0.560, 4 0.600, 1 0.720, 0 0.760, 1 0.800, 2 0.840, 3 0.880, 1 0.960, 2 1.040, 0 1.080, 3 1.120, 5 1.160, 3 1.240, 4 1.280, 0 1.440, -1 OggS~fvorbisDOggS~fƈDKqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS;~f#'+978:=;;;:;9*:89:8:}r BX}SM֯F@oc5;GYVj5TRi8(d_P=Ù}j C / k?B~Ya"0UP\~8 s*nn\{ФU;Ǯ/U[vtl+:Yxo^,%y@wPY- T*{*"tI+c8tQWn7GwT MiMz1N{v OYym!7;{;3nJ?$ u_]өk r~Q+*F~soOLnp_]a >-dA/l%o}qYy=XbQv97;n-I~ȪML0yqxѴVe>t4Z;'>jҷV&8=\EXkߧuHWɫ|7+䧮ι2暀Eïu~2\S)ntm*r]]'ݜwӴ$~e|)zDuU#y;tQC"V67h^ ~XW ~Z͎zR4IΎgdX5EN9K: "eI$ 2wo"McF1>@x{~@i{5}tPg+() Z&@LV]OW.Mٍ6"d6mD?zlƍ,܎b>Z( ѷ6"gHV~?z\6l]PmOJÉv)b:&b\lLYV<@BEfTƖki~3M}Kׂ+9 \߾;9`@d<ыl9T'7@(We9W7 6\jK' H7gK,ǒ>d 6@P}HF< '踉a1 Ҳi3f'ʹ/5\J.Ǐ:YrǑ"E8tEI|*#@ԕ1hȫaJӞg>E@`>T>}: % < >T/ BF,0 ?NۏBJ)G~jP5`z#~ uO*=Or q{eN7ΫE>-IpsLQ}x ͆:ư׀D5WLʼnygϧhyMUX҈k$__)|%yk3 -堫P=[DҲ9OxE n9h4t+cGo&7`krP2uѸ²k@Q޵W TUoՇ pѦ$y G5 ,;[.QnyF|0>'g`o/:i dMVH(zCPz\i m>1wk۔G)z٬9^v S xm UD]Z]&2 ?rM8[-4<,ЌA~PC Ԛ>@F޻Q-؋蘔Mܟs> ~;XǦx|;^}H~M\/欁(TѨ$IHzJmh;vL OepA)4~|M/+nCh"N-Ӣ~0b@je=^dhՅN+R{iB۪o|Ln36IfI &_ i>IZ?an>`1#{m/"tfpa%~M)8oG4Y{qwh/U42J9uMM V {:%=@NVHЈL@B*jGvҾg҉ԐpdG^euvڴF=6xT4%'c=4j m<;h6Yf^=ܸ(Sl9"O|pH&MNJ78]# nHﲙWS"N4_}38-j`UrF4#^%V]%<=+ߏqؐ$I,y) Rp~ 8oٴ{edĽqy8Q톱~z>sD9rm!,jU;qFb~dVsһ}UhoXZ\Oc*=?$_#6`WS[ypd*~mQ4]:PUotb{ж[A,-^{'Wy{}Wϵ*}dTA1m"VHO5#B}? ݂ 3#m .GS&nmCh \*c xeaϯ.ٓE}ꗎ ڵL$;t-lRpݩQM{O0z:BU-[f7"5_6HrKviڑtdO-n/xv:낉qMDs 1H:|]&?.q'gl'ӑH6x&oK()B .i etݛ9`XDS (Raz"<%'7xm]}L]' H)Z(GmSWP)2lrwx+:QS-> XF-tQL*ghN u>?'DC#.-xo'<0= h$v$$VAT @~uʱ1v l<=ۅl?( &ݸ'W{Y-.*tgn\rcP֚r}F3t< sp aгS/`g 3xLrj$upn:E)hy[I5 P'S"T/jFfu\(Ari8OggS|~f~a,Y L96U1?j8jjmXd-pGl&8㟙. =N`qKT%qzBL-gk6̫ q1\7Z }n}c~ b:O`1EL2l-3\O;$əp k莿?c`N{VWmHf.έLcGH]C.f00lw ]k> e{dA (^MrJב gksB<&n}׷MJIVe%6Ӑ3cv Es+Rhz.쥼06} M`톳>l1ozͿ1sNx8b%~m;Ƨ1n]~U>]aiQ k}޷`r dk|>2; +&2Vnswk)Ѐ [\xGd~+p<{k5v Ԇzctu}J{VZD%B&Eo,gWeODLJ|v :pCBc7|;#W6tKA?ks$푫D'@C=svJ,|Q}WvoBF"79f9xUbskpXQ?|L9L]Hпs>铭3m#1{ ?~+X~yCGQ?qMUvK#Qm[lt~M=?9]?S:F 0('+'}`U$Zғ- {da?sR}?oy5֓)y\=w!e?~~\Y@hXr-z4I}WJ4ƳCNAu Ue?Nrџu8zuy)6y:@A :>{ui?f]? x>޳0w^r)p# [eyoM//4Cs|T[[] |M?DbMaS]껙"KJ]N57ڪ&>'u4I8Ǜ)Zk$5iҒiT=n{s@ok\TִV,ZogQrg ݝښ=֖5Y{l}WPPR˥{Y\%/y!PMv^e lIx uv)u=$"3dJD΢$gޭ.h^_Nw(V>&+:@*<+a[sEp;H賜h0w >%쎔d~~qHo`!X@2#-(,PPOlߴjvvu&'( ȳ%ൊ_l 4Ro?0bem piaHDO[ a0uhP`Yx&ҎvuOkP%37WBKޣKHs=;ZJ,8 &-?m^QZD;X;D0g \cxDK*RԸ(Y!ilRqS"7,֙Yi^9X猃jϳ8amwoorcP FGw:,;Mc/]3LZO8uGә܌_gh/u!;I}xYPiu:}ԎB~k|22EHttY{6u= =caG箓 ]= CӸU:s-[|!h[Xh 8 r%9f;a[6zdOTQI @!)n7mn~̎B>J K&_uh7s뎕BFk`*1$'vyǂ=FNTm:,u6M!;i B)YOƦUFkQ\jv2$v6س,v7ChYi$MsӪKG|>x%Q5=6 PC$Wpk@$iҙx6:b0hȯuMDϪuNgߵʓ-[1tZd4/+~EAvɬ:o@Uz{*uC3g IJ]2[1wiѿp*p]!&(2}z)5%.-_>MIn/;3\j)f'mEbc&]&[d:WN }%]mY=%z'|pV`O;@0pDΠaOGHUnDBĄ|ʼC"c:gWs)d;#Z[ZxY&Iqw2m1A"*oIjwۭѓfmTa:n#`k9/ټhI:#iu[}#s+Ԓ(K7)H\[4wat-]H E`I`h=vlcN_C r%%2c/lHf3JRL)jfr'֏:cօ#+M2v_ӖDYNyjbbw&TA,6v3arZh*@7Bv]7$CHrc7paבQ-h}d=<GCHZ eg!dzQ0R{&~U mnde[Y7 . >$r^Q~ ۳.zf&iΕaEl\:e4zqTNp=fZIdɤʱThI 6@Gz8k}C5 8S]Ccl@qV PWwtѣToE7adf+o$Co&~R"O<*t{Gj)#ZS|8–%퀤wq*`,G1\ `qV8}d s ,HMrv]} : =;_4q] 6Oɚ G[@Ƀ8%n>gI0k9m Țg$ńô>x_9}jw *NZBVHL25Wn!4BMdCg3=my,BFbG,x7/}frϫ+Z %Si:ETƪ~wFʠXh'C/}F1_1 v 1tjxP,))5`@=;d4KxזRCd(OggS~f/m"/0..-..:9; //099<v%Vb~>pwVs&$j^@"ˁ]Eŧ?Ÿ4 /=n={+9Qn0YNB+tYN( *bL]кvº>B3k9kK?9P̃`1һ[EAP>׾Ǎl88VhX^d>3QdwQm]/lg'["6 CO3ֿ4PAe@- * 2Acα^IrЭT2/uljŝ CI)V(Xs]>1PF G :K񝟎oP|p8Ɉ@p-:M(J{@Q>&x$վ9>jsW[+)aZ HϷ#Jƿ O8Zd΃JV> ^.2`6x@@ܿ:K,ԭbWS( ?*cf@Hda{_pk5\b M/I\TQYqE->톿It\CL=Ol@xr-&6kd{\(fVjQrP5GuӁo*A px7dG`V>3"j- vU"L7`&,8z#,ɋ%e(ˈPZ)D/Hߌ :u~qݞW] |2n Ff*hViT'uZwIHK4\2O'xvaDkDsj+o&_,lMo@пl` _uX4cP LR )Յ8}A(`ʅ}Gl\ě3%# 6f M?˜z?\.rU|bU0)O]g@ܽv/ioy8.vip4֯$+92]u8nv_TusXmowzUf`ucCX,AL8~v5?+ι]?^N^[i]9%-'yTqp9G;&_MrTڇIϮIC#aDn>e:4Q03c>UUE*AƚLtCk-%T)fĊBS(jLR46ODן,|t1&ޮ躭umLOݾkDY48Igvc6畽qf]:FRHکJN*N `!5@W $휽?rx{| l5\p\&Ej6,L03 @W WbTkM"mGȊaH[n9c1]B?d²!@mڮKظZZ.]b`jiAEPXEx;bՀ!| PxfpNg*#6 gx\Z-ppruE>v K)9cYR2vu%J|`l ;O>Gcc8XQIGjhk"0y'' Q@ȭV$ FPlQTkcD{atC ub`Ԑtf+D3 s |si GChZ;4Z} 䌖>=Z1u %7wTǔo'}.oj t ~bYEsږW?^נ6: onX %28 a kg,HSw`r{V 0$Љ -,/J{h僁<'ll:^VcC&. 'C_$T_r5k}3FU4e䁮i aQ7m PaYm &TQ,~Th y%{;Sw$a]%:dFbm:N^\gKQ.Yh8ذ*:]"[U!YD]) <}0kг)e @@ jH:Nū88{=#iz{ƌT)L0cq;8)1R7`\(:&Yۭr_ ݸ!mmaQ@'gz! ,I;]ڎȌP5ڍ/GbHZv`|y[choxu {k2;b"JRkx^wHͫ5QWgZicVH~vOggS~f@+,,,9?;-.,---- ׏M!od $:8/gnCa_8o,g}b2Zy0vg'2qq5¦i[6vyİ5K AB| trDrd>Oz(U>.oۂ4]w %DL+kF,|',IW˧:Ǿ~3٣p7ewlޝPM:))vFF"&`4qE1}2OEѣ+ r~m> > #:3A4oƉ<"i)[yn33-͆w:d& (`k}ͭ4Ô?>[ ţf#S=|3$mR,>rExN>.~=þz` 4Hl$3O+d.ʩl1]o@eek}JF{rW*E=;zNߝM섌UYzl[(_F/e|hmcá?49ҒklRev*(=oNg[fL;\{I 8䒳܎SoXݐvj3##< Ef{E*ʮB+-ic{~P6C{Ch7R4u1 TY`=ș{O2R0L5wqEK膙3J˺l=Ef,w-A>2<.׆l)Y/IaqךV}ny]z8Ч1 yOw?lrN";&hܳD" avr-":|ЗVrEYwEYe k~n/MH`Lt|O_O4D`N|;֎ #SW5@MKcK"@Rޖg+=v/l9s۩!D,^Gtjh-7>L}x,ZYNOOx?:/vE&iJEnC&#KncnG`E\e 0.tBcř1yNJ{:t,OX h.hqU5[Zfag!k2uP p7=&^/Q=: C= rƄpRy["?Q;gyN޻D9h|*^^vOC< #Ǘnߓ`HҒ- )Zw[:yz`z5ܜ˾5kQO+6[Ypϕ.L;QuA%uC/L]r^nʑvSstQGF훆-U,fԶ0OaRպN?B;֤T/#K͉Z3EM_(t^?E6}(kR֋6 >% )} >lp/>$@Lh4 f%?~YB|wuXXPcxdP#K/k_-+2ک>rq\7Wiz_WeYhmh<i/\+͝oPo 7gj\;Aq| VaH Sj6-e-,dRD56?XE$%> ?z3 MBp zgngc*ں`7ޠ>^bC?GԂBڶW<b Ja)N+r>G}RB.@7-"T[;ȭ荗 AkM[fmEa%Q҄N66'g/z8 vgqڛ/"kM} [ "(Fp dZIUdu(-2i쥄ղG&gas4FN\gd{a`b-z[OYV ܖ2%G,A7*$ħ]ILn$~pN"3E܍[*\.p3A^%j43ㆾQ GOLR\)I sWV}mB ;[]zŌ<_<Ȅkt9xl>O Im⓷wp4KVwD %m:X3E@ Ռ5H/ϓcgMPIdkAQIjo ~,zOʒC Ih,&m珊os;dޮݸA3gEK-6Zys.xͿx _rM1>8~'$읹dYyQl-dٟBթe!.#ok˪#fwb6m.h)x==.nTL KQb@,J(s{yws+k,V%+w؏v3jp ,)Z\-@Tet xTzҴ`Ii=繵q_63nhlZʼ7ۮyy겻VLKٴT-r|DW*/y-C@hAh=9'oQ8b \usSղa? 3-Wa{brkzKdB2 J $JUJ];LuL~C'R}ˠ^>7OF[~_и-(ϭUptt )gܶ|~'}F Clt|ܔawa?x6]D>c, ֩w#1_q~La`;<$|\1zytҗ4wQd!神%%+D@$Ц^')]eҜ|\HzǦ-u.`/•3.87'cs2ېmMS*?ʳį =1`Z\]@QךYaG+xu,P+=[_:DuUA]/;}*ӛC J4so |T%kMm Qz{/-?D3sAqXs&V1~]؟%4lNQ(Q]y- @OggS~f';8)>*_׳cySXMaQzR/sy{~]q4@OMǮV? 袑Q\U{ᱎa&x{]0_~(X]G:dHM_frame = 0.040 0.000, 0 0.080, 1 0.120, 2 0.160, 3 0.240, 1 0.280, 0 0.360, 2 0.400, 3 0.480, 0 0.560, 1 0.600, 0 0.640, 1 0.680, 2 0.760, 1 0.840, 2 0.880, 0 0.920, 1 1.160, 2 1.200, 3 1.240, 7 1.280, 5 1.320, 3 1.360, 1 1.400, 0 1.560, -1 OggS oV_vorbisDOggS ol*qvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS; ov)&()*+*+*>;..1-/,8= ,,*+,- )}-]ް+߈Έ<_Vևo|#.Bk]X.iPNtj^3¾6?u'J]3:h4=!xĂE1Hv~;ۛG86@yXOcHM Yybw8꥚w#+. 2DQ,:xx"#y(d"k#< N_~ vfv>5n.0IIۡ(GKRSϚ+ ?T[7} n4րIA1ΟUFkP:q tκE0m=Ff\ܘW^o {kEt8t~ibޞ S:?ѸR||ζt5M-3A-Rq',{y]GS@1d ͤ!|OM2_w6_Is? k j\,jFi%but~uYāSXkPtEܟP "6 <{7;H0ZE`=$ijv#T9T3Ec}ݨUg4>:-ʃ㭣Җ 0ݠ]o7śg₳ ;DC~o'^=v@޵OˆɰNu㍩h("I3>T 26`T=۫+ڠoSu=$||6wE>lg&{YЪҷpmEl J(y_>l?h˕ Un9Y2__`kic> c~jp@0+Ɓ@GY:=3/MD6>+0s $B5 } ~ 5y1(N~ʈu N eSݼϻ}|iywq?9> >+OMth1ALcLrW";(:%~9H.xҤ0@-9&YInh~ޞίEV/r}c_he[S/ǟi )¤rΜMT>u|mYkڅuW %=C9MW,imA9H7;iYRu鲖T])ѫ^ q罳rޤ>O_U/wU0s<=;ujkgJm҂[fIZƱ<u$[wxҦR5Py&ȚI *`!+wdT$GT^}0{{2EPXdfV*ƸVEPO-#fkukk̀E䤲&B#;|3Z3Z,ʄQuch$<5I4qoگ&uȩɘffݿNoVJ5GMm//7=0c |ܤ)%- m%TGZ:wlL j_5ûUa?Q5s5#  ZncI^_,'MI ͏23z,z8&`IKR )Pa~PBNRē"Ɔ|pfڻ@m`? ɾ1]'G a M7( 0PO) h;]n Ior!`n{;ucGIˎ_hGX(9!Ȳ%{Պ3 >-s_ uP*^d]#`'X7T;(*X#,@f*` 0?ThU} 2~Ac))JyA84%.BZHld ,|O9RByM)̯=1T/  (mnRt]sPY?81_W7mfe߂괸Q%4cU6 )dBXyA`sVg~CڻCc~nGOuf;J"QS`;@3$HՌ LD @'{@ iMR\G~AXt&),l5iyYKCãiyM`zX(Dחn5`ף+O o=Cv|w׾kYęAH*m;/%_M9D{=ic=|5#0YWI-wz^ Kgj?usĴ@3p8M}3)v64=@Fh`J#Ja'_62)ݻ(6 =- / ߋN'7{˂Sf1)G`eUzć66ysZy  d dXP8BEFB1ٓC!I)C"2u;!V8eǚY͑N!6H16(^f$o;<&;  VҫL\;0_uI{mte WL (ZyS"lw@L}g,msqA7D:=6<6f{YTB7g\miF~YimLC<2V%n΃{>^H@,t (t~eW~oXqӤ3R&G?7qloZܔ1#cQ{ZNaui܈LqqmٺN4qd2ֿiNCb @sD'k\Np2ǽRu e8.cH:3j7v]Mrڡke;e$ 633ul+ޠK%t:c{P4( q8^^]%| U {?f8ږ;q!͖,n{1{Y 2+W$vte+n><T@<;a΢qBgօ$.zWU"zn{:;t3c +{g<;]%rx/_3Bt/_/;⽿-J>"{ߔ+gJ^.{nJjWNkfR^99*^ >L +ڸIד~뽻y{5lf>jܟwmC5@O~W[B4z}?Gl&)\Q8l; To/,ޤ4buѪjKYkA IgfKqN?OSXl6P`Jx"nI,Zw^f{H>~d G rf@ay#- '9 Cr,WP`f"j87WHµ?"\jolcv>.n™8.8|٥Dg#LZ1eav=ps߇H|m7P=d*IJÉ~4+q)1CM#-j} .;.ōc5QԱX 512FRZtxOj~+^m>Qdl#G͢H4.>{ psmNkaUUt*=!B̉-("IF4 W Zc2O7 K M1A1R񛊧V.]F"ѢźAwl|c^o|~C\zz5֐]6XI \}K I?2rM,ƩZڙ"+a^v%'_sB |?̻9S`% BM"-+;%)Au[bOP!̒>S=QIٶ#(,vĉݯj'0&:ޝc:x[b/iҠ: H4E:owGCA @Mg(>Bkib1U^@$;ڞOs?J@&z7ϽzBtS8SXQaPS#qcltмޛaf~[HX`{HMTS7ֶ(i9@J^}>0)ޝv\?C&8 &6Vn髺/|;_G}-[e|xM| F=vO`FN$ǟpNJ+;JiMcN,#w: 亇L.!LLj:?J,e1u NXgdi?Em4dD6[&{ uU(C (r9aO5hs_+?U1-u4,,9_:un3Ixr67q{/'flhM$uX:_/':MU׏d.]z_}[G~6jU/e{0tqRG§LZVGN6ۢ%5"Ԏn !DuvM+|"8 ;mP^ʕ(!;Xpgjdg16b_rz>5:ۦ, ~y!It%f?9y_!l4S+dQR JD³kU1w}jXk?M˘FpBu!K]I< o $ÃJqpj wp&GrAOuiM$hWh&8[76/vKqˆWM0s'ka Ćݹ"!*^#.+mIRvJɷؽ| z)>8Jĥ+pZ=:05$t =rf봽hpvq8;ʔ#&@>?IJNW@Ey$[8)ӹm]g)tP:5lqUȝVeJ?RxqX>|3l ސllXݕT ,Ե OJX{Cʟ0|pe%\ځgA;8kV^kԠSTkb&DK7ܞvkwv_(Ye@%|BЌ!P*vtɔOTF1zh_"3 FWfmwe드 1.OڒIewa$U ]}BWskC0c,/A5_"KVӔs¥M9(++:"[,ti^eʿ|& ^=KszvO ,0)t>o2dZUk\vH L:& ˍg?3Q547h aGX~oȀ~D1M˦Á ^=ѭ(|Y kOggS@ o>o/97:98>g)06wU`Ru 8?SIN05 #feMjgE +'.Vڗ?gp8<+"9&cB"ިF(=ݑ2̏?}OȱAצRDTd8?Xy)qnp^8n![sEYM&_.Gi]K28M)|Kd-ׁ_`бZԨNW$5% }"l{TMӔ Tֳ`?YJv&s4Q+ b6h-ql`*S#pef֔'ԧY6pb V;>-fŗndgrS[ejd%&,::`]%]Z"_:/; 1~ybډEj,7oR;Dx95IX'@ڤ5 3N >E7=ʴ;= ˉ;Z0q69E∉`DџbH`?1gLb`X-R/Q]}gTv ܒ@|g -d)lV..8"+\|Ү+SL{_i*xe#}$M}num֩Ċ+ |M;<'b^)@KF¨06L"$ݥ'o^NcL,LAB{WcҴ+fOՏP{'MOTv ljR)G SB$(*Y}M`m.T]xMJ) P|11v i %J_Kg]J~XO|@s1SHҞLz:RB5MZQPJc0?T@]1d`a@}(Ȉϼt;͹ Wݻ]H c-ީd#@Au6WJWdV_<ˇ#Y^@! 3+3ExU<VhnX)+i{ ޔEq*t1?=} ;gf%9Ga[} l`0LMM҄b g*) M+"wCH'z:$bssE4'56-qfz0Rb}_vD`k.e#hÀvlUgIe׃w! T{viHr"_1D@`iB}#;NkMV BYAb%n0pzB"n`AN͝bRm4V0axV,FgPEEɱ6$0/8?u>j31o@}*Sݸjlʏ'ֆ,85L}Z&:kG 2e a7z/NͯwP7$a{VfIȽt/yɮº[|GT%:ɔYӖ,6|sdOyNJ sКP\tSLjk4;U׍ꇪ=0Û}:\Iv&VV4"}h#lE02_zCkRTt\f8Db&^qtmԚ+OEf\l]XZm]R鈚b袬y eu0|Aަ G.iNYL4:[Q Z |FJΛ7ƠaБL>lu,Y9I{X쬈j8}c},󅴹߅TD!?`Z oLP@4Vñ\c~ӺU俑!`;7-JȭQkL?d>~b<I;n} UާG]ܖtQʝAiZ%|#HgAXUԦ@}A:Uec<]d%p2 w{8OK ΐAblpt>c| c6 "@4Ƚq"n9b_E4ZdI Iټ솹IkW)~*ݯeL{11^nT$c c5K`(*I f8$.AL-SXV@;e f Xy* X CZߴZ QJLL4A/,3`Įq9)8BR8ƚQeptu]j? .3|G%|(c[Mn:SEi'rNyQvV}~Ź_q(%8T`̱JC<5d8-(L4qdLS:U ?H`BQoWa2#k;JMEzoJO\F 8Z9c.8/lQ[w¾~T>Io{NY=x,ԎD9 C^|ud Uo\|чv# k-ingp=,_n<ò'gFHzVU %}8 P 7Wd 샚I&NVtM_xsFQڿ)U&!"J;31֟HZ[Z޻~ޑUIuؤPc&.{BrѭlU[] 534n ɭ@Dx2*cTRo_JWiKS2@P< 'y8@#'qa׷LsIף_gͫ2ܵ0]$Orb^Iǐ5ctaMkhk=1Qg,2XW8~Rab˃( "j9icڧj *(ן)xb2P?D BA.}dlu,PO@A?7olثq6OC\)"'v&n l̷R +arIVzGmh.yhwpU%;@\eյj Ou&^fI[ F $<,jR (u=]cPJpw pv+ asZT^ !!Գ~<\٠!$&zAGP]k-}V7MNVOfp1i"]y.z,4'Yk x&9ۢ-HD\i0϶D*Wq>_S_-nwɳeW&Ku`1A Cr5V8f!I IH_ 01P> P91kL(RpOb >Y5j-Td稗;qKо*aC"sDvitz/FLIN,+@ƴ$~y5TPÔn!ng8吿62 $3 ڮ/xf |(\~J90w| I'g~^c( &S$9X(X]4\cH!w[>iROEHۨ9S Q|^;yS:= &l֬jYbE`:*^pD窧wA%za@9=<9^/0Lp^V  צTU6;ݵ7m8=~Т49"{k-:CNÉ0\Nkjָ1 .f[rTp@Ur p`bDL0HRHIpNDZV y#vQ&v* Է1]*BJwfTdysnL */)@rUB튗yr=HL'#rJ @Hm-K=EW!;0 W h_6/ 8B]va6-hL3Fj-q2.•rJЅ>/O'%|Ϡ9Pذ'OR xJN! ;;e 'Үo`v夣62fg}-09}eF0_Vl5B_|jOѐlp |40M<%u ZC:vuڍb&xHXWn`uW]mxB^&fہ+W D-A ;fOh1,q'RX޴R#>;|(102ӡ>ܻ#L܎\ XWY~Hn<Ҧ{7iw).Ǚ#|ly@0S) ^`CS:c@DL~E[U{ǒWVˈkr$Ж;V璝#+(;^˲G!b~r#Ř`MxvakQha3Љʠ|ݥ6!n XM*ؾbpӧ^#}ͱkG&^e}Vڙu{祬)&gPdv:9yPg"p)0o0l:W><ٷ,]toö+j,R$fv'[MOӼܸN%2kn)|qs/籨a'k(2, bQ>7^.yt}}hVsl@( *l^d3ݐǽ}Th$7~>1;뢧+{!|aҊ\dc1k vsđ3LuZˬX]/*9,-{c$l"d@6LuF}>1D/S1$ݾc\;kF>v R1*HbxP|E;Uj@n$R^|c)mLxitTlbS( T+4RStge{߳Ng9I7G9eScvxpsh2r22Rg8<-.|wr2[f=}4F$~=Շrݒ' v~|t>u{)6_aoRPPB‰`ݞn_7R}7\9{7N̪3N8-@iz c[-jaa,zzDb=zb(kV&xB(+jޛ-!D2R Mķi?BUuGeO>O9Js7.PO3XA;=X,m-)bB>Ns_yǣ<ېۼw`$IWƿ-=Gߝy:<25q4+Ҽ? %=϶z eVlFb:c1+!HSilG{R㿳b8;)p 1? a4dlߞ\څF>޶ƚFgv|<%܈}rgJb>fP"iGjA'q~Yv>{t̲@am2r8N^-lp2OˢA䩠^H>I_ʙ[Nfj使5$U^uh#⫒V# je^r賴BbNn ?X-@$f` hWtŪ+};ĵM(%ÇcGLWhU5=#^8w,rҤ۞NiZX6ۑmճtZVJ Gk tՂ(Ob0)]R} i6xCόbt3S9~ wͪvM*M$WWrnu!Z辒OggSt o~.^%|ҽ0 v6:K0ScLjEg^ߛ-^^1pTE>62wq;W%&oZ1{X,PGZρSO]B}S,ʵYȶ4VsT\%sWzs}J 0 `*E%)mV4/?-dH# (5H*jC4{=ʸ@R-B"mVmvoQiL rqY]zـ\n,h/Au֛ NjΪ= 3x+C {ά=CqIN@> #WSLB_8YB4^% yLzS}ɻ20D@HG~_W]{xtԩ=gt+z|Z!-C_2,NlAc_8ϿZa )w"鍶S!r1KM+?AK{)#hW4h^$3/Ü˻L1UΰV074|ѻqqߧ[imb(F&;ŕ#G~5Ϸ5{l#jm$c iۙ^ʵ^NXcPc[^=2I([_]";9 tD{lK׶\+RujX#rŮ΃X~k[@Qframe = 0.040 0.000, 1 0.040, 3 0.120, 2 0.160, 1 0.240, 2 0.280, 4 0.320, 1 0.360, 3 0.400, 7 0.440, 2 0.480, 0 0.680, 1 0.720, 2 0.760, 4 0.800, 5 0.840, 3 0.880, 1 0.920, 0 1.000, -1 OggSv;vorbisDOggSvn>FqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS=vI,;?=;=;< Bu@ew(M5?2}mO5n O%k酓}jΛ=tl"+^=Çml+㤺0u$!?ry?OBV>'2=}~]+p GgLڎ_ޚir1+NL998ك8<>ڭ~ozA]ͿbgοT=μ?FWN]Z+ A9L!]{1O/Ȳ5wXۮ[B ,_"f )4]TY`.kHjiQn 5VypJ=?S`\ AqYL$&ᅷetJuDb,:.ب̟5:~:~$ ?J/}׿ߝ(`7WvvCH /fd'Wqa:;W+VFE 762lu)L*TKwҔҊ+tn~[93[82Ίz(-pVeY6ZM vV=X;-t$7Vد).. "d?C!or胺 cLY@Sc>b T֞N#p.);O(jK{ Y]N1JQp$ұ*`+ٳ-Н%G3VUXSMl|P LSr3)Pu+JV"kX hhU";`'N0ܫ Uwa@ȟ 3;MUhwY2R+BvC^ؗ).kFjhƑSN^Y o.`dBV dh3^L:IP‹6E^M!pk> x Ў}ӕyG 0k!:)_#}<뼾~vH"+qΙ =#N)Uo6>t?Qw'kȢ֮)J>8jv YG/V8;&;!Wgz6}d̯[#ߩD|~v=..*NS`DI}> %*ނO 4'K'ǹ)@3fe|.F @fxJΓǣJ4$,qzlH r yk5wyI|VK:l@ G(' ɓ^@A\$8zoUED!̶ |}_Np6Lpcw_^q9)Zxh=>AOQW<?xzؿ.B0eՏ$ˣYWKMMS'z`9kWj%N랭{,h_8䰕6@cGhg5CflOJFHˀ=_C!AY[eq1 EŦ<@~GVIc燓y0$vg096$=\Hf%s}qb]:]қGL7 /E0IclpҋPq.%zsw+^*""ۉ Ldːǯ28 uzkD1k]y[xq'pti^Պj+*9if<[ٕ4@K@D?(!EuBiX\ ^'-4ӱMwK ק?qV u;@ P(XHMwT .psul{GlfR%i.-ƻ쨬&-d1IP.~(tpS`.@$x'$ P $if P+LjC7J,xdjtjD "F3QjAbqldJDs@f@CHa@fpsEQty B-,ec#x< ,5IGzϬ9qڦWzDGI :3NE- EbG䝭G[ > Cr:YTgp1K:`_&cP@~:|@quևª@Ёui(܂̻7Z(fH )eP;9|y 7 U_KGR@ poz ELeo_V VYb|X Y uO`5bRh~> $:3V7;(l;>B"j̳Ya1?jn]I/t@c?o Z㇧X]ڔi]Wマ 1~4z4>4A\=['bsc+yEHuB?W'0ȇr5}0%  o`JFӎ^1pX`!>' :):w8@uV)ㅯH(g0~Bi' 5/%DK+kq B QEFɔX!Vx{1EMqc7p>EYŧ2{pn2$dQ@҈a4Z [ |'n v߫fAt=V"Ts-]m%;mDWSOggS}vIl śy'1JLE&0!lЋ\C& ܧs&2@;@؛P/&<"\MK a_#\3@}1(M^J;P%sHقu%(eu;>yM0HtFE:߆<ǀ @7|%GG{?Z-׏~?ZƏ vt#BV`'x t 6L <ɦ QʠUGy Mo%R ?*@j""^<@4ipziEON]BKow}D֘ E=-#^Ęz:܂nrhMaO Gׇ33桑K=edn>"h-~% y؁<6!1~Џ4w,Aʿ$qSoW?U?İ8{tu{jUJ IrGL%m ufӖĩuHauea8WT[3Dh_tx>͹o6!#|,,Vm8Xwh€ZP}4ǗşNo v kzu)B]G=ɡW `㝳8[G V EOGt}^+˥}w%ĿƟkpcL_ceC I Յ2HG'}ݘnq tEa}}븻wԈId8"11M_Ϩ۬V+[Ke4bcF"BՂ"g@_nlܒ )&ʉ,8BKDrYn[ޫA(a_Q, k݇?<ᲂt %6=u-*F4=85&:J)pwv'/beVQͽ]Ӵ>K޿Xxp"Q]/Yٷ{/5F{>;[[F6"bEMw8uVu`|sCy{z#i3a泏S7_pyՍpkT%%K Hgr=OE^.ݿ ,nŒ.Sk^%0JȜde*F cLPg|FdQRZЃt2V8M"ξJ as|"RҚpG%H1^%eM{2 @ӌ%'Ir)Hx͂97۪tEbsGBd5>I]\K`z[hrR , 1ń_iߛ'm#1\Xv+|Zj͵BY QdG眻zqhOOG'~ Qajd3kykH_fX݃t)l+<ϚЛ${,WU(zF~%5Xi,S `Z)b-%J~x`ea:j5|F[=^&Q şxGL{)^r!F;ڞVtQq~$۵q@GLoܶBNv>ѵ:Z2(DxFΒ/#5/?/Kʥx/Etm0!Zvq<3\y< T]6->_78Nv~%y(N99`*Q#J8 "[_\ڧ~>-gx0@>9IvmH}J~=A ɔ ˾\}bi<9KZW;%Zݯ)] m8^Z>ŕf jF&Fq6:أJ>bun%J3#DXYs`f" X @4ǟN=?c;ٺ [칼S^@uĖ\OexCŧVg]G<8i;{-v/ڎ'ٙ!qV "Y]nNAb{E1W. Ϻτ}8H=<ۏ^.Y،1,5To&uN#w& dj͵ǜ*2RV`Sl(E ]Pg ^%NJ6<ҍy$w$ U5V˽=ny|^%>$]$!p76iD=4_&J"mh!pC3ur?">{#^$ -qxẅٯqL+oPvTH- sesVBGjԮ'WEh tlL[fVJpk2ta6cWWoڞ\N0,_4>]C8R^/}-;Nr1'Nh&P/>%~lqA-f)jFTh!$ǎuՅH%)j>^iDįWXsR8k|=}/gb8yM"(c v$""^ DlЪpț/_:NKZא8?9Q?WN*4E;r>ܣjsJ湞h ;T!ďʀūlܑGnrZ'gIwk޼s8O]/< 2l0 &I2/&2u)\\V8@Sb]4W"q, !j?@!@h'.O| Jn\ RèWDb`KV!@A`L&M$\=DY<50Rq>_KS(;]Axi1c7Ew-6'Ip1Npn%@`8 dsL>/"gAunuO [Z-lg@xp;E*ӮD)e [;c!)TqW)@\= mnF :G Ʀ\ M9 $ n;CU\@5T>c3!}xspsux(-؆[pŸ۰0-7yShߦ ^zH ?wB;@lDŽp`D#M 9D=+P3_4F݄x%3TRa{J!EJڪ m 2(/{){uU rLD-o\YK }y[кϺW.3<8M?=4^톿Jk|\ p%~U`_&`< !tU=~@A1JRHvNk _K^oZHQӗo.HR=ד;$I³o:n; YZZO UsK:ut|4N@FW"Nbj~TRD\p90F=4YZmM;kæ ^lxRlBaY{5ޗ9|K7F<3:i#G-LIK2p |KNFp8wٺs^3ꛁ}P\ϏLl+ly>ϭ]s]@U``wX=#I)fبq+8.0melNҤqso ڹ}ozVe6pg}K Wby KdwNg'K-)|۔d϶&:xL&MgqF׏z!<f=!O [NV^o)<6CYS )Cur:b~D'zn[f,#>.TP~tP!Z̥~.!]5ސ leQfhe:ҏ`Y/D=r [O)͎K >%>J2Xv~d*r.2`+;~esW|rcKm_uu9x_ Uu}h_^+}5F^z'tvlM5t4;a&ˏ3咱?^WC; N̄0k]5GL\HC@(۷c2PJA9:u#W}3nW9atSC s6 uv{UyN>cb(9m [ɗg,k7}Ik.Vd? qS[z2+>vdA>q>#U]/Jhb{Wo][;Y&OX}35Rݮ pWQπC|O 4 L>G"&w#(3[Xhl:|.SM4gf&j$`&V=?t)x{(1TwAsuTDP1wáRI<KݜiG g%|ɑmUo;~3 ؐoPoa%x>(2./hiJ7LY}xi&>̌̚4A$a^݂BMA,. YcX98pn/J3v $~/z4VCQO\]F*oHPGㅍb>ՠN,WoK>VSL*֬3C猫4D:\5';A.n'n&_; &o n1: }\7lJAƼO} "ݶSormB~m j}xɑ:ܯq^|_J} frame = 0.040 0.000, 1 0.040, 5 0.080, 1 0.200, 2 0.240, 1 0.320, 3 0.360, 7 0.400, 3 0.440, 1 0.480, 0 0.560, 1 0.600, 3 0.640, 4 0.680, 3 0.760, 1 0.840, 0 1.000, -1 OggS|pNvorbisDOggS|m&CGqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS8|609=-<<;s b9XN_RN_NNz&3&O_szu~ j<1?P/-{&SE޿Jo}E]]RNX܏qyzGٯ!ݜ Yi7eHSDa765~MvLhoW2 Uw,{y+t0Dj3_фdg[?};rߠK* (087I}2U̹PӸ[քhY+o oĠmAbL׭#i<_T#iɍ]nb$'YۅYwnQfra:އvq~f,T>?IK O5Xn 0ȄtQ`ytB\ߟ4[ԔXtg_֍P$PMzMdq&HN -#[  j$8 y`7.e>  Bv 9^:L`1! ύo6{eyvG9?d9_e vLeI!xS*$Gh|uQICS^[UE[|Pp8@9)Y!/,eu Bވ2!B #'23b%rE -<|sWvVm 01#suqc`&1ފٜf'uZ =7i*76T'뛾[[ّzblek3N^r,sŒABmP3ś'^GfFNz*}сEjpA!C;Ԍ))q6w[A>S}5KSc?bXݘ p{jYSʶ`Bwss%mUy+6slS?74_01UZVRxEVV}J Ԉ DY@#4[l z8 fGS ruijC x)@ϳ\VffHfayV1 $D@wh/NYMf;D0 8GaiS?31?'sew -vak*dq; !?1)a@3dBƛ H5 _XTOom(;uZԀ' )i*Iu6l(༜\w'+xWBjȝ&y}[ 3ɹ<"kyH\c)?܉ B0Ikk0.6&o<ѥ;;Um@M?ƽfg"$~FѪ _d4*ƼSkǼ=Ռw\Mv ?{^DJ>6}LC~ &"1?zl_+ ;K?'x$ͯϮ!(`7lr4n cc|`qIdO6O2u&T٘r[]n(UYd>2Q`,XkQJZk;2mSR) Ws'+ ɒrr,qNr Kko5-[7AytA9Y%nR4pvkmVNct\ߊD'PoȖkIPK>$YZ=tEP-z @:Z+>J\'nT}UTyiC_ǍMN4A ,[G35@z-7 {3:7tBXfOWx 6JGQO.@h@IJ,ء {Zehmӭσ)fο?a'h\Lru*UU5Z~Q15łlM X҄(dݪ| Rù^'ZVT-W d ːP'{nj6.)`kVx&3[_%8=tz^?Kx^Hvz9u5lŃw(I O ;4"z` @UZ>u`qhKx?rҚ~ 8EBO\jNo5J&(oY#ʯ'9ߟoC+br9Nڵҝu,k[ b3s RfUS3oL`<'trXtCѥxGŴK>vZlN}ZQ'A2c ,iPX`@Osbb]%fjÊ|8FcVPPCB5P;Lk|~:,k=-4}h‰$~dtBzk `LEiWD^o {8`wQw:\ӮC~W? 2iP$LڅM|-EO1;^@VUR^LԄg6%qJ~ߴ\{ 0OHx,:%aU E" 1 $I:_0qU6:V|HN?omD3 <=7 m8`rRJQL7ۡ{)Z-~T(dg@'^A#9gdrN@)Q~X o?}a/ HG}^˚H8q\cMBs8[<?a1,P6% w u`80nb%r,#f~꿪A|<._[u&܌Y. Z_)$4f!>-ʫxϧWb`v+=Ncl$utÀ[!IR(%5 [J9q@ݭвg"`Rsˀ<$) ~Rmv. 2oOnf!R5\9`Cr݁lcAX_jW l xpiR˖>- A3ü*"gQ.T׻TZ&z v=+6ipqMP/[ƟikX$5OggS|| +.++*9:< ^e6D*Uڪ)%oA}`7~{HP <7yK WF侒8ι)pV*xne+Z @Yr 0j@C,`_. sye)P+VK@!H Z:&"Pc~R"O6LjoI9 b~/#B;;V\9VIvhtж͛j-{ʉ<Ya1G?pbc3s>풎=?K~Z9K4:QtpHҡ)@ioҏZi'ܫ=U!cSI J\LT&Å=^X,jғ߮Ukw~õiI0QX1dvX( d?'2yQrskV+ :ZS|"E9\lKψ]مh=^p?qS0Qml*In"<>Gt3n APGj*k p,?8% P [Gtxy,iA]ձG7ߵE\jqPvOa'ߨ_x}=-G'uؽ>jk5-{Sk&t?W;m`HHEȂ ?O-F*,Uk*b|ZvCEgKwSƑ95tt -jg ˱WEg!φ h.V}?Bm<)h>0cv+^^i> [tڀsԛuФ6tU y$J4~?CwC;Dh__LBek Z7!?>]DnXML[nkE{l61L}x\*/>  M-0}eGR,nv Fsw 3Zk-F[y^3w?rVV5G9 OOknZur㧡FK !:J)&xoDLtCšzdK4n}WGFQX_\qzLޢpLXQ/:aOCC>RZ \1paDD()(|Uݬ9z?z\y{w9'wuAAq~|gر&ݛb;%NK8J\9; $ @3 JGm wz0RdV1NYTf&mrV})sפmbBZU/hw ^SQ/~ky~IMfL]lިS^6MC]c)mA+.0C zfS+<ӵYBac?M|hlLƻzed(urN `rQnxFƄ ~,BM`>H;QJ=ڭΪ<ξPmJ1rXgKgwUh  S|)%w'U7s0O4@[,eM"eyA{:U._Z ІĐӚbvSـ: i2Nܩ"$!OI|W:T)]pxA+4j'i pzV$թi3Nkiw)W#`,I_$*"8_$W p)z$&k^28{Ɇ7cU[f0He<<<5DJꛯ3qq`Kh&Yϳ*pK`<-_lX Еnn)(OY{HCrgD?q!eE͢O{)8f!]2Mi Ek8yp]YKxա@E~ h!I=fJ= <0#KZJXc~*0Xگ"'۠1T s6;G $9%)W#ZpUQ .{a)pTȕV0wx_ z_ܼk19wFjM)`ٞT^/ 6>j9![9Nq68<^F!<aEJyGƜTT+YiÁz2پV Mi.f"Yv YN5!-wiYJ5{)487'DLdPNQ@'mt?Q)#)_¬3(P䉂Lgڵj&sS}_W-`"b^Jd6< S74u%R'.Ko.-ISz!Ku uH; 7xTC%ߔEX+?:U&x~ZSh]OJS 7& J=7w!Ftviŕ,0*r%i~9KyW%O'^nbXnā* 1 Y/|oQi+oZ)OʂI&L]Oߊ̖Go_oIz*wUlSyH"K] v>{M)EY[AZK3a@e!s@ᬆau]-CJrPn=bl镡\DGDرK\m/r1k"I] FӇIEC!هe kie#~W%yOs;SgxdXh[sUPxSNQ6:52Q) .IvBibRx;Ͽ-R{MZ '|OeoKz?HdO^`@ӏSmޛ}4;`&15@/BIH4ŇT4QAalx6=wa3'PҎҗK&z{b/mCGL7SVY~_9N,>^%y:yK%^5? Tm>@헀PSi#)@ʏ#܃hiGdLGxyyc~.φ;:~ X`n&%SPe RD09u=i])K}>V7"3^=yL&܄̗&Q5yMmښ)`ƴkUsߟS "|ַMZL&r9}-"|T" [YzPRq`&v/7gq8J7sJx4bש|9Z ܟrr"c1t j[J,|C.ճ$AyR8 Z2TpF M<лZy{ZjXH'3=Yz_*L7ijvWE{ݓ\fOt"F@/Ycls\ϰaDQ(?lg%ttҿYb\TpYU.}Ld|c\Ijӈ*C(ɨ3sPz2N$.(ב }C.陮E.dmr@KH@ !X) _|sihiߋS[iډVԨMtqj09ue[(bAX60Ox[w"Xv˕{TaqKg*zǔ|z:ñz@G irXَrETjFӒOgyi:GQ [T;#ZTdZ<,r*tA78g );>y4KϠ>s9Pm74&$Q Snp4R}^eitKTh8u둪ٜ $=!dg"K^/ì[ӿڣd < _VUdaU0M1s4Y#tLZ+5-CvPj;[Rlݳ^*bGqy5mNQQ/ ac1 ^%~9?pÒmd b ㅷ$5ϗr 'Vu/XƻJ<4Ԩ"4<|Ĝ̬ Ԧ={t13 LWw&klu3Nj,h9.i|Ot7)Qi~/: <}pq. 3RI|qk'?9P&\;ߝKi[ :6%f9N<eӌy=dHby*mmO>p7Zi^  ݳ7wj킜6J+c`{kA#q,|gxNj}u:k;Э#$M- Z @C8opZ&kѨLN钳+W%-'“ j~y] na~>U1nARD_S(CxiN7nBL|@Tn$hM< 7l-lsn=W>pRYd6 >a \tsyW~Rv\Ϋ6mXn I/o7]iA36~fӥyfob[3Vw+Lk}#!|_e 6SZ(~|MJ}YTt9r<:|eS8~ iwзo{X$ ` lU^7i圖^O97Xwgι@SQg2η}P ~4q#XStkq{KJ4^}|NSS" qlq^լɽZcw4J4R>q`0,ԅ>|U0?t#2q' !:!a" y r9:s>|s' ~isZt`%`!IP YW. ևOo=ݼ8l=H8鐲rY ڛo.ڂc!iVz-.1vbsl裛Mg\m C _qx6 . oc0=eM E<8r[,faF&%ӓGiհ(Ȑ1,wA\VB^U |tۛrK{ @),DFU&j_Rpa'@ 7j+: =b>B#@A@+b[:"~Q(цB,7XHq.>=$p4 -@s9&w=g '1]DRrX;Ha"?dzݭh|rF y)f}p:Jٟ:~%޴iY-"{Z#ӁKdeIV1mq7ɜ52u y4@W"RM okY^fkX$ehNI\j|^r%y\Ƕ\2~ D@CskP'ڮᎀMgĉ(l`rr2hЯHt e3Ke:> j|tos~"r|=$~_xNzmevQ(~% +;pcŁN`4R%)%Oxvi_zx A]F X8:Nl+{L`\ {u\{+հW\si> 豿|$&oi;<@g=at5yB @fʜb(z:LMT5 @gb~LWVj&&WP'Aڱcp۔\=~%/mdY]Z#TUb|Qehn:M@.>pF9b4gCkq Q0wG= z~ {Rga`:!3iZLr4MO'۹O@ffe!xq?=qv΂~K) mJ3 +¸\L=3 y~;frame = 0.040 0.000, 0 0.080, 1 0.120, 2 0.160, 3 0.200, 4 0.240, 2 0.280, 1 0.360, 2 0.400, 7 0.440, 6 0.520, 3 0.560, 2 0.600, 0 0.720, -1 OggSdvorbisDOggSdɫqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS=d\Y++-;8 +:;8:8{x-/'^ B w7u y W^HC.Z,>\ݞ(.zWz}8lty,ϐZbh6YڼJ%.8;̓Vz`̾Ӊ-n}O IRplH݃~#)]^Pt,Z@K/#odz/Sy 2~RD25t WȐ^UKoh!7 j%!1&m__ L\˨n^%sϟ[: 0DJ&jL`Bz]zv{q^cF?eml)1~ے:35Grn&{1}.x._7ϳ6uH) .w3dAѱP`]AqY 4`rT"{V#Cw/X~ QRv1E4vR1Ҋ!>D96QV7@3y|e`tGNpzzHxƲۄGYv C ƚmھN㲍 B;6<d ?{Qz`F5Y{hɔ1 t'gsgY05Q!5^)9bTP4;y'K#M>'׀棻P~꧋QA]2E+|1Xlݻ\jA'_>>xs)9W$57ҳңwUd?qXgۑV]Ϧ"=DŲf &+wjWTÃeEil>c"RYwh] Z7oMϭj`2pU X/VW'@)E,)^HClpߺ^tmhE{LEkY٨ݧ$yt{ٖ_>@@jk_*lzbwL;6s:=.M\|PjBz?1FQoo!3:QNoDzP V@L#S/L4.j`G6U ]0>Eqxޘ .@\ cO`+ >tE54 60 $UZcy"н q' 5@rry@B_,~x^NdA pz(0Sp,CzoJ`@Risk)&^(co3~*j?/:yкV-tQ򴬁=cO^%"0}䱿uYIGvx*<..:\(Ѹ"UEJ %!lZOg,5CT8()',pDԖQjvd`˿]j$(LD@$4^0[Yn93Q]ΧҐ֩9rːQƈx- "0!H^ yyl#ԼQcqj\+^D ;O D瓯(p#X$ `ybӹ@!FcH )^{e%I#og&0M@:ϯZ'P'p%W?&S` ~B:33Sb laݻj R F*?\Xt5 Iq'o~tEh30+&j`Ӥ h}ux @ס/EW6@~*jÈ}N `*8MnZpM2\ƚJk%y+U.0YGV:#T| >= lf~ĖLP5+,@1|ZqeTWܴۆ.($@ 1|LpEE D`mF C^`ϷzBKҹc H)?C;HG-ir h.6\*IPwt8ۉkpb+Kx=>6 OgʑPNId O p h=" ` Ed@{1Zص6(v^ HɾQ) dvD "mV6Pҿq7wRT'! o 07o:^@~(]]~ ' bCkyKд32e MrFs8:\Is7 6Is+JJT,ph TWu`01!@Qt~0&bDǃ0?#W.O;"@9l.~\@)+"*]_l86ۼ@?d֠Af(皏MyiS{ƭ-vΒϝ'ۗ3Wsf` X-d<[+];aY:+n7VΥa *$n&rɔ]jZJ~H~^Jn뜱5vڲq,OZuKUQؓ2rS}M&42gptSA}ڧl_e,-o,^{M\ LI5iFeIt^ܘ@\(,ԧzCqzQ$&$>4K`M"+Kch.6ե`W24nnoe/yxgot< V֭;BHL>v6W T?q$]5朿2pMo&</ ߷>hRZ\M$黤aG@Q %o2c|ާ> ܸzl6 o.5l傼ڥyIoұ{ n%R?NthG[iXL ~?Imt_h,h_ao>nx¾ʀpUQZIoujMd w)oW-]`>$ld_ ,b-  P 0)-2LО9vAHZz0]ݸڋF" =i˭( VBXk1|Y}@q ;j(gmN楲eIhZsb2liМ 2YfX' ?[&YHSgq*ki?*ҁm~yvs.YiUrYg 2 +|8@p|݃b갩z~ 'mre˦THǤL,.l"4'+OT=^9@O)pj}Ac naz@@ä ;%@YOL猌W7[AVR|t0| |W+,D` QqS΄*t&D\H,7'CC<_,E"cγ}лI1hwwaN:e߸~K˲QDJVMT4Vc}-w O?ß+{]758ʛ_p51`As&Pv Ѥc-z]·*WUy9c^M()g]0B/ͮ*^N$mV/yJls{cZRPG+L̴wy#һ)&m[ H"^ Dh!@,ZιAa>2p!S "e˄hv*yq羫\Dpǫ~g{vߕUjY ~7 خpG蔣vo>+JH. e/p @^{ξA 2@@ϱbR@M|Vxh M}?_K>}\W2-j̷ S+Xw=FyL.|;;W+rv-c+Mw9\kfc^p2>%IwOBlm4 M95zS)meZ_Œ9 3[t cpxcR%IR 7r5g GW<{({>oL$ۯvѲt.eFf7z-eǛ;KxBR,9aamHM>0ͳI~նlo  S-CyJ:HBà, ɔ""!1JE6wuGEDžwM!cN 1똺V v8&L:9nT\'[D[CzCĮ􁗪6d}zQrac 8ng|]h]kr;5\ך^j?xi'vFfa8z%j>&"S|?|Pv͘]R#J "?RXwhr\]ҡ訐z8~mc WD_iBN>.-OOC{K)V>\ؙ[Xj%kDȍ4$@otaOfzeg!%}oq˹*2q7Esfh7G+YLSYkCFzjhӄg Y[OfS >%vNyk'_,!>3u5I@1|8_?!n޼p뢟usrȪZ?>#ƾdl]U@!k+KoN6{uϊn}5I<i|z󖡒H_?|pA c)%o/5s mOϏk,uu7cЬa?١ ]o)3dRw!~% k{J3]̜ D` w`&N&6IqkoU!Yk]W E<a}B2~$ H0)d- a!U2>&lLSk/GJ{m >Z)[YO̬Ps,든1:$A`9;U -NHmd<2k'@|L-6%N7}5>/k{x9$8InקJwo6q䞬2!eiթER}t 6yed r뎎 K1DŰp3-x<̡15;F1o36-p%Eq/1,%5ZP]LTA? hc@&Y> @pKFuER2`zܺwMsKI|ouH:Mk?.k^ѶP7]h̄ھn{&D3I1'B]:|v0\ _-h@fv}k3LdUvâc0u=ErMh/NV%Lmm]TL,ڠn~1fS;%<^@h{{Ǎ[j;S~i];/HGj:Q4IU 8ꁧ(>peJ4'{jY~X$O˕]MnDvl4}v#N_uyDZ>s>)5%atp'}HX_нzmă!XK :Nʷ^[ aUzn s MLJ"\# vK|U/ _a92bSʂ) }f"hRM sC/v 1;T~,~ 5'c@M&kZtiGM G7e]"M $YYȏ5̄'0o>!)=L#j&簊}MI35̖}tEA1\,`@ |L+oCMve0BZ<#Z?nVEΡؾR8(3w-43Ղ]=.,:~5|OЙހ"M `r.gbbd,z?)V4M4frame = 0.040 0.000, 1 0.040, 2 0.080, 0 0.160, 1 0.200, 3 0.240, 4 0.280, 5 0.360, 7 0.400, 5 0.440, 2 0.520, 1 0.600, 0 0.680, -1 OggSŁvorbisDOggSx|qvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS@8^ 978:7+++)789; oe]_]A@Ŕ_i{zsTik.ZON'N'EV߭9B$l#_ȬvD*_SEMǛ^xw/\Z%ȳwYG$8N(sS>= &6GfQ}U xezDfqtn}}-zY!߉/#1]%j3sD\=F@NiH [:VeȟE'7 4a' z6=Ёx,N 7/ T[l!SBҦ(D @9,Z,/(BQ98 =Uk%U$p[$oGoE @ob6E晕9TN&9W}kjEu okɡ,ƝɄ,0 P0s!E(tuc*ABSa9{E??vIw>{H_fE.W5K}]!jmMy~q7S2 nk?'qJ۰)lo\dEg}CʹTFm]w]' nUV:З LA49M a l"Deĕ> ě|J}֨i =@m<ܕ"T|a)~Zjq7Ĕ#Ό=ݺm۵rx.yQ+խ@*ZހLeĝwRXDT{HXwNf#@WSVwciV\H4ok쓘g}fzxJK?}!7 3Oi7;^rH'5fEp1W|hì ~%OoY|s(MmrO6JsUh.Oeu*n4}?V9ua A]i 0&p6~'7Ýh}Fʍg0oьb)KS-[%@IXD#W:m Κ>MMfd:ĥ'ʐiiY 1Ltu Ԕ9i^~RUe$"{ iⓛd.MFsv%,&,\eIcuzT<\Ywz 5  ;.8u[Ţ1%gk|_jӂgv>z|4^Dސf7ix[swaC!VuG;Bwm}fm]6d^!Pҁg^[~]anox"Tڭ*Nޝŷp@6%=~/ (çKX W`TG$ _١Ʊ#^R7Ȕ醊]^0<xd/8  4#UWz95gZ}hhMou~t:M]MʺhW Pg@ ueղH0Y9d)Bhn) gg|vFdt40|ʩ" /v%+L_g<Z̬&d̻o>5=d"k19ӊV%98dz]S{pu-Nh{uyMˊn^͇#C (R^^^GvK>6 ',FpA)Yu )Aޚ5RbNfqJdu{W {ǎZQ7# 4 2 ^ ({眑 z [dwo?RAhptI4{\ڠ0{*C ^KVQ6-5Pt)vi::O4@/̫G? ; ftRa?j㬪3 0@JY=1vW7;ڂD6HK:u8hguÖsjlz/~*, ݯN4\~ZϰLH<RiI 9z͈q§kM(p5N (t5‡@68ѫ/6=;"hԇ/{)UG k| )J6g$~PMLP@t3cr+ҝ9̰߉C:ɧn"ϦL,䵤c~ Ty >,0GvnEw޾$p@BX'24唢@n4bvq f.ȿVcKFCqIfDJqǿF3zjR}Tj?6p|<>!fIX_nlc7yE)k<[=u~ڞ֞WvJdT՜i2M'|1 !Y+ yz:(QArU$?ו`[bNP56ۏ9/ z崴RKpuZ X `ا@S~|eYt6bݠZ3(we~m ]Usf@K_Sȝf>RiQ` WU|+lL݄c^uO %oY!E}7_R[Ȟ| szy-$%I"&2$ǕdR%%3$L$y&TIrm "0-,l$+8@_C pt~Ҁ(HA!}.J$a~ sV 곿+;K@̤5KEq+""f M}2_ !Z' +. IV+Ic zS͓ dw\_4dEfικqNx#N ]C E~LK > tZT ;` @}) u94o*b*k"7}תY{#/$vW4WtɓGZDӞ3m"CMQ8c@kj[A /2g-U`:~eZ( ^{|X] 8꤭@a@pR k7(r\@/ j@,?\o["vK?aV^@<<_HvH]ȩV,[|\Hc$&1-/Z2 MET=T|nI Gtd9GQS l8d_|,a0tOI! 'nuݯ|~^rw8;in%yLt6wg ^Kgl}*$=T6PN #V16v-MtIKH@v]3,}JfB$r9ʧnE7 ~IX{;%`$f=ՊEv}[3M@+F ?[]Y&VbԋօԳ:RZr[>zJ&0C< ꣙[BI4u4@ReT]0Sēd]-WyQL̰gW@N.GrˑO7%`z5ރz / /hAhzTd]8/ mz|:L69'k٦5_!)۔Zs7i~}ۏՙ?{jIN2ұNK(}2&-Wm&zt\=Hq0'"pAØ27n=UϰPtvZR(4V&nLz0O 1=0@N D1;mLt7^'KOǟON%zt]4JR$ȯČ=Yەm[w1K#YhW:V$E8y!3t j-`\fV'Í,??}*=)B0ypEc;'{Tq$u>pnMHs\(Xz.]\_qI(0~,_L>`[$X/V=&ͭg6-׭;u. 6p\ID %CJ zvg'~zj_sN J`~{52WR뱢WfJu_UK71Agk.?h|1bOS.G[0쬪=^/Ʊۯ<^FB1xJAvs/gtb{uuGX0%K|CGH,>](#y MoB)Paac*i_=ןvχUXuG˖ l]챊WV ?A'7gxCpuRww>.U,`vOv{ԶC-qs/w4jR=׬V&jvGA&/S7V̢%[1V!LdPB-7t͸׭a:<v|CH\giec|*fJ Lb0dk9'߱着_s0%!\{ٯ-$cĪrw U瓸 \r;@[3[3 +@R?Lය2Q<c1{>ӫ6wCHC>^VSPşqFs_mBY|%ˌo9Y>~.0,ƥiiP̮Gΰ0dL: X>8=+|_dS.!_GP!(Vb Ji|y$DDc @Rol|'7ݝr]-cG<)4 ;F;O̯άݍQ:=ć\x;wgGUaY&KT|#N GsJs皅a#Bv >%%zҎ}z}ЙXtДM@cJ f%)?*_x+Vu~ogz~߶v-lW#/z, _"ߛi;RDnpA0bIq3؉8h;|`WZ&*Sd@SӼNz%'5uyql=ݡnfZVfox>%j떭Jް̱\;-@ӑ@8Td'h08K_<7%rLFjEI+%)c8`_ iSa ϖ_OEYS]pz/$48UbvpU ʺ[ZsrL$=Z/2P,f2'k-L&Y.ǐ6Vkqe \V5X2k3O:~ ~R$qu<pMSgI .=rIK$p(>2h{#q|}4(uu-kPN"9t?+D1ԁ6?ӗ2Mo-`o̾UMhQcup'4]NGP^zEX el,[e0dYP@pӋ~Zk50mR) gک53B^t;X?!mh]Y $8p?2Wi1]cږ1Υ>!v;f_N3̦eLYTh}4wf5E'4ģY{ DM؅'qAӁ55q\Ƕ EBgqы5t:Ws){}mĦeframe = 0.040 0.000, 0 0.040, 1 0.080, 3 0.120, 5 0.160, 4 0.200, 3 0.240, 2 0.280, 4 0.320, 3 0.360, 7 0.400, 4 0.480, 3 0.520, 5 0.560, 1 0.600, 0 0.720, -1 OggS OvorbisDOggS qvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sdhl]\@.!!A,pox N)*ulqtx||$)@DD4s !"#$%&'(@@@ @@OggS= Pk )(,,/;95 Jm<,f}gl~pC 2r)Oh[V ږS҅6[!&2baNOg/cb(.&]l <T./{f`1m7Υ3#lR%׾-IFKnۚP =NIhai[u 5a6.dž*GҚ >4~Ԃ}J`4Ow7`U5_%h&WRj>sIsXPxrR"m;q#[Ͽ?a|]= CˋhYyEToO]UڒQ@"ĵf'!|e>AQW^UyIʄO&7ZYCW J2Ijg%ֱofگS#X卯Җ].5NHibr̐|!+)י|}6ZڈOUhmVfr&z%`p yX",NA|p.]'vf֥k!^EP(oHh{AG)GY bHFH洖$ 4%B0XW<8/tyE4ۖKHs*`x7n+Ǫ !zbv]Z=.)ǫt 4Q22z7d{zp7SfZw8 6va|Q4]#6K>'wG4 RKL9G>IelUWy|7sB"79R3BTXJF·^Grd> qpmL};oVt^ETE[ b>]ٳ&PMVB{R.qZn ƳmDG}}=Yo$|m(#=F=*EX&`u0~Mh$X\ Su6Ec|g$ߝ> 0p,6s G]C|,JQw?>a8Z&&C-dv[`30LLO}cۇJJڐn IR] Q"Da yŚU ZL+[b|즩fƱPڐuvJڊ0emZrjߙ# z Qi/SRWwι29 8^UE`xv nQ(>[l@3#@P t` ,%h3 &@@i>z10_ 2n @MOV>Mgp=<1!}#i]Ȋp.H~[(yg FC. .)"0we(;p#XvY]u Mq,#]i @HtѝCC *a ڒEw)(Ձ4@Ϊא!c)8ȿ{H%C _$^ rr W<;O(:B@DPWF65R؅ $g`+Wր& )M f pÀU䏊&V;9Ol6"”!.&@ y AX/}lSXYIHH0~`[%H @vX|~]*4*qjbB`k2Iǹ*~G aRBì_Zmo EoȦ{ ^(~ARI o7U ؉` ` #'(20^i$С)E2@15TCxP2 /R P֜3*76,/> (Ĥ5'VqX&/NC5  `=(?D4zxXR `h@Ô FNfJ1 %DΡH#P2*(tl8+@_`giXdl^6u}ϱ5|5*U 8waBx4a[py3{(ӵx|rp*hz]|NѥA6Mfkv%(Jh +D.>{P/>`3ppD)6+#p2R XH y6H= Ԗ QgWtXq@` ;1&)?y1OAA@0F>Jtv/ 3>dG ĂPkȻ+}TBt)"Pc#u*1S]x>f&D W9%Qrk}gXW%P 5`oJO'(0UL'0LL 9Ze}=%FV ߨiefv_Scdt6D@bNdr,ǪH,L拙E9t @{0+(wۙ[[-[1 zPl#< F IduXv^>R5 KErX2S: >Uo1v۞KYg8ql`@`† 9 tf@A ogmBJqh:p ) _(kC@lWhrr0dh mVr B\qia1r8"Zîe7;@ ̖d)Q a CZg֣6oO&0s^粔g0jaO k2^EqƐ,* )dփL|d!! ש'ƠcM5Gt#E^ I`x}_P$u]? hG\) Myʠ<:g$h$oYb@XNiW]-@SCJ":o@l\0tu:CM{@j&& SJS/Zha- [xv-;Gl\I`0^XV,Rp3U=M3ao#S3:%gdF`ϐcy|JgHsƴ9yq)):Q>Y>uqWvR5尢"NS/&XTO-okb|<vϊ4ɛT많ȗl^ 8[n^ ϧ& JnuJX8 (I 6]n=ثNMbӭ&p  'DP_$|c E(wȇ^ȼ{tbG+BQDZ ~>ɂUN9P!?{* @k2`y=9E_姧Un}sDlcؙ{n;|zUr|vמ]Vrҝ4ˬpLJԂS= qjT@:=J7W!n1b\cY;~5(kPyz$kI5YMT^^.B-s3Jһ5 !g~4+׾42Nv)yQ2́q-5G4DX 6o%xဋ/>3wzhiPӳsQ9ܻQy$(Hտ>>l lӚ\+t^izMu^|}$G 񏽔=@Kv( rkk^/ڎϏJ8115@ fڦ5\tU)(mAG" \{hFdN[XE̮It>>uoc]O(z<%8#]A'}6acf&>N%iG|#p 3B/Ż5(6}-/ ^_ys=|ACJ}@:Lg%PK,3)ku^j]K`2iŷZXޯ}]4TndD$ZP 8 E=.{^!&fZݰĿ}Oo%tCwjф&yLޡx=p1J6u?o p& ìL=Oe?eixb ^TOy]J*|B5h))(, g4LT: Z3wUf\撚r2X"$ NABܫ]Xp~옾gO֫dv=u1h:ԔL z5a49W*Is{ɺɹ>!ú'̂O)$kkAƃ%d&D?Z/H @W&55ZATj't u{M:# ܆a?}gϨgޱ2kO[Izveg%xn S6Qj>6'c@-{|e:;30)'loUU]ߋ=h6ɕll%$䮫 =v6w-ט/mR?_.Md@Ӌ`2#3(FNSCv uZr1oq JDZۊr΢xSTP = p~< IE@g<.g- guf>jo~OUeVI!zY H@2â ]p㽧O?zTV1sW Iݍ `>_A޷-I/#Q6{ۣNk\h{)c*P5XZ'n=˭gj' Uwb,-nA0Tɹּwdvmgx#y`#XƼ)SFCt G^.|sw܋%&,"L,(MtlƋC9ޱ~tXqʢozWwG OgkzȶAAڲ1yZ|L{ \CͲP N7}J42槴ɠgiKch=qL%%!k#̩PPkY'4e.ַhp:9zr 8OggSā vH7~5O\?G R 1feIL Mw=Sframe = 0.040 0.000, 0 0.040, 2 0.080, 3 0.120, 1 0.240, 3 0.280, 7 0.320, 6 0.360, 5 0.400, 7 0.440, 5 0.480, 3 0.520, 2 0.560, 0 0.680, -1 OggSYU&͗vorbisDOggSY,$pqvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sӔmSUuTUݷu]Xn[WQU}]eaXeYvG¨ʮ﫲l +2:}_Yek۾160Giڲm˺,è2te׍_Yn7Quu]eaYeYvW]qmr:e}o0m[h ?}!0`B(4dE')b BBJ* dIJI-Z1 sRB -RZ Ji-Zj-ƔZB)-RZK-ŖZb B昄9(B)eI霓9'Z)1)sR:$RZ*%JiZIZXC)RZ+%ZVk1 sPB)-RR9G%sNJ)RJjsR:tI)VRi-ZI%PJkZSjRZ+VRiVkkBJB)jLJiZIbZC RZ+%Zkj-Z-Zc1ZsN)ŘZVk-XkB)RZKŘZ5R)PJk-SkRZ+VRjVkƔRSjZs-ZVkjXkα p0  Q9) B9GA9(UA(9(9';砤cIk-)c8ؠ)8@!+(cb BcAR9cA(%c9J(%B(T@@ "A!tNJ'%rI4BjRjĘY*ZFXZ쨕Kl8Xdb9BJ1s!s9c9R1s1sBc9!t9!:眃BsA!9 B@6lN0ThJ 0F) (RRjb B))UA(%* RkRRjB))c)%bR1֚Z-ZsNc9v`#Ab1RL1ƘsH)c9c9R1Ɯs1Ƙs9c9c9s1Ɯs9s9s9s9@6lN0ThJ 0B!A!Bh B!B!B!B!B!B!B!B!Bs9s9s9x3a#ARcbLBJ5L9!blsBI19'b̵rNJJZs'k=Jk1s%k=Kk֚{j={o-Ɯkj͵{=XsϽ{& 6pR4Xh* 0RJ)b1c1Ɯs9s9`2K6:ɋ>|BGlF\JLN=RC-VZ ^ @ {k-B9I%! ZCrPbRF)g1u)\:AC c(JR:clr DL P2!A (,0t 1t!2C$"Ąj Cc# pAw!Abq$xnpNQ@df$Dd% I"" !)19A OggS.YNLo(.0?AECC3BCD+-6D3EFD/JE:437668Fj4;jh ܕR+/IY i:AbGi|d2Vh x:PwD|b , `f97r)>A؅dpR8cD\G) I|Igsqr`Li@:{q3So_KJq~JgKt/vX!;%g{'^e[܄R5^Glq)W% Ƿ݉ziD࿵=Y | M!5~pUlڗ:m0ެ4Z޽X|ӄMJ~{TʿC3vO_y kNJ,fǭ@ '}IDf*bw酂UcҬqÛay߽-,__UdʼD-6SK_fEɻqFF`,BXd/V?u N  /UHRM@T5`ʫHsn>\ۛv@K딉)^b jS'y!ܜO?:OF~"LwvTs泳_WU&'oBAjeۗ~}mh52w|o.^pӲ-#}cN#NO}%2P*E!'NyY*:ϸDb38l[@U;\~)ָE>ojo&pE}mRˀ= hH $ |dnVR}@pFnj9w ߝ8R7)K4>xicRma@b/zI"v}aZ'!Q'W3;1G3?/ۧ#anI@pܭ}#NJcQ`V$F7 +ٻmG(`t9gZQCx$bMruԕ S O ;gr!Aգfo9uFGWWGU-y:Ϩ{e& o&I@'`8Sx@ ±!qu,(xV L`:~ @)=%@AaBP}h+{Q[$k\HLM)˱CB1X(d֦61-”@鷗E84/bZ>Aw{R ; mn(& @:-\3\6+,uE@6@&@lp軕h[rHbDFt? /&9}p'en1n"}Wb| Ϥ~|r0&؂6`b# DB)W7;BJk3BBNJQJ`@ ejJ͎^. rsC>(,꽇#Zύ:8(-`MMv,[׎=ͤQ0mMGk-#I#$9rmwSٿ5*-F$\km[rݯ(K BpM57921FƇlV@[ e'B.Mlc.y>&X O<PΝ~u u}v]eG}zG N5hM9^ `[=IQ(%.ւθvsmDZ!5p޷Q(QIhZs )[ Yz'o#o6 T"(Qhb% 9WϿG͹_F ̑/kf*ڏS H#XUPoG`O /t=och=0BK (/&֊Rz&y!)@?@v6T[e$Y][݇펖 c!GmjM/54*9[9BFІ2yx ʙXk󥀌~KUQ'g88H.R5&L {O= MhZ;uR7@0 &܅M4 V}{Gl&9^[Hy=OۀPBƋ )C~FF|PR`g%1CjaE=K) &MXAw,*;_Teܻ0/`yqss8v~,I ` W$3mПk76vݖd`c^_j(]dhES.ަe0=;zݶ MU¾P#]#ERXsa;<M\~qGϮ;ۅ>Srծw {o?L Uv8F)no&&w/*ML=;%nP"4-PIv)ˬ>WC,sfnyQ ޴֩s-;:fAa/L r7u Ȣ.'ٻkw`t> 9>H&\r|阀H'Uqz{ |BcQ_xھ!pW%tR[M?(L4Nݍa1p y:ǩORtqО5cVdS"|F Mw@cRc~yh,Dxݘ+/x|>.r>b*dbgܚ\3;\kƇdվX ?zwz}͓s]qC8 OggSeYrGAEG437).&*$#"/Db76t^wa`uٕ8ʷ]VEli٭-fCNV\.Quڲ<~K:.b]\2~|NNcGQ{Z_k':9sVz9_bP9t2s^Bg[u&Q}Ѫx\V;8Hkړ햤? )|`Yfv 9{ة@ҡS\^ڊz,Ҟ 㙙v ڛ=mh@=KdC Gbo(a`>d_pc[k"[F dgj*Ǵ>>Zvb͏ݰ2S2f,N'iP b~\,~194=e/թի+&lS:zwbI' ; 2YKwlB Kfg6vow?Or95kC[_ zga* Q;@-V/8V8 B#Ȏ{m2Gu 胓,D|ɷx&:0Ӧgbc ]㿃CM*~&X'b? J\ [;\t) XHL7WJivoxG2rjէ>QKʰĊ+,IÃɐLwvb,gCfLmfy‹_sPCΡ" ` G7 XgR*kz#'4$w A8(q{SM!X D|W0v֬dG}G F&->{Ώ NtUABeTZ@L/ƩV<;qLI![l@yPgPn`!IU`jL菹4ڒLSTؘUI;!+*U9k,JJP;k,$H#App޹Wgg9swȄLeQ-J5YgWpgt%Աt8E: ќr'Ec|ksʀ۱핋l%,9#HI`O\,P6_l#PjjG3Hqx3D09C.amh%Scqݛ0]Z}`4{}u p~_+X p1D/@fj ,<1GJų(pЦ&ΡҾi@.Ε!+2ѣ8u.G6~g% N)tU;oEhvo-&CM'Bvl\iՏ`EBvպD'PXcW:jxp- B4`BO ڼ1 ɼ?_\i~=7,acbGvS#oQ?nM@c%ܭkixKڦ@w s.8$3*j7 6$VQ%VT𳐡N!N-*7cN ^,\ 1ߡpb ::ݤޟc%(c-&Fi}ѯ*O3-$ԯjG@;P!i @ſH"0D]^daXY>*9Rp!R I m2\SM!Q*׿ɣvsw!H" \ɢ_WpR 6ogT^O2HEr$YWRh3ɂZ_zys_Tf2&k_piAtҡ17Β!)`yCB82*cr,8\Q\jBuA풟.ѮmO-%'OԽ35%,[tgh0 U̗$ZIqMi a5%6G5F V/;3E6k۩WuYx3;qlo UnC2WsR<L1h b>ah]4%t҈.ç|4*zLXx%ge -u=3 |A`@`Bm`& [ыqTjIi*bb8(g$Li˚Apom^'ݫڧWύ5dKKRUP-O.Q&B>)3TT S~}kN)@ *@U |6M)v=$݇tho(HQ6-?*CwZ{@si,FWHr4O$L2՟O?1ndE]\s[(mtʚת^r=Q?9:D rEi3?#˻ԗƪ=,UQܪ Ln.k=}îglvT'DwFD6$Agd>9#6AtE 6֭lo::/'?g͛bKuʉib"~Mӂ&B>LPnA[H;e6n}OGlp:fYa6-$8RRA,q<Қ22>Av%Y\8Mȩ~>)}vAӼh#Gby^Q2 -ݯ!fLfuE Lf1|2&]ė֐:n$l,1V':t_ː,@nwwBaHIf <ryLݩM FCIk7cyM1zŝ}m"q+8<-/3D/3tpd~%qP9nz&<N2<Fʚ}} ph?ޡ?Un8zxgu$PкdwĪ*\|3:INuPn{~7ysdhIm41 n&x9z~tN۵(@^J etZA C>Z6]VPBΝk;螿ogٷv:T_E:ᨭk)>t*@3?Ox4n;#( C=P6`(Gz O&PcXYc]ҡ^#@*dոBΡ)q&d1UMFTcdا#㒫|2`p.3%TX3hdT UKan{;)>:?!oウ6vBөc8ޟ*;Çﳱ\3t:?y|>O~R<3$Lgdq:ݟ?}9O¨rjpecϊ0PUN qkWkVKH2@z?z*@|S=frame = 0.040 0.000, 1 0.040, 5 0.080, 7 0.120, 0 0.200, 1 0.240, 3 0.280, 1 0.320, 2 0.440, 1 0.560, 2 0.640, 3 0.760, 1 0.840, 0 0.920, -1 OggSZvorbisDOggSZ qvorbisXiph.Org libVorbis I 20020717Sony Ogg Vorbis 1.0 FinalDATE=2006-09-25ENGINEER=BIG xcvvorbis)BCV1L(ĀАU 6kZkvZkZk&ZkZkZkZc 4d@(JdRLJ)e Gr9H'(G b9=dkM[MJ)% Y@!RH!RH!b!b)r) 2 L2餣:ꬳ: -B Sm5s(RJ)RJ)1BCV BdA!R)r 2АU ǐIO$-Q=3E4M5mUwuUWuVuVe5mVeUuWuWu]u]u]u]u]uݶm 4d #9)b:d !*&jiyyyyiiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@q$GR$ER$r, Y@R,R4sӔmSUuTUݷu]Xn[WQU}]eaXeYvG¨ʮ﫲l +2:}_Yek۾160Giڲm˺,è2te׍_Yn7Quu]eaYeYvW]qmr:e}o0m[h ?}!0`B(4dE')b BBJ* dIJI-Z1 sRB -RZ Ji-Zj-ƔZB)-RZK-ŖZb B昄9(B)eI霓9'Z)1)sR:$RZ*%JiZIZXC)RZ+%ZVk1 sPB)-RR9G%sNJ)RJjsR:tI)VRi-ZI%PJkZSjRZ+VRiVkkBJB)jLJiZIbZC RZ+%Zkj-Z-Zc1ZsN)ŘZVk-XkB)RZKŘZ5R)PJk-SkRZ+VRjVkƔRSjZs-ZVkjXkα p0  Q9) B9GA9(UA(9(9';砤cIk-)c8ؠ)8@!+(cb BcAR9cA(%c9J(%B(T@@ "A!tNJ'%rI4BjRjĘY*ZFXZ쨕Kl8Xdb9BJ1s!s9c9R1s1sBc9!t9!:眃BsA!9 B@6lN0ThJ 0F) (RRjb B))UA(%* RkRRjB))c)%bR1֚Z-ZsNc9v`#Ab1RL1ƘsH)c9c9R1Ɯs1Ƙs9c9c9s1Ɯs9s9s9s9@6lN0ThJ 0B!A!Bh B!B!B!B!B!B!B!B!Bs9s9s9x3a#ARcbLBJ5L9!blsBI19'b̵rNJJZs'k=Jk1s%k=Kk֚{j={o-Ɯkj͵{=XsϽ{& 6pR4Xh* 0RJ)b1c1Ɯs9s9`2K6:ɋ>|BGlF\JLN=RC-VZ ^ @ {k-B9I%! ZCrPbRF)g1u)\:AC c(JR:clr DL P2!A (,0t 1t!2C$"Ąj Cc# pAw!Abq$xnpNQ@df$Dd% I"" !)19A OggS-ZI*0?BBAEBAF"?96DA /21/22HHJKI+)2 |vu5;8N) ?}>E^ ؛Pat:n*7uG@U+4čROWSt\gm4 Q ꒸9y߲tL yޏMJ_IO]vie4*r4ь;<"m t}n7vй _ zh첶wNJM{0nWHW?n>:-H=@6i>r@4ֽi~M/Z|y-n1d^o!Fi 1.6u-F\m[58H۳8m2=OsBħҩ˞GAO㽟JC:]p J7$!k>zOhv7/ҭyFCXwpPDj~^x^$ZY3'}նl txaZ[a\k]5Uָs1{uٱHgYgUCY`0ag}?a0  t%C)$tnny.7Mܼωg5~/g$9YGI,6V)"mz 9ن%$)󽮣RX҆[>/CJF "xh+cB_ 9I޳i߇@EwXpn=-[R% yF46=Dἓ p{ -pۓ#ipDbbp=z$BE;p!_2r8>13͗\R^O23kI\~*" ϲh&#ۮ;^PO`?6PtJ݁jg'B8~:әP'[^tzL6} ƶ6Ԍ|%|6VW;>w999pD> {1I)|D*IDi1fg7= v}bsZ]T R"ҳFc7{&=Y.zy/  Cc f[( >(iĽRA۞+ӟ=%AinE{ 1*| Z z 4Mjss믑N$YXZYqqE=4) v|N9M_Qf4YV/ G Nx&/N>I++t䦯C}1,b̽P{;ͣ>-q懐x,N20>dZЈ?-՚yKm\e;Uj R2 ctt¤>%Sd]_sܔ7cmvHaA6Q)Mǥ!5&ǫ.q:!tBݥ<@m!B=R/0!VX{H)@="쌠2kH 2ߛ$Ǩ7E('wt=1ԁш'uXbzNCRWt PiI?O ړy-uYO5dxN# XdňTepYh!3U\u揨y{ Tr6l\=1wH7PȋuG}@Y:${M0&hJ'Jj7"-p@ٛv?'*,E)shiL?wun ^Xs@Et3 p Ak)|+ڈ¬Rh|@V8FvXw T.ڒMI1}'o%~IIMCbC8<0Dѽ鸘t*8TK.i@qEoۚ\-xb_?I665(- "Tfs !bhoVDyD:Lq{t#f۴QIVUz}͝u1&KU:)"|A<[ɮ >Vi@ |fxmV \U@ JOggSaZ U2;0EPQYNK*..)4PFf?O=c!,t e \"LG5j(AH-X~SRKbnÛFqMx0`O_AKф))U Xcb~xf#4sxHbY2)A>iI 2ݏ.u"Hh4G sheMCW sw⤤7} 󰦻& Vw>kP7-MM|F䐓M|O/8W|Pzp8 tAjH10:uA jg J%=1a H o9̥ pL{(5΄^X >(VR> r2yV+^tFOs?H@ܤB$qK  l;ƧǞw2Sk>37>_vqNȩewZìoCv S3/b-GB&mq678v>JiL꫋Y%,}p_7M|ݛ|K0ZPGpq4)Ƃ .X ;)wo!sfM JGPJ'a%st5PT,u6 ǍvCĻ@.Ө~2bX]d9bJ p'\s4TskO{qύD"c gA') 0J=Ӱ,H*f0i'Vȉ ~y;͡ČaM Ko]Tp9} a >1xEXu o"]~Ldi%1Q*~ML { #<Ž 0 x]5$ V&HGbDʏ (dQިpDvq8k`XX* BP[07&~J:QsQZCa1zT3pG!tB9 )I#c;(4?wWYR@+b_q,#z>;`QFH`+BhR ǔ@1VYl"+[#$,Z&bA؄\e/fYhAP}+PnoGfn1IK/I\U)GMBI&4=jh \&}ȒvJ`@F}>Y -zjQ#X$-[Lx; n/Ǹk,&ڥJ~kTtn: Sbۍd@k:*Tav!^7klU ? * \ˈ]K>zkA3@$$? Y <th X֣2uïM %ZΚY&)Q&)5K@Y>׽ҘlBL(lby~kfWP=ji.=Xj ׀0}EO' ѱvTM&HՐN|`4ym E'}~n T @֙ɪ˄}@jKvKqh0ùic愁g֚D~P~,0tEco Nz@*B= U4u <ՅCsɪ"$>QJV<.s*6\@Ao³AX|LGp*}a.E/#N,E VP%2vSvm2o#dl30]װ51G.q}}oD=>ybuۙ9On d%*+tPe˩U7I)! ʼ vVou|AaRqOua{CcO`T?Of!4y7R׷oTvhAk1ho,wLRZ5W3D2$*^7fM 9)a\YO>-XLS4MjQ\UK%f rsEHgFʾ8A$drg%RڑNuWbmeqۨ](/Pϝ4=7im\ZN/U)~N.qe~J?@' ;V H'8 CHܑMT שݏrl"Eb \ů=A3&h5AڬT$6.g{6{$ҁp#$I9 eƏATkhS|uj3|6Lz]9M`;]P]wBhN!vz^?e%5ڿAako2֗aFw1^'Q24@G;4)1@/- ; c=zS( #s -,M >@l&nlr9_Y|`zwI sO.;z=o)ھl %LPĽCVydsxVFD4K#u7#./L~5[}OÃw[3~,\ľ= ݬfǙ77~5 z-An| h[6H ێS&99xYP5᝷Ab Pc$hVX:-) G`8$ '(B I43 ٩Ȣtd]VYr4Ht dܜn-%RZ~uwq0ʉ}y5n<(J}SIrij\ OӾYidg^ebDXr("}:9e-g`~Hq<~ymqA7l큘T μ~S+X__]qiqPۖWD)LXZOggSZ`%&& .#"'1  dLP-0'E@=m1p}?^F0 \_9 )/7P4K`u aH&M(/bXs|0W,׹#/R̄vKgR8Xpeg[piO>$&&J\GIRy'ɓغ(/C MvK_?ƃ~לpSbʾ^] ?ȦR 6mku;&!?t^?q{Zw Vs yDՇvʖ졈-}6(p ~nOzh2o  p1 XcJ| e'@`l&z,oo%$j njz"/JTd 2}l~$FKJyBuàLaGMIt*Z+[sD⠈F2[ԔTn}L 2F$tycyOBy?罓Oz|T՞èf>17v'<+$gORw])|S~*{% |kuG~nqZkt 0Z [wZr=P  J&tQ@׸n2@bht<'f"Y18ut&8Lieo|JڊGY&˅oľHJ;$,m2"i$!*j,[(B$0͉~9]S:ݞ!VdCd6q#B9~ /d{gA]]%ykG1nr80sz߽gi9 |rZP6eOʚo"y^ۨz g,พ'(hK;qF)yPɡ^Rn]&HΪoq:ޱcM{sRfّȏ/t=3V:L[j$zj;eM,ik0k]p$;l 0D=ົdK^.ʚ@3@\8"] }6b4'%2s4p'BI~%4 dA;"K|{\3A~ιSz _{\{<~fxDnSԙtk3,8f $\ I tȲ]LklƇ[0 Ru3/JTXp\,O2C:*-޽Y\_nZIFn-=>k:%=s&kR 9 HZ8f|H5rP9ae:;hǻ(0^x4#&v@>&{M1+?3$kCKsgj"^L}ţẆ ̓$ɩ=z@++mw0n'f,q=a q 8 Vٶ@F>tVL3R(d{Uٔ;j' mVEՁ.'DK02߉ !13n}h򦗕_C;C- D + xx ӉK3s:&1{Fq ?֡"z|yVZ $byʎfj7"!5 *`*<4 yͥ6<: Xun/" y!50KS!~nc݁Gv0o  BJ0@%n^l;ڃh{;TQ6H/|R&24d^ T>^ i/li1.SqH7m;ܞ#_q*{B} C}!z $CPoֺk\eC?4nNc^hyG-6!.ί> 7nd 0M Q y Akp\ht`}Ѐ>fV~NżZ _؋c30`h0pɞ \vJ78t `.ki*S_" Z:i\_`6pӁ Y3>]zq>}M&$~D0I8.]^%gTuD1)+0W1Ȫ9_wd̽<~|ND}9vK`Ju,=I!%^EaJk/X`LW5~~5rUF4':Xcy %EA)`J [3e?/.H8LPܐ?u Ք[pk$%@"nG8ԂCDk%{!m!r$[nO0 .*&Nwjޘ3@ȩn=Hb\SJ s귯(8jοQ4!(~NM}`/G!b0UiFпR=)6)]rtP=X9EKw꧁*gebz~DұX]G_:Ҵ @yM}*(A>~VP2"7)LD軔oOw۹BH F{F_7pzE'`IYVUȔ.(Ehye rHyEs frs#Pԡsrp_v4{$= ª&ƌSO.Fͪo`Ὢ}Il}\E ){33F@s2t*\?|Ljʳ:q8Ya9=-@Q-yM^5p?DG9GdFҰ@I4FW,TW|J)^6lu1l0DjtV{x ;*(,Yib6c{tSXdвذܤپh딝fD ea2/;5m#ܒ>wtwjv %<%(/!48[߀ ~N2; P?_3%`q@ *@CS7%[;VÛ$?%%AhIYz* 5=+t<>w?E+"'Drh]AcY/Bʻ -}  ю֦}SA&YH(헥 Vd/ ۶Za724SBXF&&2h?mnp$sRcP/Meߓ)1N~h^# {I_h>X TLHiH 3 0G寇Uzy{t^=EhF59#yy^c;E1P:',^3O `=_|F,T,0^:gh-N4}Dj}Tmɮ2Pabo1}`|^>D 0p)=ȷـjw SZ) te `eOtX@slƗ;ole=̠HN\Ġ5E܏ЂRkzF,`7v"U |frtIƖ??>ۊs 2W4 b'aX-7pMR* >DBߖc fp߃KCHc&nc6׶mGyP@ u~#LI# P!@,$OggS Zft&%xОAmI{l00v5^>P,(4g[7 f;u=R<>g!TXx?޿>pʇ'=ӔmSUuTUݷu]Xn[WQU}]eaXeYvG¨ʮ﫲l +2:}_Yek۾160Giڲm˺,è2te׍_Yn7Quu]eaYeYvW]qmr:e}o0m[h ?}!0`B(4dE')b BBJ* dIJI-Z1 sRB -RZ Ji-Zj-ƔZB)-RZK-ŖZb B昄9(B)eI霓9'Z)1)sR:$RZ*%JiZIZXC)RZ+%ZVk1 sPB)-RR9G%sNJ)RJjsR:tI)VRi-ZI%PJkZSjRZ+VRiVkkBJB)jLJiZIbZC RZ+%Zkj-Z-Zc1ZsN)ŘZVk-XkB)RZKŘZ5R)PJk-SkRZ+VRjVkƔRSjZs-ZVkjXkα p0  Q9) B9GA9(UA(9(9';砤cIk-)c8ؠ)8@!+(cb BcAR9cA(%c9J(%B(T@@ "A!tNJ'%rI4BjRjĘY*ZFXZ쨕Kl8Xdb9BJ1s!s9c9R1s1sBc9!t9!:眃BsA!9 B@6lN0ThJ 0F) (RRjb B))UA(%* RkRRjB))c)%bR1֚Z-ZsNc9v`#Ab1RL1ƘsH)c9c9R1Ɯs1Ƙs9c9c9s1Ɯs9s9s9s9@6lN0ThJ 0B!A!Bh B!B!B!B!B!B!B!B!Bs9s9s9x3a#ARcbLBJ5L9!blsBI19'b̵rNJJZs'k=Jk1s%k=Kk֚{j={o-Ɯkj͵{=XsϽ{& 6pR4Xh* 0RJ)b1c1Ɯs9s9`2K6:ɋ>|BGlF\JLN=RC-VZ ^ @ {k-B9I%! ZCrPbRF)g1u)\:AC c(JR:clr DL P2!A (,0t 1t!2C$"Ąj Cc# pAw!Abq$xnpNQ@df$Dd% I"" !)19A OggS1_\1!.'5:88EDFGDQQJQD36+*55M Gp3 ӃO\{ЗOƑ wS$von =+)ypQ h A~;7SwwZjUܿ}r!VFJy%pI!RJQu{$btF)HwID03/Mu ~.^ +Ǚ P &3ȏoU ܠ`O x~&`~Qpذjv~˼_PLox xyv\ٳ˽v]~3ĭ^G:a.*zUR4$@T(&Fd]Xv%.͉_] Znnq!@k,cs|c~Ihφ I9_@`9yo8R8u~Н)dr;! $4rm l;Ml5 W"A=?>uc){F#P 8 09Rao-2ou9OS^$'?0+k SXݡ !)jVE6DO$'B&܅}@3QyFʦp΂:;4Ym, x%]Tqȅ u%i<& /tm'&r@ʏ4%^8HRͩiϒEI5)Q wW[\z]1~U8plAIi?8v3{uw뗓؍ wKK T> OG.>\x's: ArsXυrxV/*EGSzBtTqlt6ݻٖ.{#)td( `x}R *XnSy ;k>=Owj >ŋÆǕ߽Dq-6 LE8+"X 72mҶLpLܫho½5N2S\pA!0v$w0…va~Okr..._ lopTyk&o r\0e-^N xIא@xz1[t(/ 00v!@ie@)4*UC.I=In$:xY [h=}^0jM/ˬbuU3* @,p 3n&=3gWO t$E]I,7.;i$y 3T|GcH8$&X2sz>01QqT l;ށ?ec$yHEK@@t&d17yLMHJPpΓ ^g6/(AR x 5.@T ~9<0/|2,'"iW`P3)Es} NCN1d@ B>7ktҔhp8 Ѽܣ̸9j^$-D[0G]/;˄sFCRQyvؐÓu2ϴens&olL@1-hF `kDИG`\%dD@I|} 3J4!7JR 0ur?8nhT7b:s"]f+~-IکhdM|&(_}~4V01H`@Uɘ6PˤOX`0T$ZId&DN‚^?t@5z~E$t 6-|2G32n'?VQJ#Rf]c=uٞH"q