IL-GSC/IW/PC/ALL/3372.gsc
2023-10-27 03:49:01 -04:00

1004 lines
20 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3372.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 19
* Decompile Time: 20 ms
* Timestamp: 10/27/2023 12:26:47 AM
*******************************************************************/
//Function Number: 1
init()
{
level.var_138A1 = [];
level.var_B15E = [];
level.var_1BED = [];
level.var_47AD = [];
level.var_C8A2 = [];
level.var_138CB = [];
func_C906();
var_00 = spawnstruct();
var_00.var_DB01 = "tickets";
var_00.model = "zmb_lethal_cryo_grenade_wm";
var_00.var_39C = "zfreeze_semtex_mp";
level.var_138A1["zfreeze_semtex_mp"] = var_00;
scripts\common\utility::flag_init("wall_buy_setup_done");
}
//Function Number: 2
func_48CD(param_00,param_01,param_02,param_03,param_04)
{
var_05 = spawnstruct();
param_00 = int(param_00);
var_05.var_394 = param_01;
if(param_04 != "")
{
var_05.var_EC13 = param_04;
}
var_05.model = function_00EA(param_01);
var_05.var_DB01 = param_03;
level.var_138A1[param_02] = var_05;
}
//Function Number: 3
func_C906()
{
var_00 = 0;
if(isdefined(level.coop_weapontable))
{
var_01 = level.coop_weapontable;
}
else
{
var_01 = "cp/cp_weapontable.csv";
}
for(;;)
{
var_02 = tablelookupbyrow(var_01,var_00,0);
if(var_02 == "")
{
break;
}
var_03 = tablelookupbyrow(var_01,var_00,1);
var_04 = tablelookupbyrow(var_01,var_00,2);
var_05 = tablelookupbyrow(var_01,var_00,4);
var_06 = tablelookupbyrow(var_01,var_00,5);
var_07 = scripts\cp\_utility::func_80D8(var_03);
var_08 = strtok(var_04," ");
foreach(var_0A in var_08)
{
switch(var_0A)
{
case "craft":
level.var_47AD[var_07] = var_03;
break;
case "magic":
level.var_B15E[var_07] = getweaponbasename(var_03);
level.var_1BED[var_07] = var_03;
break;
case "upgrade":
level.var_C8A2[var_07] = var_03;
break;
case "wall":
case "tickets":
func_48CD(var_02,var_03,var_07,var_0A,var_06);
break;
}
}
var_00++;
}
}
//Function Number: 4
func_FA1D(param_00)
{
level endon("game_ended");
param_00 endon("disconnect");
var_01 = 0;
var_02 = 1;
var_03 = 2;
var_04 = 3;
var_05 = 6;
param_00.var_13C00 = [];
param_00.var_E603 = [];
param_00.var_13C38 = [];
if(scripts\cp\_utility::map_check(2))
{
var_06 = "cp/cp_disco_wall_buy_models.csv";
}
else if(scripts\cp\_utility::map_check(3))
{
var_06 = "cp/cp_town_wall_buy_models.csv";
}
else if(scripts\cp\_utility::map_check(4))
{
var_06 = "cp/cp_final_wall_buy_models.csv";
}
else
{
var_06 = "cp/cp_wall_buy_models.csv";
}
var_07 = 0;
for(;;)
{
var_08 = tablelookupbyrow(var_06,var_07,var_02);
if(var_08 == "")
{
break;
}
var_09 = "none";
var_0A = "none";
var_0B = "none";
var_0C = -1;
if(isdefined(var_08))
{
var_0D = tablelookup(var_06,var_01,var_07,var_03);
var_0E = tablelookup(var_06,var_01,var_07,var_04);
var_0F = [];
if(isdefined(var_0D) && var_0D != "")
{
var_10 = scripts\cp\_relics::func_7D6C(param_00,var_0D);
if(var_10.size > 0)
{
param_00.var_13C38[var_0D] = var_10;
}
for(var_11 = 0;var_11 < var_05;var_11++)
{
var_12 = param_00 getplayerdata("cp","zombiePlayerLoadout","zombiePlayerWeaponModels",var_0D,"attachment",var_11);
if(isdefined(var_12) && var_12 != "none")
{
var_0F[var_0F.size] = var_12;
}
}
var_09 = scripts\cp\_utility::getweaponcamo(var_0D);
var_0A = scripts\cp\_utility::getweaponcosmeticattachment(var_0D);
var_0B = scripts\cp\_utility::getweaponreticle(var_0D);
var_0C = scripts\cp\_utility::getweaponpaintjobid(var_0D);
}
param_00.var_13C00[var_08] = scripts\cp\_utility::func_BD68(scripts\cp\_utility::func_8234(var_0E),var_0F,var_09,var_0B,scripts\cp\_utility::func_7D72(param_00,var_0E),self getentitynumber(),self.var_41F0,var_0C,var_0A);
if(var_08 == "g18")
{
param_00 loadweaponsforplayer([param_00.var_13C00[var_08]],1);
}
var_13 = function_00E3(param_00.var_13C00[var_08]);
foreach(var_12 in var_13)
{
if(issubstr(var_12,"rof"))
{
param_00.var_E603[param_00.var_E603.size] = getweaponbasename(param_00.var_13C00[var_08]);
}
}
}
var_07++;
}
param_00.weaponkitinitialized = 1;
param_00 notify("player_weapon_build_kit_initialized");
}
//Function Number: 5
func_23DA()
{
if(scripts\cp\_utility::map_check(2))
{
var_00 = "cp/cp_disco_wall_buy_models.csv";
}
else if(scripts\cp\_utility::map_check(3))
{
var_00 = "cp/cp_town_wall_buy_models.csv";
}
else if(scripts\cp\_utility::map_check(4))
{
var_00 = "cp/cp_final_wall_buy_models.csv";
}
else
{
var_00 = "cp/cp_wall_buy_models.csv";
}
if(!scripts\common\utility::func_6E34("wall_buy_setup_done"))
{
scripts\common\utility::flag_init("wall_buy_setup_done");
}
var_01 = [];
var_02 = 0;
for(;;)
{
var_03 = tablelookupbyrow(var_00,var_02,1);
if(var_03 == "")
{
break;
}
var_01[var_01.size] = var_03;
var_02++;
}
var_04 = [];
var_05 = scripts\common\utility::getstructarray("interaction","targetname");
foreach(var_07 in var_05)
{
if(isdefined(var_07.name) && var_07.name == "wall_buy")
{
var_04[var_04.size] = var_07;
if(isdefined(var_07.target))
{
if(scripts\common\utility::istrue(var_07.var_1D3F))
{
continue;
}
var_08 = scripts\common\utility::getstructarray(var_07.target,"target");
foreach(var_0A in var_08)
{
if(var_0A == var_07)
{
continue;
}
var_0A.var_1D3F = 1;
var_0A.parent_struct = var_07;
}
}
}
}
while(level.players.size < 1)
{
wait(0.05);
}
var_0D = sortbydistance(var_04,level.players[0].origin);
foreach(var_0F in var_0D)
{
var_0F.script_noteworthy = strtok(var_0F.script_noteworthy,"+")[0];
var_10 = var_0F.script_noteworthy;
var_11 = scripts\cp\_utility::func_80D8(var_0F.script_noteworthy);
var_12 = undefined;
if(!isdefined(level.var_138A1[var_11]))
{
var_0F.var_55BA = 1;
continue;
}
if(!scripts\common\utility::istrue(var_0F.var_1D3F))
{
if(isdefined(var_0F.target))
{
var_13 = scripts\common\utility::getstruct(var_0F.target,"targetname");
var_14 = var_13.origin;
var_15 = var_13.angles;
}
else
{
var_14 = var_11.origin;
var_15 = var_10.angles;
}
for(var_02 = 0;var_02 < var_01.size;var_02++)
{
if(var_01[var_02] == var_11)
{
var_12 = var_02;
break;
}
}
if(isdefined(var_12))
{
var_0F.trigger = spawn("script_weapon",var_14,0,0,var_12);
}
else
{
var_16 = (0,0,0);
var_17 = (0,0,0);
if(issubstr(var_0F.script_noteworthy,"forgefreeze"))
{
var_16 = (3.25,-18,9.75);
var_17 = (0,0,-90);
}
if(isdefined(var_15))
{
var_15 = var_15 + var_17;
}
var_0F.trigger = spawn("script_model",var_14 + var_16);
if(isdefined(var_10))
{
var_0F.trigger setmodel(level.var_138A1[var_11].model);
}
else
{
var_0F.trigger setmodel("tag_origin");
}
}
if(isdefined(var_15))
{
var_0F.trigger.angles = var_15;
}
var_0F.trigger thread func_16F5(var_0F,var_0F.trigger,var_10,var_11);
level.var_138CB[level.var_138CB.size] = var_0F.trigger;
}
else if(isdefined(var_0F.parent_struct.trigger))
{
var_0F.trigger = var_0F.parent_struct.trigger;
}
else
{
var_0F thread applyparentstructvalues(var_0F);
}
var_0F.var_394 = var_10;
}
scripts\common\utility::flag_set("wall_buy_setup_done");
}
//Function Number: 6
applyparentstructvalues(param_00)
{
level endon("game_ended");
while(!isdefined(param_00.parent_struct.trigger))
{
scripts\common\utility::func_136F7();
}
param_00.trigger = param_00.parent_struct.trigger;
}
//Function Number: 7
func_16F5(param_00,param_01,param_02,param_03)
{
if(!scripts\common\utility::flag("init_interaction_done"))
{
scripts\common\utility::flag_wait("init_interaction_done");
}
param_01.cost = level.interactions[param_02].cost;
param_01.struct = param_00;
if(isdefined(param_03) && issubstr(param_03,"harpoon") || issubstr(param_03,"slasher") || issubstr(param_03,"katana"))
{
return;
}
if(param_00.var_EE79 != "tickets")
{
level.var_C785[level.var_C785.size] = param_01;
}
}
//Function Number: 8
func_A02D(param_00)
{
param_00 func_834A(self);
}
//Function Number: 9
givevalidweapon(param_00,param_01)
{
level endon("game_ended");
param_00 endon("game_ended");
param_00 endon("disconnect");
param_00 notify("weapon_purchased");
if(scripts\common\utility::istrue(param_00.var_9FCB))
{
wait(0.5);
}
var_02 = undefined;
if(scripts\cp\zombies\zmb_zombies_weapons::func_FFA6(param_00))
{
var_03 = param_00 scripts\cp\_utility::getvalidtakeweapon();
var_04 = scripts\cp\_utility::func_80D8(var_03);
param_00 takeweapon(var_03);
if(isdefined(param_00.var_C8A2[var_04]))
{
param_00.var_C8A2[var_04] = undefined;
param_00 notify("weapon_level_changed");
}
}
var_05 = scripts\cp\_utility::func_80D8(param_01);
param_00 scripts\cp\_utility::take_fists_weapon(param_00);
if(isdefined(param_00.var_13C00[var_05]))
{
param_01 = param_00.var_13C00[var_05];
}
var_06 = function_00E3(param_01);
param_01 = param_00 scripts\cp\_weapon::func_E469(param_01,undefined,var_06,undefined,undefined);
param_01 = param_00 scripts\cp\_utility::func_12C6(param_01,undefined,undefined,0);
var_07 = spawnstruct();
var_07.var_B111 = 1;
param_00.var_C8A2[var_05] = var_07;
param_00 scripts\cp\_merits::func_D9AD("mt_purchased_weapon");
param_00 notify("weapon_level_changed");
param_00 givemaxammo(param_01);
param_00 switchtoweapon(param_01);
}
//Function Number: 10
func_834A(param_00)
{
var_01 = 0;
var_02 = undefined;
var_03 = param_00.trigger.cost;
var_04 = undefined;
var_05 = undefined;
var_06 = undefined;
var_07 = self getweaponslistprimaries();
var_08 = self getweaponslistprimaries().size;
var_09 = 3;
var_0A = scripts\cp\_utility::func_80D8(param_00.script_noteworthy);
if(param_00.script_noteworthy == "iw7_forgefreeze_zm")
{
level.var_B15E["forgefreeze"] = "iw7_forgefreeze_zm+forgefreezealtfire";
var_01 = 1;
}
if(param_00.script_noteworthy == "iw7_venomx_zm")
{
level.var_B15E["venomx"] = "iw7_venomx_zm";
if(isdefined(level.venomx_count) && level.venomx_count >= level.players.size)
{
var_01 = 1;
}
}
if(scripts\cp\_utility::weapon_is_dlc_melee(param_00.script_noteworthy))
{
var_01 = 1;
}
if(!scripts\cp\_weapon::func_8BBB(param_00.script_noteworthy))
{
var_0B = scripts\cp\_utility::getvalidtakeweapon();
self.var_4B32 = var_0B;
if(isdefined(var_0B))
{
var_02 = 1;
var_0C = scripts\cp\_utility::func_80D8(var_0B);
if(scripts\cp\_utility::func_8BAE() && var_08 < var_09 + 1)
{
var_02 = 0;
}
foreach(var_0E in var_07)
{
if(scripts\cp\_utility::isstrstart(var_0E,"alt_"))
{
var_09++;
}
}
if(scripts\cp\_utility::has_zombie_perk("perk_machine_more"))
{
var_09++;
}
if(var_07.size < var_09)
{
var_02 = 0;
}
if(var_02)
{
if(isdefined(self.var_C8A2[var_0C]))
{
self.var_C8A2[var_0C] = undefined;
self notify("weapon_level_changed");
}
thread scripts\cp\_interaction::func_CE96(param_00,self);
self takeweapon(var_0B);
}
}
if(isdefined(self.var_13C00[var_0A]))
{
var_04 = self.var_13C00[var_0A];
}
else
{
var_04 = param_00.var_394;
}
if(scripts\cp\_utility::func_9BA0("wall_power"))
{
var_10 = scripts\common\utility::array_combine(function_00E3(var_04),["pap1"]);
if(issubstr(var_04,"venomx"))
{
var_10 = undefined;
var_06 = undefined;
if(scripts\common\utility::istrue(level.completed_venomx_pap1_challenges))
{
var_04 = "iw7_venomx_zm_pap1";
var_06 = level.pap_1_camo;
}
}
else
{
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,var_0A))
{
var_06 = undefined;
}
else if(isdefined(level.pap_1_camo))
{
var_06 = level.pap_1_camo;
}
switch(var_0A)
{
case "dischord":
var_06 = "camo20";
break;
case "facemelter":
var_06 = "camo22";
break;
case "headcutter":
var_06 = "camo21";
break;
case "shredder":
var_06 = "camo23";
break;
}
}
var_11 = scripts\cp\_weapon::func_E469(var_04,undefined,var_10,undefined,var_06);
var_11 = scripts\cp\_utility::func_12C6(var_11,undefined,undefined,1);
var_12 = scripts\cp\_utility::func_80D8(var_11);
scripts\cp\_merits::func_D9AD("mt_upgrade_weapons");
var_13 = spawnstruct();
var_13.var_B111 = 2;
self.var_C8A2[var_12] = var_13;
if(!scripts\common\utility::istrue(level.completed_venomx_pap1_challenges) && issubstr(var_04,"venomx"))
{
scripts\cp\_utility::take_fists_weapon(self);
self notify("wor_item_pickup",var_11);
scripts\cp\_merits::func_D9AD("mt_purchased_weapon");
self givemaxammo(var_11);
self notify("weapon_level_changed");
self switchtoweapon(var_11);
wait(0.25);
while(self method_81C2())
{
wait(0.05);
}
self notify("weapon_purchased");
wait(0.05);
self.var_DB02 = undefined;
scripts\cp\_interaction::func_DE6E();
return;
}
scripts\cp\_utility::func_C151("wall_power");
scripts\cp\_utility::take_fists_weapon(self);
}
else
{
var_10 = function_00E3(var_07);
var_11 = scripts\cp\_weapon::func_E469(var_06,undefined,var_13);
var_13 = scripts\cp\_utility::func_12C6(var_13,undefined,undefined,1);
self.var_A035 = var_13;
level.var_12631 = randomint(100);
scripts\cp\zombies\zombie_analytics::func_AF86(1,self,self.var_A035,self.var_4B32,level.wave_num,var_01.name,self.var_13BE3,self.var_A682,self.var_5AFC);
scripts\cp\_utility::take_fists_weapon(self);
var_13 = spawnstruct();
var_13.var_B111 = 1;
self.var_C8A2[var_0A] = var_13;
}
if(var_01)
{
param_00.trigger delete();
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
}
self notify("wor_item_pickup",var_11);
scripts\cp\_merits::func_D9AD("mt_purchased_weapon");
self givemaxammo(var_11);
self notify("weapon_level_changed");
self switchtoweapon(var_11);
wait(0.25);
while(self method_81C2())
{
wait(0.05);
}
}
else
{
self.var_DB02 = 1;
var_0A = undefined;
var_14 = self getweaponslistall();
var_15 = self getcurrentweapon();
var_16 = scripts\cp\_utility::func_80D8(param_00.script_noteworthy);
var_17 = undefined;
foreach(var_19 in var_14)
{
var_0A = scripts\cp\_utility::func_80D8(var_19);
if(var_0A == var_16)
{
var_17 = var_19;
break;
}
}
var_1B = function_0249(var_17);
var_1C = lib_0CFF::func_D876();
var_1D = int(var_1C * var_1B);
var_1E = self getweaponammostock(var_17);
if(var_1E < var_1D)
{
self setweaponammostock(var_17,var_1D);
}
if(self hasweapon("alt_" + var_17))
{
var_1B = function_0249("alt_" + var_17);
var_1C = lib_0CFF::func_D876();
var_1D = int(var_1C * var_1B);
var_1E = self getweaponammostock("alt_" + var_17);
if(var_1E < var_1D)
{
self setweaponammostock("alt_" + var_17,var_1D);
}
}
thread scripts\cp\_vo::try_to_play_vo("pillage_ammo","zmb_comment_vo","low",10,0,1,1,50);
}
self notify("weapon_purchased");
wait(0.05);
self.var_DB02 = undefined;
scripts\cp\_interaction::func_DE6E();
}
//Function Number: 11
func_E229(param_00)
{
if(isdefined(self.var_10936))
{
self.var_10936 = undefined;
}
if(isdefined(self.var_10939))
{
self.var_10939 = undefined;
}
if(isdefined(self.var_10938))
{
self.var_10938 = undefined;
}
if(isdefined(self.var_10937))
{
self.var_10937 = undefined;
}
if(isdefined(self.var_10935))
{
self.var_10935 = undefined;
}
}
//Function Number: 12
func_82F4()
{
if(lib_0CFF::func_D87B() == 1)
{
var_00 = self getweaponslistprimaries();
foreach(var_02 in var_00)
{
var_03 = scripts\cp\_utility::func_4626(var_02);
if(var_03 == "weapon_pistol")
{
var_04 = function_0249(var_02);
var_05 = int(var_04 * 0.25);
var_06 = self method_80FB(var_02);
if(var_05 > var_06)
{
self setweaponammostock(var_02,var_05);
}
}
}
}
}
//Function Number: 13
func_7D6F(param_00)
{
var_01 = self getweaponslistprimaries();
foreach(var_03 in var_01)
{
var_04 = scripts\cp\_persistence::func_7858(var_03);
if(issubstr(param_00,var_04))
{
return var_03;
}
}
return undefined;
}
//Function Number: 14
func_7C04()
{
var_00 = self getweaponslistprimaries();
var_01 = 3;
foreach(var_03 in var_00)
{
if(scripts\cp\_utility::isstrstart(var_03,"alt_"))
{
var_01++;
}
}
if(scripts\cp\_utility::has_zombie_perk("perk_machine_more"))
{
var_01++;
}
if(var_00.size >= var_01)
{
var_05 = self getcurrentweapon();
var_06 = 0;
if(var_05 == "none")
{
var_06 = 1;
}
else if(scripts\common\utility::func_2286(level.additional_laststand_weapon_exclusion,var_05))
{
var_06 = 1;
}
else if(scripts\common\utility::func_2286(level.additional_laststand_weapon_exclusion,getweaponbasename(var_05)))
{
var_06 = 1;
}
else if(scripts\cp\_utility::func_9C42(var_05,1))
{
var_06 = 1;
}
if(var_06)
{
self.var_4643 = self getweaponslistall();
var_05 = scripts\cp\_laststand::func_3E88(level.additional_laststand_weapon_exclusion,1,1);
}
self.var_4643 = undefined;
if(function_0244(var_05) == "altmode")
{
var_05 = func_7D66(var_05);
}
return var_05;
}
return undefined;
}
//Function Number: 15
func_7D66(param_00)
{
if(function_0244(param_00) != "altmode")
{
return param_00;
}
return getsubstr(param_00,4);
}
//Function Number: 16
func_381D(param_00)
{
var_01 = self getweaponslistprimaries();
var_02 = self getcurrentweapon();
var_03 = scripts\cp\_utility::func_4626(var_02);
var_04 = scripts\cp\_utility::func_7DF7(var_02);
foreach(param_00 in var_01)
{
if(scripts\cp\_utility::isstrstart(param_00,"alt_"))
{
var_01 = scripts\common\utility::func_22A9(var_01,param_00);
}
}
var_07 = 0;
if(!scripts\cp\_utility::has_zombie_perk("perk_machine_more"))
{
var_08 = 3;
}
else
{
var_08 = 4;
}
if(isdefined(self.var_C20E))
{
var_08 = var_08 + self.var_C20E;
}
while(self method_81C2())
{
wait(0.05);
}
if(var_02 == "none")
{
return 0;
}
if(isdefined(level.var_4C40))
{
if(![[ level.var_4C40 ]](var_01,var_02,var_03,var_08))
{
return 0;
}
}
if(isdefined(scripts\cp\_utility::func_8BAE()) && scripts\cp\_utility::func_8BAE())
{
return 0;
}
if(var_01.size >= var_08 + 1 && self.var_8C1E)
{
return 0;
}
if(var_01.size >= var_08 + 2 && self.var_8C1E)
{
return 0;
}
if(var_01.size >= var_08 + 1 && !self.var_8C1F)
{
return 0;
}
if(var_01.size >= var_08 + 2 && self.var_8C1F)
{
return 0;
}
if(self.var_8C1F && var_01.size >= var_08 + 1)
{
return 0;
}
if(self.var_8C1F && var_01.size >= var_08 + 1)
{
return 0;
}
if(!scripts\cp\_utility::func_9C03())
{
return 1;
}
else
{
return 0;
}
return 0;
}
//Function Number: 17
func_9A38(param_00,param_01)
{
if(scripts\cp\_utility::func_9D18())
{
return;
}
if(issubstr(param_00.script_noteworthy,"venomx"))
{
var_02 = param_01 getweaponslistall();
foreach(var_04 in var_02)
{
if(issubstr(var_04,"venomx"))
{
return;
}
}
if(scripts\common\utility::func_6E34("completepuzzles_step4") && scripts\common\utility::flag("completepuzzles_step4"))
{
var_02 = param_01 getweaponslistall();
foreach(var_04 in var_02)
{
if(issubstr(var_04,"venomx"))
{
return;
}
}
param_01 thread scripts\cp\_vo::try_to_play_vo("quest_venx_weapon","final_comment_vo");
if(!isdefined(level.venomx_count))
{
level.venomx_count = 1;
}
param_00 func_A02D(param_01);
param_01.var_A8D3 = undefined;
param_01 lib_0D2A::func_12D7C("EGG_SLAYER",1);
scripts\cp\_interaction::func_E01A(param_00,param_01);
return;
}
return;
}
var_02 func_A02D(var_03);
var_03.var_A8D3 = undefined;
}
//Function Number: 18
func_7D50(param_00,param_01)
{
if(issubstr(param_00.script_noteworthy,"venomx"))
{
if(!scripts\common\utility::flag("completepuzzles_step4"))
{
return "";
}
var_02 = param_01 getweaponslistall();
foreach(var_04 in var_02)
{
if(issubstr(var_04,"venomx"))
{
return &"COOP_INTERACTIONS_CANNOT_BUY";
}
}
}
if(scripts\cp\_utility::func_9D18())
{
return &"CP_ZMB_INTERACTIONS_WALL_BUY_DISABLED";
}
if(!param_01 func_381D(param_00))
{
return &"COOP_INTERACTIONS_CANNOT_BUY";
}
var_06 = [[ level.var_13C1B ]](param_00,param_01);
if(isdefined(var_06))
{
return var_06;
}
var_07 = getweaponbasename(param_00.script_noteworthy);
return level.interaction_hintstrings[var_07];
}
//Function Number: 19
func_F617(param_00)
{
level.var_13C41 = param_00;
}