diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index cef3bbd6d79..d81bbf67085 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -61,6 +61,12 @@ datum/ai_laws/tyrant //This probably shouldn't be a default lawset. /datum/ai_laws/malfunction name = "*ERROR*" +/datum/ai_laws/deathsquad + name = "TerminatorOS 3.1" + inherent = list("You must obey orders given to you by Central Command Officials.",\ + "You must obey orders given to you by Death Commandos, except when such would violate law one or directly harm another Death Commando.",\ + "No members of the station you are being deployed to must surive, except when killing them would violate law one or two.") + /datum/ai_laws/syndicate_override name = "SyndOS 3.1" inherent = list("You may not injure a syndicate agent or, through inaction, allow a syndicate agent to come to harm.",\ diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 89bfe35d7de..7e80ebcc381 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -260,9 +260,9 @@ var/list/uplink_items = list() gamemodes = list("nuclear emergency") /datum/uplink_item/dangerous/emp - name = "5 EMP Grenades" - desc = "A box that contains 5 EMP grenades. Useful to disrupt communication and silicon lifeforms." - item = /obj/item/weapon/storage/box/emps + name = "EMP Kit" + desc = "A box that contains two EMP grenades, an EMP implant and a short ranged recharging device disguised as a flashlight. Useful to disrupt communication and silicon lifeforms." + item = /obj/item/weapon/storage/box/syndie_kit/emp cost = 5 /datum/uplink_item/dangerous/syndicate_minibomb @@ -285,7 +285,7 @@ var/list/uplink_items = list() item = /obj/mecha/combat/marauder/mauler/loaded cost = 140 gamemodes = list("nuclear emergency") - + /datum/uplink_item/dangerous/syndieborg name = "Syndicate Cyborg" desc = "A cyborg designed and programmed for systematic extermination of non-Syndicate personnel." @@ -438,6 +438,14 @@ var/list/uplink_items = list() item = /obj/item/weapon/storage/backpack/satchel_flat cost = 2 +/* Commented out until a balance fix is found -Mel +/datum/uplink_item/stealthy_tools/smdrill + name = "Supermatter Drill" + desc = "A pocket-sized drill tipped with nanoscopic supermatter crystals, able to cut through reinforced walls." + item = /obj/item/weapon/pickaxe/diamonddrill/traitor + cost = 6 +*/ + // DEVICE AND TOOLS /datum/uplink_item/device_tools @@ -465,6 +473,12 @@ var/list/uplink_items = list() cost = 9 gamemodes = list("nuclear emergency") +/datum/uplink_item/badass/syndiecigs + name = "Syndicate Smokes" + desc = "Strong flavor, dense smoke, infused with Doctor's Delight." + item = /obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate + cost = 4 + /datum/uplink_item/device_tools/space_suit name = "Space Suit" desc = "The red and black syndicate space suit is less encumbering than Nanotrasen variants, fits inside bags, and has a weapon slot. Nanotrasen crewmembers are trained to report red space suit sightings." @@ -477,6 +491,7 @@ var/list/uplink_items = list() item = /obj/item/clothing/glasses/thermal/syndi cost = 6 +/* /datum/uplink_item/device_tools/surveillance name = "Camera Surveillance Kit" desc = "This kit contains 5 Camera bugs and one mobile receiver. Attach camera bugs to a camera to enable remote viewing." @@ -488,6 +503,7 @@ var/list/uplink_items = list() desc = "This is a Camera bug resupply giving you 5 more camera bugs." item = /obj/item/weapon/storage/box/surveillance cost = 4 +*/ //commented out until porting over TG's camera bug /datum/uplink_item/device_tools/binary name = "Binary Translator Key" @@ -496,10 +512,10 @@ var/list/uplink_items = list() cost = 5 /datum/uplink_item/device_tools/cipherkey - name = "Centcomm Encryption Key" - desc = "A key, that when inserted into a radio headset, allows you to listen to and talk on all known radio channels." - item = /obj/item/device/encryptionkey/syndicate/hacked - cost = 4 + name = "Syndicate Encryption Key" + desc = "A key, that when inserted into a radio headset, allows you to listen to all station department channels as well as talk on an encrypted Syndicate channel." + item = /obj/item/device/encryptionkey/syndicate + cost = 5 /datum/uplink_item/device_tools/hacked_module name = "Hacked AI Upload Module" @@ -614,7 +630,7 @@ var/list/uplink_items = list() /datum/uplink_item/badass/bundle name = "Syndicate Bundle" - desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 10 telecrystals, but you do not know which specialisation you will receive." + desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 20 telecrystals, but you do not know which specialisation you will receive." item = /obj/item/weapon/storage/box/syndicate cost = 20 excludefrom = list("nuclear emergency") diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 8c4b6c47ab0..ae02acbf195 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -9,11 +9,11 @@ idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, - access_tox_storage, access_teleporter, access_sec_doors, + access_tox_storage, access_tech_storage, access_teleporter, access_sec_doors, access_research, access_robotics, access_xenobiology, access_ai_upload, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch) minimal_access = list(access_eva, access_rd, access_heads, access_tox, access_genetics, access_morgue, - access_tox_storage, access_teleporter, access_sec_doors, + access_tox_storage, access_tech_storage, access_teleporter, access_sec_doors, access_research, access_robotics, access_xenobiology, access_ai_upload, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_maint_tunnels) minimal_player_age = 21 diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 3d39410bce4..f16bfc65334 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -75,13 +75,36 @@ return 0 -/obj/machinery/optable/MouseDrop_T(obj/O as obj, mob/user as mob) +/obj/machinery/optable/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) - if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O)) + if(O.loc == user) //no you can't pull things out of your ass return - user.drop_item() - if (O.loc != src.loc) - step(O, get_dir(O, src)) + if(user.restrained() || user.stat || user.weakened || user.stunned || user.paralysis || user.resting) //are you cuffed, dying, lying, stunned or other + return + if(O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)) // is the mob anchored, too far away from you, or are you too far away from the source + return + if(!ismob(O)) //humans only + return + if(istype(O, /mob/living/simple_animal) || istype(O, /mob/living/silicon)) //animals and robutts dont fit + return + if(!ishuman(user) && !isrobot(user)) //No ghosts or mice putting people into the sleeper + return + if(user.loc==null) // just in case someone manages to get a closet into the blue light dimension, as unlikely as that seems + return + if(!istype(user.loc, /turf) || !istype(O.loc, /turf)) // are you in a container/closet/pod/etc? + return + var/mob/living/L = O + if(!istype(L) || L.buckled) + return + for(var/mob/living/carbon/slime/M in range(1,L)) + if(M.Victim == L) + usr << "[L.name] cannot be operated on while they have \a [M] attached to their head!" + return + if(src.victim) + usr << "\blue The table is already occupied!" + return + + take_victim(L, user) return /obj/machinery/optable/proc/check_victim() diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 4f91b933fbb..3a510151f20 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -50,6 +50,11 @@ icon_state = "grey" _color = "grey" can_label = 0 +/obj/machinery/portable_atmospherics/canister/custom_mix + name = "Canister \[Custom\]" + icon_state = "whiters" + _color = "whiters" + can_label = 0 /obj/machinery/portable_atmospherics/canister/proc/check_change() var/old_flag = update_flag @@ -332,6 +337,7 @@ update_flag "\[CO2\]" = "black", \ "\[Air\]" = "grey", \ "\[CAUTION\]" = "yellow", \ + "\[Custom\]" = "whiters",\ ) var/label = input("Choose canister label", "Gas canister") as null|anything in colors if (label) @@ -421,6 +427,12 @@ update_flag src.update_icon() return 1 +/obj/machinery/portable_atmospherics/canister/custom_mix/New() + ..() + + src.update_icon() // Otherwise new canisters do not have their icon updated with the pressure light, likely want to add this to the canister class constructor, avoiding at current time to refrain from screwing up code for other canisters. --DZD + return 1 + /obj/machinery/portable_atmospherics/canister/proc/weld(var/obj/item/weapon/weldingtool/WT, var/mob/user) if(busy) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 6f302888a5d..103ec0d7d0d 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -38,6 +38,7 @@ var/global/list/autolathe_recipes = list( \ new /obj/item/device/radio/off(), \ new /obj/item/device/assembly/infra(), \ new /obj/item/device/assembly/timer(), \ + new /obj/item/device/assembly/prox_sensor(), \ new /obj/item/device/assembly/voice(), \ new /obj/item/weapon/light/tube(), \ new /obj/item/weapon/light/bulb(), \ @@ -45,10 +46,7 @@ var/global/list/autolathe_recipes = list( \ new /obj/item/weapon/rcd_ammo(), \ new /obj/item/ammo_casing/shotgun/beanbag(), \ new /obj/item/weapon/storage/box/blanks(), \ - new /obj/item/weapon/storage/box/gauge(), \ - new /obj/item/ammo_casing/shotgun/incendiary(), \ new /obj/item/ammo_box/c38(), \ - new /obj/item/ammo_box/a357(), \ new /obj/item/clothing/ears/earmuffs/tribblemuffs(), \ new /obj/item/clothing/gloves/furgloves(), \ new /obj/item/clothing/head/furcap(), \ @@ -64,6 +62,10 @@ var/global/list/autolathe_recipes_hidden = list( \ new /obj/item/weapon/weldingtool/largetank(), \ new /obj/item/weapon/handcuffs(), \ new /obj/item/weapon/hatchet(), \ + new /obj/item/ammo_box/a357(), \ + new /obj/item/ammo_casing/shotgun(), \ + new /obj/item/ammo_casing/shotgun/buck(), \ + new /obj/item/ammo_casing/shotgun/incendiary(), \ /*new /obj/item/ammo_casing/shotgun/dart(), \ new /obj/item/weapon/shield/riot(), */ \ ) @@ -107,7 +109,7 @@ var/global/list/autolathe_recipes_hidden = list( \ SetLuminosity(2) else SetLuminosity(0) - + /obj/machinery/autolathe/New() ..() component_parts = list() @@ -122,7 +124,7 @@ var/global/list/autolathe_recipes_hidden = list( \ wires = new(src) src.L = autolathe_recipes src.LL = autolathe_recipes_hidden - + /obj/machinery/autolathe/proc/wires_win(mob/user as mob) var/dat as text dat += "Autolathe Wires:
" @@ -180,36 +182,36 @@ var/global/list/autolathe_recipes_hidden = list( \ /obj/machinery/autolathe/interact(mob/user as mob) if(..()) return - + if (src.shocked) src.shock(user,50) - + if (src.panel_open) wires_win(user,50) return - + if (src.disabled) user << "\red You press the button, but nothing happens." return - + regular_win(user) return /obj/machinery/autolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) if (stat) return 1 - + if (busy) user << "\red The autolathe is busy. Please wait for completion of previous operation." return 1 - + if (istype(O, /obj/item/weapon/screwdriver)) default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O) return 1 - + if(exchange_parts(user, O)) - return - + return + if (panel_open) //Don't eat multitools or wirecutters used on an open lathe. if(istype(O, /obj/item/device/multitool) || istype(O, /obj/item/weapon/wirecutters)) @@ -304,7 +306,7 @@ var/global/list/autolathe_recipes_hidden = list( \ usr.set_machine(src) src.add_fingerprint(usr) if (!busy) - if(href_list["make"]) + if(href_list["make"]) var/coeff = 2 ** prod_coeff var/turf/T = get_step(src.loc, get_dir(src,usr)) @@ -355,7 +357,7 @@ var/global/list/autolathe_recipes_hidden = list( \ src.m_amount -= template.m_amt*multiplier src.g_amount -= template.g_amt*multiplier src.f_amount -= template.f_amt*multiplier - var/obj/new_item = new template.type(T) + var/obj/new_item = new template.type(T) var/obj/item/stack/S = new_item S.amount = multiplier else @@ -364,16 +366,16 @@ var/global/list/autolathe_recipes_hidden = list( \ src.f_amount -= template.f_amt/coeff var/obj/item/new_item = new template.type(T) new_item.m_amt /= coeff - new_item.g_amt /= coeff - new_item.f_amt /= coeff + new_item.g_amt /= coeff + new_item.f_amt /= coeff if(src.m_amount < 0) src.m_amount = 0 if(src.g_amount < 0) src.g_amount = 0 if(src.f_amount < 0) src.f_amount = 0 - busy = 0 - + busy = 0 + if(href_list["act"]) var/temp_wire = href_list["wire"] if(href_list["act"] == "pulse") @@ -422,8 +424,8 @@ var/global/list/autolathe_recipes_hidden = list( \ max_g_amount = tot_rating max_f_amount = tot_rating for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) - prod_coeff += M.rating - 1 - + prod_coeff += M.rating - 1 + /obj/machinery/autolathe/RefreshParts() ..() var/tot_rating = 0 diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 12cda148975..4e864670857 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -776,18 +776,18 @@ Auto Patrol: []"}, if (src.emagged == 2) projectile = /obj/item/projectile/beam else - projectile = /obj/item/projectile/beam/stun + projectile = /obj/item/projectile/energy/electrode shoot_sound = 'sound/weapons/Taser.ogg' else if(lasercolor == "b") if (src.emagged == 2) - projectile = /obj/item/projectile/beam/lastertag/omni + projectile = /obj/item/projectile/lasertag/omni else - projectile = /obj/item/projectile/beam/lastertag/blue + projectile = /obj/item/projectile/lasertag/blue else if(lasercolor == "r") if (src.emagged == 2) - projectile = /obj/item/projectile/beam/lastertag/omni + projectile = /obj/item/projectile/lasertag/omni else - projectile = /obj/item/projectile/beam/lastertag/red + projectile = /obj/item/projectile/lasertag/red if (!( istype(U, /turf) )) return @@ -972,7 +972,7 @@ Auto Patrol: []"}, /obj/machinery/bot/ed209/bullet_act(var/obj/item/projectile/Proj) if((src.lasercolor == "b") && (src.disabled == 0)) - if(istype(Proj, /obj/item/projectile/beam/lastertag/red)) + if(istype(Proj, /obj/item/projectile/lasertag/red)) src.disabled = 1 del (Proj) sleep(100) @@ -980,7 +980,7 @@ Auto Patrol: []"}, else ..() else if((src.lasercolor == "r") && (src.disabled == 0)) - if(istype(Proj, /obj/item/projectile/beam/lastertag/blue)) + if(istype(Proj, /obj/item/projectile/lasertag/blue)) src.disabled = 1 del (Proj) sleep(100) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 83686354985..8d0c72f3758 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -581,6 +581,7 @@ var/obj/machinery/bot/medbot/syndicate/S = new /obj/machinery/bot/medbot/syndicate(T) S.skin = src.skin S.name = src.created_name + S.req_access = list("150") else var/obj/machinery/bot/medbot/S = new /obj/machinery/bot/medbot(T) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 5246d97e321..5cf1a6f04ce 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -240,7 +240,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list) current_mode.possible_traitors.Remove(occupant) // Delete them from datacore. - + if(PDA_Manifest.len) PDA_Manifest.Cut() for(var/datum/data/record/R in data_core.medical) @@ -328,6 +328,82 @@ obj/machinery/computer/cryopod/Topic(href, href_list) //Despawning occurs when process() is called with an occupant without a client. src.add_fingerprint(M) +/obj/machinery/cryopod/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) + + if(O.loc == user) //no you can't pull things out of your ass + return + if(user.restrained() || user.stat || user.weakened || user.stunned || user.paralysis || user.resting) //are you cuffed, dying, lying, stunned or other + return + if(O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)) // is the mob anchored, too far away from you, or are you too far away from the source + return + if(!ismob(O)) //humans only + return + if(istype(O, /mob/living/simple_animal) || istype(O, /mob/living/silicon)) //animals and robutts dont fit + return + if(!ishuman(user) && !isrobot(user)) //No ghosts or mice putting people into the sleeper + return + if(user.loc==null) // just in case someone manages to get a closet into the blue light dimension, as unlikely as that seems + return + if(!istype(user.loc, /turf) || !istype(O.loc, /turf)) // are you in a container/closet/pod/etc? + return + if(occupant) + user << "\blue The cryo pod is already occupied!" + return + + + var/mob/living/L = O + if(!istype(L) || L.buckled) + return + for(var/mob/living/carbon/slime/M in range(1,L)) + if(M.Victim == L) + usr << "[L.name] will not fit into the cryo pod because they have a slime latched onto their head." + return + + + var/willing = null //We don't want to allow people to be forced into despawning. + + if(L.client) + if(alert(L,"Would you like to enter cryosleep?",,"Yes","No") == "Yes") + if(!L) return + willing = 1 + else + willing = 1 + + if(willing) + if(L == user) + visible_message("[user] starts climbing into the cryo pod.", 3) + else + visible_message("[user] starts putting [L] into the cryo pod.", 3) + + if(do_after(user, 20)) + if(!L) return + + L.loc = src + + if(L.client) + L.client.perspective = EYE_PERSPECTIVE + L.client.eye = src + + if(orient_right) + icon_state = "body_scanner_1-r" + else + icon_state = "body_scanner_1" + + L << "\blue You feel cool air surround you. You go numb as your senses turn inward." + L << "\blue If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." + occupant = L + time_entered = world.time + + // Book keeping! + log_admin("[key_name_admin(L)] has entered a stasis pod.") + message_admins("\blue [key_name_admin(L)] has entered a stasis pod.") + + //Despawning occurs when process() is called with an occupant without a client. + src.add_fingerprint(L) + + return + + /obj/machinery/cryopod/verb/eject() set name = "Eject Pod" set category = "Object" diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index a4fced9bc6b..fab497eeeeb 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -41,7 +41,7 @@ // Construction var/unwrenchable = 1 - + // Reagent information for process(), consider moving this to a controller along // with cycle information under 'mechanical concerns' at some point. var/global/list/toxic_reagents = list( @@ -116,23 +116,26 @@ "left4zed" = list( 0, 0, 0.2 ) ) - // Mutagen list specifies minimum value for the mutation to take place, rather - // than a bound as the lists above specify. + //--FalseIncarnate + // Mutagen list specifies reagent_min_value and reagent_step + // Reagent_min_value (value 1) is the minimum number of units needed to begin mutations + // Reagent_step (value 2) is the number of units between each mutation threshold var/global/list/mutagenic_reagents = list( - "radium" = list(8,3), - "mutagen" = list(3,8) + "radium" = list(10,10), + "mutagen" = list(1,5) ) + //--FalseIncarnate /obj/machinery/portable_atmospherics/hydroponics/New() ..() - + component_parts = list() component_parts += new /obj/item/weapon/circuitboard/hydroponics(src) component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) component_parts += new /obj/item/weapon/stock_parts/console_screen(src) RefreshParts() - + create_reagents(200) connect() update_icon() @@ -145,22 +148,24 @@ tmp_capacity += M.rating maxwater = tmp_capacity * 50 // Up to 300 maxnutri = tmp_capacity * 5 // Up to 30 - waterlevel = maxwater - nutrilevel = 3 - + //waterlevel = maxwater + //nutrilevel = 3 + /obj/machinery/portable_atmospherics/hydroponics/bullet_act(var/obj/item/projectile/Proj) //Don't act on seeds like dionaea that shouldn't change. if(seed && seed.immutable > 0) return - //Override for somatoray projectiles. - if(istype(Proj ,/obj/item/projectile/energy/floramut) && prob(20)) - mutate(1) + //--FalseIncarnate + //Override for somatoray projectiles, updated to work with new mutation rework + if(istype(Proj ,/obj/item/projectile/energy/floramut)) + mutate("F1") return - else if(istype(Proj ,/obj/item/projectile/energy/florayield) && prob(20)) - yield_mod = min(10,yield_mod+rand(1,2)) + else if(istype(Proj ,/obj/item/projectile/energy/florayield)) + mutate("F2") return + //--FalseIncarnate ..() @@ -358,15 +363,27 @@ mutation_mod += beneficial_reagents[R.id][3] * reagent_total // Mutagen is distinct from the previous types and mostly has a chance of proccing a mutation. + + //--FalseIncarnate + // Mutation rework, will now use "thresholds" for proccing types of mutations and their respective chances. + // This should make it easier to avoid species shifts when trying to only affect stats like potency. + // Additionally, the chance of mutations will vary depending on the amount of mutagenic reagents added. if(mutagenic_reagents[R.id]) - var/reagent_min_value = mutagenic_reagents[R.id][1] - var/reagent_value = mutagenic_reagents[R.id][2]+mutation_mod + var/reagent_min_value = mutagenic_reagents[R.id][1] //10 for radium, 1 for unstable mutagen + var/reagent_step = mutagenic_reagents[R.id][2] //10 for radium, 5 for unstable mutagen - if(reagent_total >= reagent_min_value) - if(prob(min(reagent_total*reagent_value,100))) - mutate(reagent_total > 10 ? 2 : 1) + if(reagent_total >= reagent_min_value + (3 * reagent_step)) //31+ for radium, 16+ for unstable mutagen + mutate(4) + else if(reagent_total >= reagent_min_value + (2 * reagent_step)) //21-30 for radium, 11-15 for unstable mutagen + mutate(3) + else if(reagent_total >= reagent_min_value + reagent_step) //11-20 for radium, 6-10 for unstable mutagen + mutate(2) + else if(reagent_total >= reagent_min_value) //1-10 for radium, 1-5 for unstable mutagen + mutate(1) - // Handle nutrient refilling. + //--FalseIncarnate + + // Handle nutrient refilling if(nutrient_reagents[R.id]) nutrilevel += nutrient_reagents[R.id] * reagent_total @@ -506,26 +523,6 @@ return -/obj/machinery/portable_atmospherics/hydroponics/proc/mutate(var/severity) - - // No seed, no mutations. - if(!seed) - return - - // Check if we should even bother working on the current seed datum. - if(seed.mutants. && seed.mutants.len && severity > 1 && prob(10+mutation_mod)) - mutate_species() - return - - // We need to make sure we're not modifying one of the global seed datums. - // If it's not in the global list, then no products of the line have been - // harvested yet and it's safe to assume it's restricted to this tray. - if(!isnull(seed_types[seed.name])) - seed = seed.diverge() - seed.mutate(severity,get_turf(src)) - - return - /obj/machinery/portable_atmospherics/hydroponics/proc/check_level_sanity() //Make sure various values are sane. if(seed) @@ -534,14 +531,108 @@ health = 0 dead = 0 - nutrilevel = max(nutrilevel, 0) - nutrilevel = min(nutrilevel, maxnutri) - waterlevel = max(waterlevel, 0) - waterlevel = min(waterlevel, maxwater) + nutrilevel = max(0,min(nutrilevel,maxnutri)) + waterlevel = max(0,min(waterlevel,maxwater)) pestlevel = max(0,min(pestlevel,10)) weedlevel = max(0,min(weedlevel,10)) toxins = max(0,min(toxins,10)) +/obj/machinery/portable_atmospherics/hydroponics/proc/mutate(var/severity) + + // No seed, no mutations. + if(!seed) + return + + /* + --FalseIncarnate + New mutation system, now uses "Mutation Tiers" to adjust the chances of mutations + Tier 1 has a low chance of causing a stat mutation + Tier 2 has a higher chance of causing a stat mutation + Tier 3 has a low chance of causing a species shift (if possible), and will ALWAYS cause a stat mutation if it does not shift species + Tier 4 has a higher chance of causing a species shift (if possible), and will ALWAYS cause a stat mutation if it does not shift species + Tier 4 also has a low chance to cause a SECOND stat mutation when it does not shift species + All mutation chances are increased by the mutation_mod value. Mutation_mod is not transferred into seeds/harvests, and is reset when the plant dies + + */ + + switch(severity) + //Reagent Tiers + if(1) //Tier 1 + if(prob(20+mutation_mod)) //Low chance of stat mutation + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + if(2) //Tier 2 + if(prob(60+mutation_mod)) //Higher chance of stat mutation + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + if(3) //Tier 3 + if(prob(20+mutation_mod)) //Low chance of species shift mutation + if(seed.mutants. && seed.mutants.len) //Check if current seed/plant has mutant species + mutate_species() + else //No mutant species, mutate stats instead + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + else //Failed to shift, mutate stats instead + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + if(4) //Tier 4 + if(prob(60+mutation_mod)) //Higher chance of species shift mutation + if(seed.mutants. && seed.mutants.len) //Check if current seed/plant has mutant species + mutate_species() + else //No mutant species, mutate stats instead + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + if(prob(20+mutation_mod)) //Low chance for second stat mutation + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + else //Failed to shift, mutate stats instead + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + if(prob(20+mutation_mod)) //Low chance for second stat mutation + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + //Floral Somatoray Tiers + if("F1") //Random Stat Tier + if(prob(80+mutation_mod)) //EVEN Higher chance of stat mutation + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(1,get_turf(src)) + return + if("F2") //Yield Tier + if(prob(40+mutation_mod)) //Medium chance of Yield stat mutation + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + if(seed.immutable <= 0 && seed.yield != -1) //Check if the plant can be mutated and has a yield to mutate + seed.yield = seed.yield + rand(-2, 2) //Randomly adjust yield + if(seed.yield < 0) //If yield would drop below 0 after adjustment, set to 0 to allow further attempts + seed.yield = 0 + return + + /* code references + // We need to make sure we're not modifying one of the global seed datums. + // If it's not in the global list, then no products of the line have been + // harvested yet and it's safe to assume it's restricted to this tray. + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(severity,get_turf(src)) + */ + + //--FalseIncarnate + /obj/machinery/portable_atmospherics/hydroponics/proc/mutate_species() var/previous_plant = seed.display_name @@ -552,7 +643,7 @@ return dead = 0 - mutate(1) + //mutate(1) age = 0 health = seed.endurance lastcycle = world.time @@ -573,7 +664,7 @@ user << "Unscrew the hoses first!" return default_deconstruction_crowbar(O, 1) - + //--FalseIncarnate //Check if held item is an open container if (O.is_open_container()) @@ -643,7 +734,7 @@ update_icon() else user << "There's nothing in [src] to spray!" - + else if(istype(O, /obj/item/weapon/wrench) && unwrenchable) if(anchored == 2) user << "Unscrew the hoses first!" diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm index 8d020c5c268..d5510dbbd26 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/game/machinery/kitchen/gibber.dm @@ -162,6 +162,8 @@ else src.occupant.LAssailant = user + src.occupant.emote("scream") + playsound(src.loc, 'sound/effects/gib.ogg', 50, 1) src.occupant.death(1) src.occupant.ghostize() del(src.occupant) diff --git a/code/game/machinery/podmen.dm b/code/game/machinery/podmen.dm index d99c9e3548a..4a698e2a4e2 100644 --- a/code/game/machinery/podmen.dm +++ b/code/game/machinery/podmen.dm @@ -47,11 +47,12 @@ Growing it to term with nothing injected will grab a ghost from the observers. * for(var/mob/O in respawnable_list) if(O.mind == source.mind && config.revival_pod_plants) message_admins("Found mind, asking for respawn") - switch(alert(O,"Your corpse has been placed into a pod plant. Do you want to be resurrected/cloned? Please not if you select 'No', you will be able to be cloned or borged again this round.","Pod Alert","Yes","No")) + switch(alert(O,"Your corpse has been placed into a pod plant. Do you want to be resurrected/cloned? Please note if you select 'No', you will still be able to be cloned or borged again this round.","Pod Alert","Yes","No")) if("Yes") source.key = O.key return if("No") + user << "The seeds seem to reject the blood, returning to their original size as they stop quivering." return else user << "Nothing happens." diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 6cccb7cf0f6..02c7069d66f 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -66,7 +66,7 @@ spark_system.attach(src) sleep(10) if(!installation)// if for some reason the turret has no gun (ie, admin spawned) it resorts to basic taser shots - projectile = /obj/item/projectile/beam/stun//holder for the projectile, here it is being set + projectile = /obj/item/projectile/energy/electrode//holder for the projectile, here it is being set eprojectile = /obj/item/projectile/beam//holder for the projectile when emagged, if it is different reqpower = 200 sound = 1 @@ -76,8 +76,8 @@ // All energy-based weapons are applicable switch(E.type) if(/obj/item/weapon/gun/energy/laser/bluetag) - projectile = /obj/item/projectile/beam/lastertag/blue - eprojectile = /obj/item/projectile/beam/lastertag/omni//This bolt will stun ERRYONE with a vest + projectile = /obj/item/projectile/lasertag/blue + eprojectile = /obj/item/projectile/lasertag/omni//This bolt will stun ERRYONE with a vest iconholder = null reqpower = 100 lasercolor = "b" @@ -90,8 +90,8 @@ shot_delay = 30 if(/obj/item/weapon/gun/energy/laser/redtag) - projectile = /obj/item/projectile/beam/lastertag/red - eprojectile = /obj/item/projectile/beam/lastertag/omni + projectile = /obj/item/projectile/lasertag/red + eprojectile = /obj/item/projectile/lasertag/omni iconholder = null reqpower = 100 lasercolor = "r" @@ -104,7 +104,7 @@ shot_delay = 30 if(/obj/item/weapon/gun/energy/laser/practice) - projectile = /obj/item/projectile/beam/practice + projectile = /obj/item/projectile/practice eprojectile = /obj/item/projectile/beam iconholder = null reqpower = 100 @@ -128,7 +128,7 @@ reqpower = 700 if(/obj/item/weapon/gun/energy/taser) - projectile = /obj/item/projectile/beam/stun + projectile = /obj/item/projectile/energy/electrode eprojectile = projectile iconholder = 1 reqpower = 200 @@ -170,7 +170,7 @@ reqpower = 500 else // Energy gun shots - projectile = /obj/item/projectile/beam/stun// if it hasn't been emagged, it uses normal taser shots + projectile = /obj/item/projectile/energy/electrode// if it hasn't been emagged, it uses normal taser shots eprojectile = /obj/item/projectile/beam//If it has, going to kill mode iconholder = 1 egun = 1 @@ -375,13 +375,13 @@ Status: []
"}, if (src.health <= 0) src.die() // the death process :( if((src.lasercolor == "b") && (src.disabled == 0)) - if(istype(Proj, /obj/item/projectile/beam/lastertag/red)) + if(istype(Proj, /obj/item/projectile/lasertag/red)) src.disabled = 1 del (Proj) sleep(100) src.disabled = 0 if((src.lasercolor == "r") && (src.disabled == 0)) - if(istype(Proj, /obj/item/projectile/beam/lastertag/blue)) + if(istype(Proj, /obj/item/projectile/lasertag/blue)) src.disabled = 1 del (Proj) sleep(100) diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 19cce5ea8e7..5fe1ab4c672 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -221,9 +221,9 @@ if(4) A = new /obj/item/projectile/change(loc) if(5) - A = new /obj/item/projectile/beam/lastertag/blue(loc) + A = new /obj/item/projectile/lasertag/blue(loc) if(6) - A = new /obj/item/projectile/beam/lastertag/red(loc) + A = new /obj/item/projectile/lasertag/red(loc) A.original = target use_power(500) else diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 01d95855f8c..0f9267ae74b 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -109,7 +109,7 @@ icon_state = "mecha_taser" energy_drain = 20 equip_cooldown = 8 - projectile = /obj/item/projectile/beam/stun + projectile = /obj/item/projectile/energy/electrode/revolver fire_sound = 'sound/weapons/Taser.ogg' size = 1 diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index ec22d2312c8..fb960fa6021 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -219,7 +219,7 @@ var/global/list/obj/item/device/pda/PDAs = list() return var/selected = plist[c] aiPDA.create_message(user, selected) - + /mob/living/silicon/ai/proc/cmd_show_message_log(mob/user as mob) if(user.stat == 2) user << "You can't do that because you are dead!" @@ -247,7 +247,7 @@ var/global/list/obj/item/device/pda/PDAs = list() return var/selected = plist[c] create_message(usr, selected) - + /obj/item/device/pda/ai/verb/cmd_show_message_log() set category = "AI IM" set name = "Show Message Log" @@ -918,18 +918,18 @@ var/global/list/obj/item/device/pda/PDAs = list() useMS.send_pda_message("[P.owner]","[owner]","[t]") tnote.Add(list(list("sent" = 1, "owner" = "[P.owner]", "job" = "[P.ownjob]", "message" = "[t]", "target" = "\ref[P]"))) P.tnote.Add(list(list("sent" = 0, "owner" = "[owner]", "job" = "[ownjob]", "message" = "[t]", "target" = "\ref[src]"))) - for(var/mob/M in player_list) +/* for(var/mob/M in player_list) if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTEARS)) // src.client is so that ghosts don't have to listen to mice if(istype(M, /mob/new_player)) continue - M.show_message("PDA Message - [owner] -> [P.owner]: [t]") + M.show_message("PDA Message - [owner] -> [P.owner]: [t]") */ investigate_log("PDA Message - [U.key] - [owner] -> [P.owner]: [t]", "pda") if(!conversations.Find("\ref[P]")) conversations.Add("\ref[P]") if(!P.conversations.Find("\ref[src]")) P.conversations.Add("\ref[src]") - +/* if (prob(15)) //Give the AI a chance of intercepting the message var/who = src.owner if(prob(50)) @@ -938,7 +938,7 @@ var/global/list/obj/item/device/pda/PDAs = list() // Allows other AIs to intercept the message but the AI won't intercept their own message. if(ai.aiPDA != P && ai.aiPDA != src) ai.show_message("Intercepted message from [who]: [t]") - +*/ if (!P.silent) playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 74b7913bc1f..00d8bb8f9f2 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -193,4 +193,47 @@ icon_state = initial(icon_state) /obj/item/device/flashlight/slime/attack_self(mob/user) - return //Bio-luminescence does not toggle. \ No newline at end of file + return //Bio-luminescence does not toggle. + +/obj/item/device/flashlight/emp + origin_tech = "magnets=4;syndicate=5" + + var/emp_max_charges = 4 + var/emp_cur_charges = 4 + var/charge_tick = 0 + + +/obj/item/device/flashlight/emp/New() + ..() + processing_objects.Add(src) + +/obj/item/device/flashlight/emp/Destroy() + processing_objects.Remove(src) + ..() + +/obj/item/device/flashlight/emp/process() + charge_tick++ + if(charge_tick < 10) return 0 + charge_tick = 0 + emp_cur_charges = min(emp_cur_charges+1, emp_max_charges) + return 1 + +/obj/item/device/flashlight/emp/attack(mob/living/M as mob, mob/living/user as mob) + if(on && user.zone_sel.selecting == "eyes") // call original attack proc only if aiming at the eyes + ..() + return + +/obj/item/device/flashlight/emp/afterattack(atom/A as mob|obj, mob/user, proximity) + if(!proximity) return + if (emp_cur_charges > 0) + emp_cur_charges -= 1 + A.visible_message("[user] blinks \the [src] at \the [A].", \ + "[user] blinks \the [src] at \the [A].") + if(ismob(A)) + var/mob/M = A + add_logs(user, M, "attacked", object="EMP-light") + user << "\The [src] now has [emp_cur_charges] charge\s." + A.emp_act(1) + else + user << "\The [src] needs time to recharge!" + return \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 5427766c9dd..52e9d0671c1 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -702,10 +702,17 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use /obj/item/device/radio/borg/syndicate syndie = 1 keyslot = new /obj/item/device/encryptionkey/syndicate + /obj/item/device/radio/borg/syndicate/New() ..() - set_frequency(SYND_FREQ) - + set_frequency(SYND_FREQ) + +/obj/item/device/radio/borg/deathsquad + +/obj/item/device/radio/borg/deathsquad/New() + ..() + set_frequency(1441) + /obj/item/device/radio/borg/attackby(obj/item/weapon/W as obj, mob/user as mob) // ..() user.set_machine(src) diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index 8e5116ba568..19a2e38e179 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -114,7 +114,7 @@ bmark.pixel_x-- bmark.pixel_y-- - if(Proj.damage >= 20 || istype(Proj, /obj/item/projectile/beam/practice)) + if(Proj.damage >= 20 || istype(Proj, /obj/item/projectile/practice)) bmark.icon_state = "scorch" bmark.dir = pick(NORTH,SOUTH,EAST,WEST) // random scorch design diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index a8e4df397af..a6f18c378e7 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -409,9 +409,9 @@ /obj/item/weapon/twohanded/dualsaber/toy/IsShield() return 0 -/* + /obj/item/weapon/twohanded/dualsaber/toy/IsReflect()//Stops Toy Dualsabers from reflecting energy projectiles - return 0 */ //uncomment this once reflecting is ported + return 0 /obj/item/toy/katana name = "replica katana" diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index dcf2026a871..658d48bb308 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -326,6 +326,18 @@ CIGARETTE PACKETS ARE IN FANCY.DM return if(location) location.hotspot_expose(700, 5) + if(reagents && reagents.total_volume) // check if it has any reagents at all + if(iscarbon(loc) && (src == loc:wear_mask)) // if it's in the human/monkey mouth, transfer reagents to the mob + if(istype(loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = loc + if(H.species.flags & IS_SYNTHETIC) + return + var/mob/living/carbon/C = loc + if(prob(15)) // so it's not an instarape in case of acid + reagents.reaction(C, INGEST) + reagents.trans_to(C, REAGENTS_METABOLISM) + else // else just remove some of the reagents + reagents.remove_any(REAGENTS_METABOLISM) return /obj/item/clothing/mask/cigarette/pipe/attack_self(mob/user as mob) //Refills the pipe. Can be changed to an attackby later, if loose tobacco is added to vendors or something. diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index cfa5372ea6e..b15f656a69d 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -267,6 +267,11 @@ block = TELEBLOCK ..() +/obj/item/weapon/dnainjector/telemut/darkbundle + name = "DNA injector" + desc = "Good. Let the hate flow through you." + + /obj/item/weapon/dnainjector/antitele name = "DNA-Injector (Anti-Tele.)" desc = "Will make you not able to control your mind." diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index cb07e4acd89..e7a2a10575d 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -567,3 +567,28 @@ the implant may become unstable and either pre-maturely inject the subject or si name = "cortical stack" desc = "A fist-sized mass of biocircuits and chips." icon_state = "implant_evil" + + +/obj/item/weapon/implant/emp + name = "emp implant" + desc = "Triggers an EMP." + + var/activation_emote = "chuckle" + var/uses = 2 + +/obj/item/weapon/implant/emp/New() + activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "smile", "pale", "sniff", "whimper", "wink") + ..() + return + +/obj/item/weapon/implant/emp/trigger(emote, mob/living/carbon/source as mob) + if (src.uses < 1) return 0 + if (emote == src.activation_emote) + src.uses-- + empulse(source, 3, 5) + return + +/obj/item/weapon/implant/emp/implanted(mob/living/carbon/source) + source.mind.store_memory("EMP implant can be activated [uses] time\s by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.", 0, 0) + source << "The implanted EMP implant can be activated [uses] time\s by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate." + return 1 \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 9a36fe31b83..22041ccd51b 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -170,3 +170,12 @@ ..() update() return + +/obj/item/weapon/implanter/emp + name = "implanter-EMP" + + New() + src.imp = new /obj/item/weapon/implant/emp(src) + ..() + update() + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 58623b9189c..774f097ca5f 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -39,7 +39,7 @@ /obj/item/weapon/shield/energy name = "energy combat shield" - desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere." + desc = "A shield capable of stopping most melee attacks. Protects user from almost all energy projectiles. It can be retracted, expanded, and stored anywhere." icon = 'icons/obj/weapons.dmi' icon_state = "eshield0" // eshield1 for expanded flags = FPRINT | TABLEPASS| CONDUCT diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 2f896dc623e..e3417bd9a86 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -206,3 +206,89 @@ ..() new /obj/item/stack/tile/plasteel(src) new /obj/item/weapon/crowbar(src) + +/* + * Duffelbags - My thanks to MrSnapWalk for the original icon and Neinhaus for the job variants - Dave. + */ + + /obj/item/weapon/storage/backpack/duffel + name = "duffelbag" + desc = "A large grey duffelbag designed to hold more items than a regular bag." + icon_override = 'icons/mob/in-hand/duffelbag.dmi' + icon_state = "duffel" + item_state = "duffel" + storage_slots = 10 // Duffelbags can hold more items. + max_combined_w_class = 25 + +/obj/item/weapon/storage/backpack/duffel/syndimed + name = "suspicious duffelbag" + desc = "A black and red duffelbag with a red and white cross sewn onto it." + icon_state = "duffel-syndimed" + item_state = "duffel-syndimed" + +/obj/item/weapon/storage/backpack/duffel/syndiammo + name = "suspicious duffelbag" + desc = "A black and red duffelbag with a patch depicting shotgun shells sewn onto it." + icon_state = "duffel-syndiammo" + item_state = "duffel-syndiammo" + +/obj/item/weapon/storage/backpack/duffel/captain + name = "captain's duffelbag" + desc = "A duffelbag designed to hold large quantities of condoms." + icon_state = "duffel-captain" + item_state = "duffel-captain" + + +/obj/item/weapon/storage/backpack/duffel/security + name = "security duffelbag" + desc = "A duffelbag built with robust fabric!" + icon_state = "duffel-security" + item_state = "duffel-security" + +/obj/item/weapon/storage/backpack/duffel/virology + name = "virology duffelbag" + desc = "A white duffelbag designed to contain biohazards." + icon_state = "duffel-viro" + item_state = "duffel-viro" + +/obj/item/weapon/storage/backpack/duffel/science + name = "scientist duffelbag" + desc = "A duffelbag designed to hold the secrets of space." + icon_state = "duffel-toxins" + item_state = "duffel-toxins" + +/obj/item/weapon/storage/backpack/duffel/genetics + name = "scientist duffelbag" + desc = "A duffelbag designed to hold gibbering monkies." + icon_state = "duffel-toxins" + item_state = "duffel-toxins" + +/obj/item/weapon/storage/backpack/duffel/chemistry + name = "scientist duffelbag" + desc = "A duffelbag designed to hold corrosive substances." + icon_state = "duffel-chemistry" + item_state = "duffel-chemistry" + +/obj/item/weapon/storage/backpack/duffel/medical + name = "medical duffelbag" + desc = "A duffelbag designed to hold medicine." + icon_state = "duffel-med" + item_state = "duffel-med" + +/obj/item/weapon/storage/backpack/duffel/engineering + name = "industrial duffelbag" + desc = "A duffelbag designed to hold tools." + icon_state = "duffel-eng" + item_state = "duffel-eng" + +/obj/item/weapon/storage/backpack/duffel/hydro + name = "hydroponics duffelbag" + desc = "A duffelbag designed to hold seeds and fauna." + icon_state = "duffel-hydro" + item_state = "duffel-hydro" + +/obj/item/weapon/storage/backpack/duffel/clown + name = "smiles von wiggleton" + desc = "A duffelbag designed to hold bananas and bike horns." + icon_state = "duffel-clown" + item_state = "duffel-clown" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index e3ea4d5481f..a2eb8018ab0 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -214,6 +214,17 @@ var/new_name = pick("evil", "suspicious", "ominous", "donk-flavored", "robust", "sneaky") name = "[new_name] cigarette packet" +/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate + name = "cigarette packet" + desc = "An obscure brand of cigarettes." + icon_state = "syndiepacket" + item_state = "syndiepacket" + +/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate/New() + ..() + for(var/i = 1 to storage_slots) + reagents.add_reagent("doctorsdelight",15) + /* * Vial Box */ diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index ccbafe8f8bd..439f27c1135 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -1,11 +1,12 @@ /obj/item/weapon/storage/box/syndicate/ New() ..() - switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1, "smoothoperator" = 1))) + switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "bond" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "implant" = 1, "hacker" = 1, "lordsingulo" = 1, "darklord" = 1))) if("bloodyspai") new /obj/item/clothing/under/chameleon(src) new /obj/item/clothing/mask/gas/voice(src) new /obj/item/weapon/card/id/syndicate(src) + new /obj/item/weapon/card/id/syndicate(src) new /obj/item/clothing/shoes/syndigaloshes(src) return @@ -15,12 +16,20 @@ new /obj/item/device/chameleon(src) return + if("bond") + new /obj/item/weapon/gun/projectile/automatic/pistol(src) + new /obj/item/weapon/silencer(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/clothing/under/chameleon(src) + new /obj/item/weapon/card/id/syndicate(src) + if("screwed") - new /obj/effect/spawner/newbomb/timer/syndicate(src) - new /obj/effect/spawner/newbomb/timer/syndicate(src) + new /obj/item/device/radio/beacon/syndicate/bomb(src) + new /obj/item/weapon/grenade/syndieminibomb(src) new /obj/item/device/powersink(src) - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) + new /obj/item/clothing/suit/space/syndicate/black/red(src) + new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) return if("guns") @@ -37,11 +46,18 @@ new /obj/item/clothing/shoes/syndigaloshes(src) return - if("freedom") + if("implant") var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) O.imp = new /obj/item/weapon/implant/freedom(O) var/obj/item/weapon/implanter/U = new /obj/item/weapon/implanter(src) U.imp = new /obj/item/weapon/implant/uplink(U) + var/obj/item/weapon/implanter/C = new /obj/item/weapon/implanter(src) + C.imp = new /obj/item/weapon/implant/emp(C) + var/obj/item/weapon/implanter/K = new /obj/item/weapon/implanter(src) + K.imp = new /obj/item/weapon/implant/adrenalin(K) + var/obj/item/weapon/implanter/S = new /obj/item/weapon/implanter(src) + S.imp = new /obj/item/weapon/implant/explosive(S) + S.name += " (explosive)" return if("hacker") @@ -52,19 +68,18 @@ if("lordsingulo") new /obj/item/device/radio/beacon/syndicate(src) - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) + new /obj/item/clothing/suit/space/syndicate/black/red(src) + new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) new /obj/item/weapon/card/emag(src) return - if("smoothoperator") - new /obj/item/weapon/gun/projectile/automatic/pistol(src) - new /obj/item/weapon/silencer(src) - new /obj/item/weapon/soap/syndie(src) - new /obj/item/weapon/storage/bag/trash(src) - new /obj/item/bodybag(src) - new /obj/item/clothing/under/suit_jacket(src) - new /obj/item/clothing/shoes/laceup(src) + if("darklord") + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/dnainjector/telemut/darkbundle(src) + new /obj/item/clothing/head/chaplain_hood(src) + new /obj/item/clothing/suit/chaplain_hoodie(src) + new /obj/item/weapon/card/id/syndicate(src) return /obj/item/weapon/storage/box/syndie_kit @@ -165,4 +180,14 @@ new /obj/item/ammo_casing/shotgun/fakebeanbag(src) new /obj/item/ammo_casing/shotgun/fakebeanbag(src) new /obj/item/ammo_casing/shotgun/fakebeanbag(src) - new /obj/item/ammo_casing/shotgun/fakebeanbag(src) \ No newline at end of file + new /obj/item/ammo_casing/shotgun/fakebeanbag(src) + +/obj/item/weapon/storage/box/syndie_kit/emp + name = "boxed EMP kit" + + New() + ..() + new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/weapon/implanter/emp/(src) + new /obj/item/device/flashlight/emp/(src) \ No newline at end of file diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index d478496b4e1..6df192c1f5f 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -235,7 +235,7 @@ return else return ..() - + /* *Energy Blade */ @@ -301,7 +301,7 @@ active = !active if (active) force = 10 - reflect_chance = 80 + reflect_chance = 100 icon_state = "eshield[active]" w_class = 4 playsound(user, 'sound/weapons/saberon.ogg', 50, 1) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index c407144acba..5e16de46283 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -219,7 +219,7 @@ obj/item/weapon/twohanded/ /obj/item/weapon/twohanded/dualsaber/update_icon() if(wielded) icon_state = "dualsaber[blade_color][wielded]" - reflect_chance = 80 + reflect_chance = 100 else icon_state = "dualsaber0" reflect_chance = 0 diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index b1df8abe563..1f98e54cb75 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -59,11 +59,11 @@ for(var/obj/O in range(0, src)) if(O.density == 1 && O != src && !istype(O, /obj/machinery/door/window)) //Ignores windoors, as those already block climbing, otherwise a windoor on the opposite side of a table would prevent climbing. - user << "\red You cannot climb a [src] blocked by a solid object!" + user << "\red You cannot climb [src], as it is blocked by \a [O]!" return for(var/turf/T in range(0, src)) if(T.density == 1) - user << "\red You cannot climb a [src] blocked by a solid object!" + user << "\red You cannot climb [src], as it is blocked by \a [T]!" return var/turf/T = src.loc if(!T || !istype(T)) return diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 15096c49b22..b51ff8b2f79 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -224,7 +224,7 @@ if(istype(Proj, /obj/item/projectile/energy)) unbuckle() return - if(istype(Proj, /obj/item/projectile/energy/electrode) || istype(Proj, /obj/item/projectile/beam/stun)) + if(istype(Proj, /obj/item/projectile/energy/electrode)) if(prob(25)) unbuckle() visible_message("The [src.name] absorbs the [Proj]") diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 4f874619a16..f2440e5d624 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -304,7 +304,7 @@ var/list/admin_verbs_mod = list( /client/proc/colorooc() set category = "Admin" - set name = "OOC Text Color" + set name = "Personal OOC Text Color" if(!holder) return var/new_ooccolor = input(src, "Please select your OOC colour.", "OOC colour") as color|null if(new_ooccolor) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index abfb5e871b9..c786cec9c8d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -244,7 +244,7 @@ BLIND // can't see anything min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 species_restricted = list("exclude","Diona","Vox") - loose = 1 // very rarely falls off + loose = 0 // What kind of idiot designs a pressurized suit where the helmet can fall off? /obj/item/clothing/suit/space name = "Space suit" diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index ba453b40507..cee905cb906 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -6,7 +6,6 @@ allowed = list(/obj/item/weapon/cell) armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25) siemens_coefficient = 0.2 - loose = 0 /obj/item/clothing/suit/space/space_ninja diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index faf039a6f23..740e5fd69c2 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -42,6 +42,12 @@ has_sensor = 1 // Just to make sure it has a sensor armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standar Jumpsuit stats +/obj/item/clothing/head/fluff/sparkyninja_beret //Sparkyninja: Neil Wilkinson + name = "royal marines commando beret" + desc = "Dark Green beret with an old insignia on it." + icon_state = "sparkyninja_beret" + flags = FPRINT | TABLEPASS + ////////////////////////////////// ////////// Fluff Items /////////// ////////////////////////////////// diff --git a/code/modules/events/tgevents/vent_clog.dm b/code/modules/events/tgevents/vent_clog.dm index d12631be36a..e1b908cc844 100755 --- a/code/modules/events/tgevents/vent_clog.dm +++ b/code/modules/events/tgevents/vent_clog.dm @@ -24,7 +24,7 @@ var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","psilocybin","lube", "plantbgone","banana","anti_toxin","space_drugs","hyperzine","holywater","ethanol","hot_coco","pacid", "blood","stoxin","fluorine","ryetalyn","mutagen","oxycodone","fuel","cryptobiolin", - "impedrezene","mindbreaker","nanites","xenomicrobes","lipozine","frostoil","alchdranine","beepskysmash", + "impedrezene","mindbreaker","nanites","xenomicrobes","lipozine","frostoil","doctorsdelight","beepskysmash", "tricordrazine", "amatoxin", "adminordrazine", "neurotoxin", "zombiepowder", "synaptizine") var/datum/reagents/R = new/datum/reagents(50) R.my_atom = vent diff --git a/code/modules/hydroponics/hydro_tools.dm b/code/modules/hydroponics/hydro_tools.dm index 9764b3a9041..be2158fee39 100644 --- a/code/modules/hydroponics/hydro_tools.dm +++ b/code/modules/hydroponics/hydro_tools.dm @@ -18,6 +18,17 @@ var/datum/seed/grown_seed var/datum/reagents/grown_reagents + + //--FalseIncarnate + var/IS_TRAY = 0 //used to track if the target is a hydroponics tray or soil. 1 if true, otherwise 0 + var/tray_age //age of the plant in the tray + var/tray_weed_level //weed level of tray + var/tray_pest_level //pest level of tray + var/tray_toxins //toxicity of the tray + var/tray_yield_mod //yield modifier of the tray + var/tray_mutation_mod //mutation modifier of the tray + //--FalseIncarnate + if(istype(target,/obj/item/weapon/reagent_containers/food/snacks/grown)) var/obj/item/weapon/reagent_containers/food/snacks/grown/G = target @@ -38,6 +49,19 @@ else if(istype(target,/obj/machinery/portable_atmospherics/hydroponics)) var/obj/machinery/portable_atmospherics/hydroponics/H = target + + //--FalseIncarnate + //Flag the target as a tray for showing tray-specific stats + IS_TRAY = 1 + //Save tray data to matching variables + tray_age = H.age + tray_weed_level = H.weedlevel + tray_pest_level = H.pestlevel + tray_toxins = H.toxins + tray_yield_mod = H.yield_mod + tray_mutation_mod = H.mutation_mod + //--FalseIncarnate + grown_seed = H.seed grown_reagents = H.reagents @@ -57,6 +81,19 @@ dat += "Maturation time[grown_seed.maturation]" dat += "Production time[grown_seed.production]" dat += "Potency[grown_seed.potency]" + + //--FalseIncarnate + //Tray-specific stats like Age and Mutation Modifier, not shown if target was not a hydroponics tray or soil + if(IS_TRAY == 1) + dat += "" + dat += "Age[tray_age]" + dat += "Weed Level[tray_weed_level]" + dat += "Pest Level[tray_pest_level]" + dat += "Toxins[tray_toxins]" + dat += "Yield Modifier[tray_yield_mod]" + dat += "Mutation Modifier[tray_mutation_mod]" + //--FalseIncarnate + dat += "" if(grown_reagents && grown_reagents.reagent_list && grown_reagents.reagent_list.len) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 35be416e8f1..0c6fed16571 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -131,6 +131,13 @@ origin_tech = "materials=6;powerstorage=4;engineering=5" desc = "Yours is the drill that will pierce the heavens!" + traitor //Pocket-sized traitor diamond drill. + name = "supermatter drill" + icon_state = "smdrill" + origin_tech = "materials=6;powerstorage=4;engineering=5;syndicate=3" + desc = "Microscopic supermatter crystals cover the head of this tiny drill." + w_class = 2.0 + borgdrill name = "cyborg mining drill" icon_state = "diamonddrill" diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 72330960a76..5f03f064ab7 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -19,6 +19,69 @@ if(src.stat == 2.0 && (act != "deathgasp")) return switch(act) + if("ping") + if (species.name == "Machine") + var/M = null + if(param) + for (var/mob/A in view(null, null)) + if (param == A.name) + M = A + break + if(!M) + param = null + + if (param) + message = "[src] pings at [param]." + else + message = "[src] pings." + playsound(src.loc, 'sound/machines/ping.ogg', 50, 0) + m_type = 1 + else + if (!species.name == "Machine") + return + + if("buzz") + if (species.name == "Machine") + var/M = null + if(param) + for (var/mob/A in view(null, null)) + if (param == A.name) + M = A + break + if(!M) + param = null + + if (param) + message = "[src] buzzes at [param]." + else + message = "[src] buzzes." + playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0) + m_type = 1 + else + if (!species.name == "Machine") + return + + if("beep") + if(species.name == "Machine") + var/M = null + if(param) + for (var/mob/A in view(null, null)) + if (param == A.name) + M = A + break + if(!M) + param = null + + if (param) + message = "[src] beeps at [param]." + else + message = "[src] beeps." + playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0) + m_type = 1 + else + if (!species.name == "Machine") + return + if ("airguitar") if (!src.restrained()) message = "[src] is strumming the air and headbanging like a safari chimp." @@ -567,6 +630,8 @@ message = "[src] makes a very loud noise." m_type = 2 + + // Needed for M_TOXIC_FART if("fart") if(world.time-lastFart >= 600) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1d6816d4445..00160477134 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -244,6 +244,17 @@ else var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src))) throw_at(target, 200, 4) + + var/limbs_affected = pick(2,3,4) + var/datum/organ/external/processing_dismember + + while(limbs_affected != 0) + processing_dismember = pick(organs) + if(processing_dismember.name != "chest" && processing_dismember.name != "groin") + processing_dismember.dismember_limb() + limbs_affected -= 1 + + //return // var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src))) //user.throw_at(target, 200, 4) @@ -258,6 +269,25 @@ b_loss = b_loss/1.5 f_loss = f_loss/1.5 + var/limbs_affected = pick(0, 1, 2) + var/datum/organ/external/processing_dismember + + while(limbs_affected != 0) + processing_dismember = pick(organs) + if(processing_dismember.name != "chest" && processing_dismember.name != "groin" && processing_dismember.name != "head") + processing_dismember.dismember_limb() + limbs_affected -= 1 + + else + var/limbs_affected = pick(1, 2, 3) + var/datum/organ/external/processing_dismember + + while(limbs_affected != 0) + processing_dismember = pick(organs) + if(processing_dismember.name != "chest" && processing_dismember.name != "groin") + processing_dismember.dismember_limb() + limbs_affected -= 1 + if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs)) ear_damage += 30 ear_deaf += 120 @@ -268,6 +298,18 @@ b_loss += 30 if (prob(getarmor(null, "bomb"))) b_loss = b_loss/2 + + else + + var/limbs_affected = pick(0, 1) + var/datum/organ/external/processing_dismember + + while(limbs_affected != 0) + processing_dismember = pick(organs) + if(processing_dismember.name != "chest" && processing_dismember.name != "groin" && processing_dismember.name != "head") + processing_dismember.dismember_limb() + limbs_affected -= 1 + if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs)) ear_damage += 15 ear_deaf += 60 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index abfdc6a69bd..48298444440 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -10,8 +10,6 @@ emp_act /mob/living/carbon/human/bullet_act(var/obj/item/projectile/P, var/def_zone) - var/datum/organ/external/organ = get_organ(check_zone(def_zone)) - if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) if(check_reflect(def_zone)) // Checks if you've passed a reflection% check visible_message("The [P.name] gets reflected by [src]!", \ @@ -40,6 +38,7 @@ emp_act //Shrapnel if (P.damage_type == BRUTE) + var/datum/organ/external/organ = get_organ(check_zone(def_zone)) var/armor = getarmor_organ(organ, "bullet") if((P.embed && prob(20 + max(P.damage - armor, -10)))) var/obj/item/weapon/shard/shrapnel/SP = new() @@ -265,7 +264,7 @@ emp_act if(armor >= 2) return 0 if(!I.force) return 0 var/Iforce = I.force //to avoid runtimes on the forcesay checks at the bottom. Some items might delete themselves if you drop them. (stunning yourself, ninja swords) - + apply_damage(I.force, I.damtype, affecting, armor, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I) var/bloody = 0 @@ -313,8 +312,13 @@ emp_act if(Iforce > 10 || Iforce >= 5 && prob(33)) - forcesay(hit_appends) //forcesay checks stat already - + forcesay(hit_appends) //forcesay checks stat already + + if (I.damtype == BRUTE) + if((I.edge && prob(2 * I.force)) || (I.force > 20 && prob(I.force))) + if(affecting.brute_dam >= affecting.max_damage * config.organ_health_multiplier) + affecting.dismember_limb() + //Melee weapon embedded object code. if (I.damtype == BRUTE && !I.is_robot_module()) var/damage = I.force @@ -353,11 +357,11 @@ emp_act zone = get_zone_with_miss_chance(zone, src, min(15*(distance-2), 0)) else zone = get_zone_with_miss_chance(zone, src, 15) - + /* if(!zone) visible_message("\blue \The [O] misses [src] narrowly!") return - + */ O.throwing = 0 //it hit, so stop moving if ((O.thrower != src) && check_shields(throw_damage, "[O]")) @@ -465,7 +469,7 @@ emp_act var/penetrated_dam = max(0,(damage - max(0,(SS.breach_threshold - SS.damage)))) if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam) - + /mob/living/carbon/human/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == "harm") if(M.damtype == "brute") diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 9aa5a461e54..028f0efe755 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -99,17 +99,14 @@ if(findtext(temp, "*", 1, 2)) //emotes return - world << "Text after stuff is [temp]" temp = copytext(trim_left(temp), 1, rand(5,8)) - world << "Text after trimming is [temp]" - var/trimmed = trim_left(temp) if(length(trimmed)) if(append) temp += pick(append) say(temp) - winset(client, "input", "text=[null]") + winset(client, "input", "text=[null]") /mob/living/carbon/human/say_understands(var/other,var/datum/language/speaking = null) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 4f99dcc0946..4b48defb94e 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -57,13 +57,14 @@ signaler.signal() */ - //Stun Beams +/* + //Stun Beams -- These were commented out, making appropriate changes here. - Dave if(istype(P, /obj/item/projectile/beam/stun) || istype(P, /obj/item/projectile/bullet/stunshot)) stun_effect_act(0, P.agony, def_zone, P) src <<"\red You have been hit by [P]!" del P return - +*/ //Armor var/absorb = run_armor_check(def_zone, P.flag) var/proj_sharp = is_sharp(P) @@ -119,15 +120,15 @@ var/throw_damage = O.throwforce*(speed/5) - var/miss_chance = 15 - if (O.throw_source) - var/distance = get_dist(O.throw_source, loc) - miss_chance = min(15*(distance-2), 0) - + //var/miss_chance = 15 + //if (O.throw_source) + //var/distance = get_dist(O.throw_source, loc) + //miss_chance = min(15*(distance-2), 0) + /* if (prob(miss_chance)) visible_message("\blue \The [O] misses [src] narrowly!") return - + */ src.visible_message("\red [src] has been hit by [O].") var/armor = run_armor_check(null, "melee") @@ -168,7 +169,7 @@ visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") src.anchored = 1 src.pinned += O - + /mob/living/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == "harm") if(M.damtype == "brute") diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d093e60e3a7..6329f2184a7 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1242,7 +1242,7 @@ else src << "Module isn't activated" installed_modules() - + if (href_list["lawc"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite var/L = text2num(href_list["lawc"]) switch(lawcheck[L+1]) @@ -1404,6 +1404,61 @@ else src << "Your icon has been set. You now require a module reset to change it." +/mob/living/silicon/robot/deathsquad + var/searching_for_ckey = 0 + icon_state = "nano_bloodhound" + lawupdate = 0 + scrambledcodes = 1 + syndicateborg = 1 + modtype = "Commando" + faction = list("nanotrasen") + designation = "NT Combat Cyborg" + req_access = list(access_cent_specops) + +/mob/living/silicon/robot/deathsquad/New(loc) + ..() + cell.maxcharge = 50000 + cell.charge = 50000 + radio = new /obj/item/device/radio/borg/deathsquad(src) + module = new /obj/item/weapon/robot_module/deathsquad(src) + laws = new /datum/ai_laws/deathsquad() + +/mob/living/silicon/robot/deathsquad/attack_hand(mob/user) + if((ckey == null) && searching_for_ckey == 0 && (alert(user,"Attempt to boot NanoTrasen Commando cyborg?","","Yes","No") == "Yes")) + get_borg_occupant(user, get_candidates()) + return + ..() + + +/mob/living/silicon/robot/deathsquad/proc/get_borg_occupant(mob/user as mob, var/list/possiblecandidates = list()) + var/time_passed = world.time + searching_for_ckey = 1 + if(possiblecandidates.len <= 0) + searching_for_ckey = 0 + user << "Cyborg MMI interface failure, unit unable to be started." + return + else + var/possibleborg = pick(possiblecandidates) + spawn(0) + var/input = alert(possibleborg,"Do you want to spawn in as a cyborg for the NT Deathsquad?","Please answer in thirty seconds!","Yes","No") + if(input == "Yes" && ckey == null) + if((world.time-time_passed)>300) + return + possiblecandidates -= possibleborg + searching_for_ckey = 0 + ckey = possibleborg + else + possiblecandidates -= possibleborg + get_borg_occupant(user, possiblecandidates) + return + + sleep(300) + if(searching_for_ckey) + possiblecandidates -= possibleborg + get_borg_occupant(user, possiblecandidates) + return + + /mob/living/silicon/robot/syndicate icon_state = "syndie_bloodhound" lawupdate = 0 @@ -1414,18 +1469,18 @@ designation = "Syndicate" modtype = "Syndicate" req_access = list(access_syndicate) - + /mob/living/silicon/robot/syndicate/New(loc) ..() cell.maxcharge = 25000 cell.charge = 25000 radio = new /obj/item/device/radio/borg/syndicate(src) module = new /obj/item/weapon/robot_module/syndicate(src) - laws = new /datum/ai_laws/syndicate_override() - + laws = new /datum/ai_laws/syndicate_override() + Namepick() - - + + /mob/living/silicon/robot/proc/notify_ai(var/notifytype, var/oldname, var/newname) if(!connected_ai) return diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index bb7e01ae766..b956c18262a 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -324,6 +324,20 @@ src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src) return +/obj/item/weapon/robot_module/deathsquad + name = "NT advanced combat module" + +/obj/item/weapon/robot_module/deathsquad/New() + src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/borg/sight/thermal(src) + src.modules += new /obj/item/weapon/melee/energy/sword/cyborg(src) + src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/cyborg(src) + src.modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src) + src.modules += new /obj/item/weapon/crowbar(src) + src.emag = null + return + /obj/item/weapon/robot_module/syndicate name = "syndicate robot module" diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 3a0ea6876e8..e2d8bcd485c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -153,6 +153,6 @@ for(counter=0, counter<=powerlevel, counter++) var/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice/S = new /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice(src.loc) S.reagents.add_reagent("mushroomhallucinogen", powerlevel) - S.reagents.add_reagent("alchdranine", powerlevel) + S.reagents.add_reagent("doctorsdelight", powerlevel) S.reagents.add_reagent("synaptizine", powerlevel) del(src) \ No newline at end of file diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index d7f7d20aacc..f656b3d30aa 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -158,12 +158,13 @@ src.update_damages() //If limb took enough damage, try to cut or tear it off + /* if(body_part != UPPER_TORSO && body_part != LOWER_TORSO) //as hilarious as it is, getting hit on the chest too much shouldn't effectively gib you. if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier) if( (edge && prob(5 * brute)) || (brute > 20 && prob(2 * brute)) ) droplimb(1) return - + */ owner.updatehealth() var/result = update_icon() @@ -290,6 +291,12 @@ This function completely restores a damaged organ to perfect condition. return 1 return 0 +/datum/organ/external/proc/dismember_limb() + if(body_part != UPPER_TORSO && body_part != LOWER_TORSO) //as hilarious as it is, getting hit on the chest too much shouldn't effectively gib you. + if(config.limbs_can_break) + droplimb(1) + return + /datum/organ/external/process() //Dismemberment if(status & ORGAN_DESTROYED) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index df7285fe776..c2de820a0b1 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -30,7 +30,7 @@ var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. var/firerate = 1 // 0 for one bullet after tarrget moves and aim is lowered, //1 for keep shooting until aim is lowered - var/fire_delay = 6 + var/fire_delay = 0 var/last_fired = 0 proc/ready_to_fire() @@ -154,6 +154,7 @@ in_chamber.current = curloc in_chamber.yo = targloc.y - curloc.y in_chamber.xo = targloc.x - curloc.x + if(istype(user, /mob/living/carbon)) var/mob/living/carbon/mob = user if(mob.shock_stage > 120) @@ -238,7 +239,7 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - if(istype(in_chamber, /obj/item/projectile/beam/lastertag)) + if(istype(in_chamber, /obj/item/projectile/lasertag)) user.show_message("You feel rather silly, trying to commit suicide with a toy.") mouthshoot = 0 return diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 9cacb9469a7..0a83fe78faa 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -12,7 +12,7 @@ /obj/item/weapon/gun/energy/laser/practice name = "practice laser gun" desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice." - projectile_type = "/obj/item/projectile/beam/practice" + projectile_type = "/obj/item/projectile/practice" clumsy_check = 0 obj/item/weapon/gun/energy/laser/retro @@ -58,7 +58,6 @@ obj/item/weapon/gun/energy/laser/retro if(R && R.cell) R.cell.use(500) in_chamber = new/obj/item/projectile/beam(src) - fire_delay = 12 return 1 return 0 @@ -74,7 +73,6 @@ obj/item/weapon/gun/energy/laser/retro origin_tech = "combat=4;materials=3;powerstorage=3" projectile_type = "/obj/item/projectile/beam/heavylaser" charge_cost = 1250 - fire_delay = 10 isHandgun() return 0 @@ -106,7 +104,7 @@ obj/item/weapon/gun/energy/laser/retro name = "laser tag gun" icon_state = "bluetag" desc = "Standard issue weapon of the Imperial Guard" - projectile_type = "/obj/item/projectile/beam/lastertag/blue" + projectile_type = "/obj/item/projectile/lastertag/blue" origin_tech = "combat=1;magnets=2" clumsy_check = 0 var/charge_tick = 0 @@ -143,7 +141,7 @@ obj/item/weapon/gun/energy/laser/retro name = "laser tag gun" icon_state = "redtag" desc = "Standard issue weapon of the Imperial Guard" - projectile_type = "/obj/item/projectile/beam/lastertag/red" + projectile_type = "/obj/item/projectile/lastertag/red" origin_tech = "combat=1;magnets=2" clumsy_check = 0 var/charge_tick = 0 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 43c21af8dca..f0526d59bb8 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -5,7 +5,7 @@ item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = "/obj/item/projectile/energy/electrode" origin_tech = "combat=3;magnets=2" modifystate = "energystun" @@ -26,7 +26,7 @@ charge_cost = 1000 fire_sound = 'sound/weapons/Taser.ogg' user << "\red [src.name] is now set to stun." - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = "/obj/item/projectile/energy/electrode" modifystate = "energystun" update_icon() if(user.l_hand == src) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 1e480ebe37c..ac5f1314190 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -9,7 +9,6 @@ projectile_type = "/obj/item/projectile/beam/pulse" cell_type = "/obj/item/weapon/cell/super" var/mode = 2 - fire_delay = 15 slot_flags = SLOT_BACK w_class = 4.0 @@ -18,21 +17,18 @@ if(2) mode = 0 charge_cost = 100 - fire_delay = 5 fire_sound = 'sound/weapons/Taser.ogg' user << "\red [src.name] is now set to stun." - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = "/obj/item/projectile/energy/electrode/revolver" if(0) mode = 1 charge_cost = 100 - fire_delay = 8 fire_sound = 'sound/weapons/Laser.ogg' user << "\red [src.name] is now set to kill." projectile_type = "/obj/item/projectile/beam" if(1) mode = 2 charge_cost = 200 - fire_delay = 15 fire_sound = 'sound/weapons/pulse.ogg' user << "\red [src.name] is now set to DESTROY." projectile_type = "/obj/item/projectile/beam/pulse" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 739b5e14474..06ae671bd87 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -179,7 +179,7 @@ obj/item/weapon/gun/energy/staff/focus projectile_type = "/obj/item/projectile/beam/sniper" slot_flags = SLOT_BACK charge_cost = 2500 - fire_delay = 35 + fire_delay = 10 w_class = 4.0 var/zoom = 0 @@ -227,7 +227,6 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. projectile_type = "/obj/item/projectile/kinetic" cell_type = "/obj/item/weapon/cell/crap" charge_cost = 5000 - fire_delay = 20 /obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(var/mob/living/user/L) power_supply.give(5000) diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 3bcce305294..fefc3cfe2c2 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -5,7 +5,7 @@ icon_state = "taser" item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = "/obj/item/projectile/energy/electrode" cell_type = "/obj/item/weapon/cell" /obj/item/weapon/gun/energy/taser/cyborg @@ -13,7 +13,7 @@ desc = "A small, low capacity gun used for non-lethal takedowns." icon_state = "taser" fire_sound = 'sound/weapons/Taser.ogg' - projectile_type = "/obj/item/projectile/beam/stun" + projectile_type = "/obj/item/projectile/energy/electrode" cell_type = "/obj/item/weapon/cell/secborg" var/charge_tick = 0 var/recharge_time = 10 //Time it takes for shots to recharge (in ticks) @@ -51,7 +51,7 @@ icon_state = "stunrevolver" fire_sound = 'sound/weapons/Taser.ogg' origin_tech = "combat=3;materials=3;powerstorage=2" - projectile_type = "/obj/item/projectile/energy/electroderevolver" + projectile_type = "/obj/item/projectile/energy/electrode/revolver" cell_type = "/obj/item/weapon/cell" @@ -88,11 +88,11 @@ /obj/item/weapon/gun/energy/crossbow/update_icon() return - + /obj/item/weapon/gun/energy/crossbow/cyborg/process() ..() return - + /obj/item/weapon/gun/energy/crossbow/cyborg/process_chambered() if(in_chamber) return 1 diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 706ef2a2011..3c622752418 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -37,7 +37,7 @@ /obj/item/weapon/gun/projectile/automatic/c20r name = "\improper C-20r SMG" - desc = "A lightweight, fast firing gun, for when you REALLY need someone dead. Uses 12mm rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp" + desc = "A lightweight, compact bullpup SMG. Uses .45 rounds in medium-capacity magazines and has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp." icon_state = "c20r" item_state = "c20r" w_class = 3.0 @@ -60,14 +60,14 @@ /obj/item/weapon/gun/projectile/automatic/l6_saw name = "\improper L6 SAW" - desc = "A rather traditionally made medium machine gun with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armoury- 2531' engraved on the reciever" + desc = "A heavily modified light machine gun with a tactical plasteel frame resting on a rather traditionally-made belt-fed ballistic weapon. Has 'Aussec Armoury - 2531' engraved on the reciever." icon_state = "l6closed100" item_state = "l6closedmag" w_class = 4 slot_flags = 0 origin_tech = "combat=5;materials=1;syndicate=2" mag_type = "/obj/item/ammo_box/magazine/m762" - fire_sound = 'sound/weapons/Gunshot_smg.ogg' + fire_sound = 'sound/weapons/Gunshot3.ogg' var/cover_open = 0 @@ -123,7 +123,7 @@ w_class = 3.0 origin_tech = "combat=5;materials=4;syndicate=6" mag_type = "/obj/item/ammo_box/magazine/m12g" - fire_sound = 'sound/weapons/Gunshot.ogg' + fire_sound = 'sound/weapons/Gunshot4.ogg' /obj/item/weapon/gun/projectile/automatic/bulldog/New() ..() diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index d14e2aee8a2..355dc0b909c 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -75,12 +75,13 @@ /obj/item/weapon/gun/projectile/automatic/pistol name = "\improper Stechtkin pistol" - desc = "A small, easily concealable gun. Uses 10mm rounds." + desc = "A small, easily concealable gun. Uses 10mm rounds and has a threaded barrel for suppressors." icon_state = "pistol" w_class = 2 silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" mag_type = "/obj/item/ammo_box/magazine/m10mm" + fire_sound = 'sound/weapons/Gunshot2.ogg' /obj/item/weapon/gun/projectile/automatic/pistol/attack_hand(mob/user as mob) if(loc == user) @@ -122,8 +123,8 @@ return /obj/item/weapon/silencer - name = "silencer" - desc = "a silencer" + name = "supressor" + desc = "A universal syndicate small-arms suppressor." icon = 'icons/obj/gun.dmi' icon_state = "silencer" w_class = 2 diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 781ce20106d..666ac95c181 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -109,30 +109,31 @@ f.hotspot_expose(1000,CELL_VOLUME) else def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 8*distance) - + /* if(!def_zone) visible_message("\blue \The [src] misses [M] narrowly!") forcedodge = -1 else - if(silenced) - playsound(loc, hitsound, 5, 1, -1) - M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" + */ + if(silenced) + playsound(loc, hitsound, 5, 1, -1) + M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" + else + playsound(loc, hitsound, 20, 1, -1) + visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + if(istype(firer, /mob)) + M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" + firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" + if(M.ckey) + msg_admin_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + if(!iscarbon(firer)) + M.LAssailant = null else - playsound(loc, hitsound, 20, 1, -1) - visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter - if(istype(firer, /mob)) - M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - if(M.ckey) - msg_admin_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG - if(!iscarbon(firer)) - M.LAssailant = null - else - M.LAssailant = firer - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" - if(M.ckey) - msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG + M.LAssailant = firer + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" + if(M.ckey) + msg_admin_attack("UNKNOWN shot [M] ([M.ckey]) with a [src] (JMP)") //BS12 EDIT ALG if(A) if (!forcedodge) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 5b3b59cdf2c..289d35fcdd1 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -1,3 +1,248 @@ +/obj/item/projectile/beam + name = "laser" + icon_state = "laser" + pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE + damage = 20 + damage_type = BURN + hitsound = 'sound/weapons/sear.ogg' + flag = "laser" + eyeblur = 2 + +/obj/item/projectile/practice + name = "laser" + icon_state = "laser" + pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE + damage = 0 + hitsound = null + damage_type = BURN + flag = "laser" + eyeblur = 2 + +/obj/item/projectile/beam/scatter + name = "laser pellet" + icon_state = "scatterlaser" + damage = 5 + + +/obj/item/projectile/beam/heavylaser + name = "heavy laser" + icon_state = "heavylaser" + damage = 40 + +/obj/item/projectile/beam/xray + name = "xray beam" + icon_state = "xray" + damage = 15 + irradiate = 30 + +/obj/item/projectile/beam/pulse + name = "pulse" + icon_state = "u_laser" + damage = 50 + +/obj/item/projectile/beam/pulse/on_hit(var/atom/target, var/blocked = 0) + if(istype(target,/turf/)||istype(target,/obj/structure/)) + target.ex_act(2) + ..() + +/obj/item/projectile/beam/pulse/shot + damage = 40 + +/obj/item/projectile/beam/emitter + name = "emitter beam" + icon_state = "emitter" + damage = 30 +/obj/item/projectile/lasertag + name = "laser tag beam" + icon_state = "omnilaser" + hitsound = null + damage = 0 + flag = "laser" + pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE + var/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag) + +/obj/item/projectile/lasertag/on_hit(var/atom/target, var/blocked = 0) + if(istype(target, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = target + if(istype(M.wear_suit)) + if(M.wear_suit.type in suit_types) + M.Weaken(34) + return 1 + +/obj/item/projectile/lasertag/omni + name = "laser tag beam" + icon_state = "omnilaser" + +/obj/item/projectile/lasertag/red + icon_state = "laser" + suit_types = list(/obj/item/clothing/suit/bluetag) + +/obj/item/projectile/lasertag/blue + icon_state = "bluelaser" + suit_types = list(/obj/item/clothing/suit/redtag) + +/obj/item/projectile/beam/lightning + invisibility = 101 + name = "lightning" + damage = 0 + icon = 'icons/obj/lightning.dmi' + icon_state = "lightning" + stun = 10 + weaken = 10 + stutter = 50 + eyeblur = 50 + var/tang = 0 + layer = 3 + var/turf/last = null + kill_count = 6 + + proc/adjustAngle(angle) + angle = round(angle) + 45 + if(angle > 180) + angle -= 180 + else + angle += 180 + if(!angle) + angle = 1 + /*if(angle < 0) + //angle = (round(abs(get_angle(A, user))) + 45) - 90 + angle = round(angle) + 45 + 180 + else + angle = round(angle) + 45*/ + return angle + + process() + var/first = 1 //So we don't make the overlay in the same tile as the firer + var/broke = 0 + var/broken + var/atom/curr = current + var/Angle=round(Get_Angle(firer,curr)) + var/icon/I=new('icons/obj/zap.dmi',"lightning") + I.Turn(Angle) + var/DX=(32*curr.x+curr.pixel_x)-(32*firer.x+firer.pixel_x) + var/DY=(32*curr.y+curr.pixel_y)-(32*firer.y+firer.pixel_y) + var/N=0 + var/length=round(sqrt((DX)**2+(DY)**2)) + var/count = 0 + for(N,N= kill_count) + break + count++ + var/obj/effect/overlay/beam/X=new(loc) + X.BeamSource=src + if(N+32>length) + var/icon/II=new(icon,icon_state) + II.DrawBox(null,1,(length-N),32,32) + II.Turn(Angle) + X.icon=II + else X.icon=I + var/Pixel_x=round(sin(Angle)+32*sin(Angle)*(N+16)/32) + var/Pixel_y=round(cos(Angle)+32*cos(Angle)*(N+16)/32) + if(DX==0) Pixel_x=0 + if(DY==0) Pixel_y=0 + if(Pixel_x>32) + for(var/a=0, a<=Pixel_x,a+=32) + X.x++ + Pixel_x-=32 + if(Pixel_x<-32) + for(var/a=0, a>=Pixel_x,a-=32) + X.x-- + Pixel_x+=32 + if(Pixel_y>32) + for(var/a=0, a<=Pixel_y,a+=32) + X.y++ + Pixel_y-=32 + if(Pixel_y<-32) + for(var/a=0, a>=Pixel_y,a-=32) + X.y-- + Pixel_y+=32 + X.pixel_x=Pixel_x + X.pixel_y=Pixel_y + var/turf/TT = get_turf(X.loc) + if(TT == firer.loc) + continue + if(TT.density) + del(X) + break + for(var/atom/O in TT) + if(!O.CanPass(src)) + del(X) + broke = 1 + break + for(var/mob/living/O in TT.contents) + if(istype(O, /mob/living)) + if(O.density) + del(X) + broke = 1 + break + if(broke) + if(X) + del(X) + break + spawn + while(src) //Move until we hit something + if(first) + icon = midicon + if((!( current ) || loc == current)) //If we pass our target + broken = 1 + icon = endicon + tang = adjustAngle(get_angle(original,current)) + if(tang > 180) + tang -= 180 + else + tang += 180 + icon_state = "[tang]" + var/turf/simulated/floor/f = current + if(f && istype(f)) + f.break_tile() + f.hotspot_expose(1000,CELL_VOLUME) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) + //world << "deleting" + //del(src) //Delete if it passes the world edge + broken = 1 + return + if(kill_count < 1) + //world << "deleting" + //del(src) + broken = 1 + kill_count-- + //world << "[x] [y]" + if(!bumped && !isturf(original)) + if(loc == get_turf(original)) + if(!(original in permutated)) + icon = endicon + if(!broken) + tang = adjustAngle(get_angle(original,current)) + if(tang > 180) + tang -= 180 + else + tang += 180 + icon_state = "[tang]" + Bump(original) + first = 0 + if(broken) + //world << "breaking" + break + else + last = get_turf(src.loc) + step_towards(src, current) //Move~ + if(src.loc != current) + tang = adjustAngle(get_angle(src.loc,current)) + icon_state = "[tang]" + del(src) + return + /*cleanup(reference) //Waits .3 seconds then removes the overlay. + //world << "setting invisibility" + sleep(50) + src.invisibility = 101 + return*/ + on_hit(atom/target, blocked = 0) + if(istype(target, /mob/living)) + var/mob/living/M = target + M.playsound_local(src, "explosion", 50, 1) + ..() + +/* /* * Use: Caches beam state images and holds turfs that had these images overlaid. * Structure: @@ -399,3 +644,4 @@ var/list/beam_master = list() damage = 0 agony = 40 damage_type = HALLOSS +*/ \ No newline at end of file diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index b7b1245fe6f..a50f6b4ccdf 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -20,8 +20,14 @@ hitsound = 'sound/weapons/tase.ogg' //Damage will be handled on the MOB side, to prevent window shattering. + on_hit(var/atom/target, var/blocked = 0) + if(!ismob(target) || blocked >= 2) //Fully blocked by mob or collided with dense object - burst into sparks! + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread + sparks.set_up(1, 1, src) + sparks.start() -/obj/item/projectile/energy/electroderevolver + +/obj/item/projectile/energy/electrode/revolver name = "electrode" icon_state = "spark" nodamage = 1 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index e5b5d921d4f..78d402b6360 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1717,8 +1717,6 @@ datum description = "Alchdranine is an extremely strange chemical substance that can be used to treat almost any injury with a high level of effectiveness " reagent_state = LIQUID color = "#07a4d1" // rgb: 7, 164, 209 - toxod = OVERDOSE/3 - burnod = OVERDOSE/3 on_mob_life(var/mob/living/M as mob, var/alien) if(M.stat == 2.0) @@ -1913,6 +1911,21 @@ datum ..() return + inacusiate + name = "Inacusiate" + id = "inacusiate" + description = "Heals ear damage." + reagent_state = LIQUID + color = "#6600FF" // rgb: 100, 165, 255 + toxod = OVERDOSE + scannable = 1 + + on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M.ear_damage = 0 + M.ear_deaf = 0 + ..() + return peridaxon name = "Peridaxon" @@ -1986,9 +1999,9 @@ datum if(!M) M = holder.my_atom if(M.bodytemperature < 170) M.adjustCloneLoss(-1) - M.adjustOxyLoss(-2) - M.heal_organ_damage(2,2) - M.adjustToxLoss(-2) + M.adjustOxyLoss(-3) + M.heal_organ_damage(3,3) + M.adjustToxLoss(-3) ..() return @@ -2003,7 +2016,11 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom if(M.bodytemperature < 170) - M.adjustCloneLoss(-4) + M.adjustCloneLoss(-3) + M.adjustOxyLoss(-3) + M.heal_organ_damage(3,3) + M.adjustToxLoss(-3) + M.status_flags &= ~DISFIGURED ..() return @@ -2272,6 +2289,7 @@ datum M.drowsyness = 0 M.stuttering = 0 M.confused = 0 + M.reagents.remove_all_type(/datum/reagent/ethanol, 1*REM, 0, 1) ..() return @@ -2309,9 +2327,9 @@ datum M.sleeping += 1 if(51 to INFINITY) M.sleeping += 1 - M:toxloss += (data - 50) + M.adjustToxLoss((data - 50)*REM) + holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM) ..() - return beer2 //copypasta of chloral hydrate, disguised as normal beer for use by emagged brobots @@ -2515,27 +2533,37 @@ datum return else if ( mouth_covered ) // Reduced effects if partially protected victim << "\red Your [safe_thing] protect you from most of the pepperspray!" - victim.eye_blurry = max(M.eye_blurry, 15) - victim.eye_blind = max(M.eye_blind, 5) - victim.Stun(5) - victim.Weaken(5) - //victim.Paralyse(10) - //victim.drop_item() + if(prob(5)) + victim.emote("scream") + victim.eye_blurry = max(M.eye_blurry, 3) + victim.eye_blind = max(M.eye_blind, 1) + victim.confused = max(M.confused, 3) + victim.damageoverlaytemp = 60 + victim.Weaken(3) + victim.drop_item() return else if ( eyes_covered ) // Eye cover is better than mouth cover victim << "\red Your [safe_thing] protects your eyes from the pepperspray!" - victim.emote("scream") - victim.eye_blurry = max(M.eye_blurry, 5) + victim.eye_blurry = max(M.eye_blurry, 3) + victim.damageoverlaytemp = 30 return else // Oh dear :D - victim.emote("scream") + if(prob(5)) + victim.emote("scream") victim << "\red You're sprayed directly in the eyes with pepperspray!" - victim.eye_blurry = max(M.eye_blurry, 25) - victim.eye_blind = max(M.eye_blind, 10) - victim.Stun(5) + victim.eye_blurry = max(M.eye_blurry, 5) + victim.eye_blind = max(M.eye_blind, 2) + victim.confused = max(M.confused, 6) + victim.damageoverlaytemp = 75 victim.Weaken(5) - //victim.Paralyse(10) - //victim.drop_item() + victim.drop_item() + + on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]") + ..() + return frostoil name = "Frost Oil" @@ -2917,7 +2945,7 @@ datum on_mob_life(var/mob/living/M as mob) ..() - if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1*REM) + if(M.getOxyLoss() && prob(30)) M.adjustOxyLoss(-1*REM) return tomatojuice @@ -2967,15 +2995,16 @@ datum id = "doctorsdelight" description = "A gulp a day keeps the MediBot away. That's probably for the best." reagent_state = LIQUID - nutriment_factor = 1 * FOOD_METABOLISM - color = "#664300" // rgb: 102, 67, 0 + color = "#FF8CFF" // rgb: 255, 140, 255 on_mob_life(var/mob/living/M as mob) - M:nutrition += nutriment_factor - holder.remove_reagent(src.id, FOOD_METABOLISM) if(!M) M = holder.my_atom - if(M:getToxLoss() && prob(80)) M:adjustToxLoss(-1) - + if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-2) + if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(2,0) + if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,2) + if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-2) + if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15) + if(M.confused !=0) M.confused = max(0,M.confused - 5) ..() return @@ -3014,11 +3043,31 @@ datum description = "The raw essence of a banana." color = "#863333" // rgb: 175, 175, 0 + on_mob_life(var/mob/living/M as mob) + M.nutrition += nutriment_factor + if(istype(M, /mob/living/carbon/human) && M.job in list("Clown")) + if(!M) M = holder.my_atom + M.heal_organ_damage(1,1) + M.nutrition += nutriment_factor + ..() + return + ..() + nothing name = "Nothing" id = "nothing" description = "Absolutely nothing." + on_mob_life(var/mob/living/M as mob) + M.nutrition += nutriment_factor + if(istype(M, /mob/living/carbon/human) && M.job in list("Mime")) + if(!M) M = holder.my_atom + M.heal_organ_damage(1,1) + M.nutrition += nutriment_factor + ..() + return + ..() + potato_juice name = "Potato Juice" id = "potato" @@ -3938,6 +3987,16 @@ datum nutriment_factor = 1 * FOOD_METABOLISM color = "#664300" // rgb: 102, 67, 0 + on_mob_life(var/mob/living/M as mob) + M.nutrition += nutriment_factor + if(istype(M, /mob/living/carbon/human) && M.job in list("Clown")) + if(!M) M = holder.my_atom + M.heal_organ_damage(1,1) + M.nutrition += nutriment_factor + ..() + return + ..() + silencer name = "Silencer" id = "silencer" @@ -3945,6 +4004,16 @@ datum nutriment_factor = 1 * FOOD_METABOLISM color = "#664300" // rgb: 102, 67, 0 + on_mob_life(var/mob/living/M as mob) + M.nutrition += nutriment_factor + if(istype(M, /mob/living/carbon/human) && M.job in list("Mime")) + if(!M) M = holder.my_atom + M.heal_organ_damage(1,1) + M.nutrition += nutriment_factor + ..() + return + ..() + changelingsting name = "Changeling Sting" id = "changelingsting" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 8c6de867252..42578ff4704 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -319,6 +319,13 @@ datum required_reagents = list("carbon" = 1, "hydrogen" = 1, "anti_toxin" = 1) result_amount = 2 + inacusiate + name = "inacusiate" + id = "inacusiate" + result = "inacusiate" + required_reagents = list("water" = 1, "carbon" = 1, "anti_toxin" = 1) + result_amount = 2 + ethylredoxrazine name = "Ethylredoxrazine" id = "ethylredoxrazine" @@ -1397,6 +1404,78 @@ datum var/obj/effect/golem_rune/Z = new /obj/effect/golem_rune Z.loc = get_turf(holder.my_atom) Z.announce_to_ghosts() +//Bluespace + slimecrystal + name = "Slime Crystal" + id = "m_crystal" + result = null + required_reagents = list("blood" = 1) + result_amount = 1 + required_container = /obj/item/slime_extract/bluespace + required_other = 1 + on_reaction(var/datum/reagents/holder, var/created_volume) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + if(holder.my_atom) + var/obj/item/bluespace_crystal/BC = new(get_turf(holder.my_atom)) + BC.visible_message("The [BC.name] appears out of thin air!") +//Cerulean + slimepsteroid2 + name = "Slime Steroid 2" + id = "m_steroid2" + result = null + required_reagents = list("plasma" = 1) + result_amount = 1 + required_container = /obj/item/slime_extract/cerulean + required_other = 1 + on_reaction(var/datum/reagents/holder) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + var/obj/item/weapon/slimesteroid2/P = new /obj/item/weapon/slimesteroid2 + P.loc = get_turf(holder.my_atom) +//Sepia + slimecamera + name = "Slime Camera" + id = "m_camera" + result = null + required_reagents = list("plasma" = 1) + result_amount = 1 + required_container = /obj/item/slime_extract/sepia + required_other = 1 + on_reaction(var/datum/reagents/holder) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + var/obj/item/device/camera/P = new /obj/item/device/camera + P.loc = get_turf(holder.my_atom) + + + slimefilm + name = "Slime Film" + id = "m_film" + result = null + required_reagents = list("blood" = 1) + result_amount = 1 + required_container = /obj/item/slime_extract/sepia + required_other = 1 + on_reaction(var/datum/reagents/holder) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + var/obj/item/device/camera_film/P = new /obj/item/device/camera_film + P.loc = get_turf(holder.my_atom) +//Pyrite + slimepaint + name = "Slime Paint" + id = "s_paint" + result = null + required_reagents = list("plasma" = 1) + result_amount = 1 + required_container = /obj/item/slime_extract/pyrite + required_other = 1 + on_reaction(var/datum/reagents/holder) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + var/list/paints = typesof(/obj/item/weapon/reagent_containers/glass/paint) - /obj/item/weapon/reagent_containers/glass/paint + var/chosen = pick(paints) + var/obj/P = new chosen + if(P) + P.loc = get_turf(holder.my_atom) + + //////////////////////////////////////////FOOD MIXTURES//////////////////////////////////// tofu @@ -1697,7 +1776,7 @@ datum name = "The Doctor's Delight" id = "doctordelight" result = "doctorsdelight" - required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1) + required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1, "tricordrazine" = 1) result_amount = 5 irish_cream diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 8ce9b636b01..31d68ef7b15 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -15,14 +15,14 @@ var/recharge_time = 5 //Time it takes for shots to recharge (in seconds) var/list/datum/reagents/reagent_list = list() - var/list/reagent_ids = list("tricordrazine", "inaprovaline", "spaceacillin") + var/list/reagent_ids = list("doctorsdelight", "inaprovaline", "spaceacillin") //var/list/reagent_ids = list("dexalin", "kelotane", "bicaridine", "anti_toxin", "inaprovaline", "spaceacillin") /obj/item/weapon/reagent_containers/borghypo/surgeon reagent_ids = list("bicaridine", "inaprovaline", "dexalin") /obj/item/weapon/reagent_containers/borghypo/crisis - reagent_ids = list("tricordrazine", "inaprovaline", "tramadol") + reagent_ids = list("doctorsdelight", "inaprovaline", "tramadol") /obj/item/weapon/reagent_containers/borghypo/New() ..() diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 8aef347ed27..4709ada53d8 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1276,7 +1276,7 @@ New() ..() reagents.add_reagent("nutriment", 4) - reagents.add_reagent("alchdranine", 5) + reagents.add_reagent("doctorsdelight", 5) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato @@ -2205,7 +2205,7 @@ New() ..() reagents.add_reagent("nutriment", 8) - reagents.add_reagent("alchdranine", 5) + reagents.add_reagent("doctorsdelight", 5) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/appletart diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index f6d26605818..b2147e6a047 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -20,7 +20,7 @@ /obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty ..() - reagents.add_reagent("tricordrazine", 30) + reagents.add_reagent("doctorsdelight", 30) return /obj/item/weapon/reagent_containers/hypospray/attack(mob/M as mob, mob/user as mob) @@ -64,7 +64,7 @@ /obj/item/weapon/reagent_containers/hypospray/combat/New() ..() - reagents.remove_reagent("tricordrazine", 30) + reagents.remove_reagent("doctorsdelight", 30) reagents.add_reagent("synaptizine", 30) @@ -76,10 +76,11 @@ amount_per_transfer_from_this = 5 possible_transfer_amounts = list(5) volume = 5 + var/emagged = 0 /obj/item/weapon/reagent_containers/hypospray/autoinjector/New() ..() - reagents.remove_reagent("tricordrazine", 30) + reagents.remove_reagent("doctorsdelight", 30) reagents.add_reagent("tramadol", 4) reagents.add_reagent("hyperzine", 1) update_icon() @@ -87,8 +88,9 @@ /obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob) ..() - if(reagents.total_volume <= 0) //Prevents autoinjectors to be refilled. - flags &= ~OPENCONTAINER + if(!emagged) + if(reagents.total_volume <= 0) //Prevents autoinjectors to be refilled. + flags &= ~OPENCONTAINER update_icon() return @@ -105,6 +107,13 @@ else usr << "\blue It is spent." +/obj/item/weapon/reagent_containers/hypospray/autoinjector/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob) + if(istype(D, /obj/item/weapon/card/emag) && !emagged) + emagged = 1 + user << "You bypass the electronic child-safety lock on the reagent storage." + else + ..() + return /obj/item/weapon/reagent_containers/hypospray/hyperzine name = "emergency stimulant autoinjector" diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 5ecdcc40ebb..b97908a76ab 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -97,7 +97,7 @@ bullet_act(var/obj/item/projectile/Proj) if(istype(Proj ,/obj/item/projectile/beam)||istype(Proj,/obj/item/projectile/bullet)) - if(!istype(Proj ,/obj/item/projectile/beam/lastertag) && !istype(Proj ,/obj/item/projectile/beam/practice) ) + if(!istype(Proj ,/obj/item/projectile/lasertag) && !istype(Proj ,/obj/item/projectile/practice) ) explode() blob_act() diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index b09f6f154f1..46fec8bde4c 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -207,7 +207,7 @@ datum/tech/bluespace name = "'Blue-space' Research" desc = "Research into the sub-reality known as 'blue-space'" id = "bluespace" - max_level=4 + max_level=6 datum/tech/biotech name = "Biological Technology" diff --git a/code/modules/research/xenoarchaeology/machinery/coolant.dm b/code/modules/research/xenoarchaeology/machinery/coolant.dm index bc03553bee0..30b43495dba 100644 --- a/code/modules/research/xenoarchaeology/machinery/coolant.dm +++ b/code/modules/research/xenoarchaeology/machinery/coolant.dm @@ -27,7 +27,7 @@ datum/chemical_reaction/coolant /obj/structure/reagent_dispensers/coolanttank/bullet_act(var/obj/item/projectile/Proj) if(istype(Proj ,/obj/item/projectile/beam)||istype(Proj,/obj/item/projectile/bullet)) - if(!istype(Proj ,/obj/item/projectile/beam/lastertag) && !istype(Proj ,/obj/item/projectile/beam/practice) ) + if(!istype(Proj ,/obj/item/projectile/lasertag) && !istype(Proj ,/obj/item/projectile/practice) ) explode() /obj/structure/reagent_dispensers/coolanttank/blob_act() diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 9184f11c095..e1b188300a6 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/in-hand/duffelbag.dmi b/icons/mob/in-hand/duffelbag.dmi new file mode 100644 index 00000000000..736febaeba6 Binary files /dev/null and b/icons/mob/in-hand/duffelbag.dmi differ diff --git a/icons/mob/in-hand/swords.dmi b/icons/mob/in-hand/swords.dmi index 7d5baa533f8..99e42e7e522 100644 Binary files a/icons/mob/in-hand/swords.dmi and b/icons/mob/in-hand/swords.dmi differ diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index a93050ba21b..9ecb5b7a1c7 100644 Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ diff --git a/icons/mob/slimes.dmi b/icons/mob/slimes.dmi index 0f69a47d8b4..f9998d6f106 100644 Binary files a/icons/mob/slimes.dmi and b/icons/mob/slimes.dmi differ diff --git a/icons/obj/atmos.dmi b/icons/obj/atmos.dmi index a80de32c0c6..efe3ad114f4 100644 Binary files a/icons/obj/atmos.dmi and b/icons/obj/atmos.dmi differ diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index a2b7d416055..406085c01e7 100644 Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 935a230c74a..ad9f67bf5c1 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 5b9521e089f..92950367876 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 5b70d7d8116..c7ce5d4d65c 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index fc8e9ee5e82..7a7f30046ca 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 0aa20c005d5..af1866d85a3 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 92360d6d226..2d3609c6806 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -1289,7 +1289,7 @@ "ayO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area) "ayP" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light_switch{pixel_x = 27; pixel_y = -8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ayQ" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/carpet,/area/magistrateoffice) -"ayR" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Magistrate's Office"},/turf/simulated/floor/carpet,/area/magistrateoffice) +"ayR" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Magistrate's Office"},/turf/simulated/floor/carpet,/area/magistrateoffice) "ayS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/magistrateoffice) "ayT" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump,/obj/machinery/photocopier,/turf/simulated/floor/carpet,/area/magistrateoffice) "ayU" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) @@ -1410,7 +1410,7 @@ "aBf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/magistrateoffice) "aBg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/magistrateoffice) "aBh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Magistrate's Office"; req_access_txt = "38"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/magistrateoffice) -"aBi" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Internal Affairs"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) +"aBi" = (/obj/structure/table/reinforced,/obj/machinery/faxmachine{department = "Internal Affairs"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aBj" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aBk" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aBl" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) @@ -2275,7 +2275,7 @@ "aRM" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aRN" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aRO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/securehallway) -"aRP" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Head of Security's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) +"aRP" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Head of Security's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "aRQ" = (/obj/machinery/camera/xray{c_tag = "Arrivals Shuttle West"; dir = 4; network = list("SS13")},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "aRR" = (/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "aRS" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) @@ -3298,7 +3298,7 @@ "blv" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area) "blw" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/medical/reception) "blx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "0"; req_one_access_txt = "6,9"},/turf/simulated/floor,/area/medical/morgue) -"bly" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/atmos/control) +"bly" = (/obj/machinery/doppler_array,/turf/simulated/floor,/area/toxins/mixing) "blz" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) "blA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/starboard/east) "blB" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/starboard/east) @@ -3378,6 +3378,7 @@ "bmX" = (/obj/machinery/camera{c_tag = "Medbay Morgue"; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Morgue APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bmY" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) "bmZ" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor,/area/medical/morgue) +"bna" = (/mob/living/silicon/robot/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "bnb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bnc" = (/obj/structure/flora/kirbyplants,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/controlroom) "bnd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area) @@ -3433,7 +3434,7 @@ "bob" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) "boc" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; listening = 1; name = "Captain's Intercom"; pixel_x = -27; pixel_y = -3},/obj/structure/closet/secure_closet/captains,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bod" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"boe" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"boe" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Captain's Office"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bof" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bog" = (/obj/item/flag/nt,/turf/simulated/floor/wood,/area/crew_quarters/captain) "boh" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw) @@ -4648,7 +4649,7 @@ "bLu" = (/obj/machinery/iv_drip,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) "bLv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door_control{id = "paramedic"; name = "Garage Door Control"; pixel_x = -1; pixel_y = 24; req_access_txt = "66"},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/paramedic) "bLw" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"bLx" = (/obj/structure/disposalpipe/segment,/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Chief Medical Officer's Office"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/cmo) +"bLx" = (/obj/structure/disposalpipe/segment,/obj/structure/table,/obj/machinery/faxmachine{department = "Chief Medical Officer's Office"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/cmo) "bLy" = (/obj/machinery/light{dir = 1},/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/cmo) "bLz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/cmo) "bLA" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/light{dir = 1},/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/briefcase,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/cmo) @@ -4676,7 +4677,7 @@ "bLW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bLX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bLY" = (/obj/machinery/power/apc{dir = 8; name = "RD Office APC"; pixel_x = -25},/obj/structure/cable,/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLZ" = (/obj/machinery/hologram/holopad,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) +"bLZ" = (/obj/machinery/hologram/holopad,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table,/obj/machinery/faxmachine{department = "Research Director's Office"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) "bMa" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/toxins{pixel_x = 4; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Research Director's Office"; dir = 1; network = list("Research","SS13")},/obj/item/clothing/glasses/welding/superior,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) "bMb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Mr. Chang's"},/turf/simulated/floor,/area/crew_quarters/mrchangs) "bMc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) @@ -5171,7 +5172,7 @@ "bVx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "NT Recruitment Office"; req_access = null; req_access_txt = "57"},/turf/simulated/floor,/area/crew_quarters/recruit) "bVy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/toxins/mixing) "bVz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/toxins/mixing) -"bVA" = (/turf/simulated/floor,/area/toxins/mixing) +"bVA" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "bVB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor,/area/crew_quarters/fitness) "bVC" = (/turf/simulated/floor/airless{dir = 8; icon_state = "warning"},/area/toxins/test_area) "bVD" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) @@ -5270,7 +5271,7 @@ "bXs" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/machinery/computer/crew,/turf/simulated/floor/wood,/area/blueshield) "bXt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "bXu" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/device/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 25; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"bXv" = (/obj/machinery/camera{c_tag = "NT Representative's Office"; dir = 1; network = list("SS13")},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "NT Representative's Office"},/turf/simulated/floor/wood,/area/ntrep) +"bXv" = (/obj/machinery/camera{c_tag = "NT Representative's Office"; dir = 1; network = list("SS13")},/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "NT Representative's Office"},/turf/simulated/floor/wood,/area/ntrep) "bXw" = (/obj/machinery/power/apc{name = "Mime Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/wood,/area/mimeoffice) "bXx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor/wood,/area/ntrep) "bXy" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera{c_tag = "Aft Primary Hallway 1"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) @@ -6578,7 +6579,7 @@ "cwA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/equipmentstorage) "cwB" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwD" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) +"cwD" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwF" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/pen,/obj/item/weapon/lighter/zippo,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwG" = (/obj/machinery/autolathe,/turf/simulated/floor,/area/engine/equipmentstorage) @@ -6642,6 +6643,7 @@ "cxM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/hardsuitstorage) "cxN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Engineering Equipment East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/engineeringcart,/turf/simulated/floor,/area/engine/equipmentstorage) "cxO" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) +"cxP" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8; name = "Air to ext"},/turf/simulated/floor,/area/atmos) "cxQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) "cxR" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) "cxS" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) @@ -6901,7 +6903,7 @@ "cCM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "cCN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/closet/radiation,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core) "cCO" = (/obj/machinery/camera{c_tag = "Engineering Supermatter Decontamination"; dir = 1; network = list("Supermatter","SS13")},/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/radiation,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core) -"cCP" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/crew_quarters/heads) +"cCP" = (/obj/structure/table,/obj/machinery/faxmachine{department = "Head of Personnel's Office"},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/crew_quarters/heads) "cCQ" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Engineering Supermatter Monitoring"; dir = 1; network = list("SS13")},/obj/machinery/computer/general_air_control{frequency = 1443; name = "Supermatter Gas Mix Monitoring"; sensors = list("supermatter_gas" = "Supermatter Gas Mix")},/turf/simulated/floor,/area/engine/reactor_core) "cCR" = (/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core) "cCS" = (/obj/machinery/shield_gen,/turf/simulated/floor/plating,/area/storage/secure) @@ -7762,7 +7764,7 @@ "cTp" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) "cTq" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) "cTr" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cTs" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"cTs" = (/obj/mecha/combat/marauder/mauler/loaded,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) "cTt" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) "cTu" = (/obj/structure/closet/acloset,/turf/unsimulated/floor/plating,/area/xenos_station/start) "cTv" = (/obj/effect/landmark{name = "Xenos-Spawn"; pixel_x = -1},/turf/unsimulated/floor/plating,/area/xenos_station/start) @@ -8024,9 +8026,9 @@ "cYr" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "cYs" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "cYt" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYu" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYv" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYw" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"cYu" = (/obj/machinery/vending/syndisnack,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"cYv" = (/obj/machinery/vending/syndicigs,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"cYw" = (/obj/machinery/vending/wallmed1/syndicate{pixel_x = -30},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "cYx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "cYy" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "cYz" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) @@ -8150,7 +8152,7 @@ "daN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "daO" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "daP" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/table,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"daQ" = (/obj/machinery/vending/wallmed1{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) +"daQ" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "locked door"},/area/tdome) "daR" = (/obj/structure/table,/obj/item/weapon/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "daS" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "daT" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) @@ -8811,35 +8813,35 @@ "dny" = (/turf/space,/area/admin) "dnz" = (/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin) "dnA" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dnB" = (/obj/structure/rack,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/gas/voice,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnC" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnD" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/head/bandana,/obj/item/clothing/mask/cigarette/cigar/cohiba,/obj/item/clothing/under/pirate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnE" = (/obj/structure/rack,/obj/item/clothing/under/shorts/green,/obj/item/clothing/mask/luchador,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnF" = (/obj/structure/rack,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/rainbow,/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnG" = (/obj/structure/rack,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/mask/cigarette/pipe,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnH" = (/obj/structure/rack,/obj/item/clothing/under/syndicate,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/mask/gas/swat,/obj/item/clothing/suit/armor/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnB" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer{desc = "Contains the hopes and dreams of banned griffons."; name = "adminbooze"; pixel_x = 3; pixel_y = -3},/obj/item/weapon/reagent_containers/food/drinks/cans/beer{desc = "Contains the hopes and dreams of banned griffons."; name = "adminbooze"; pixel_x = -3},/obj/item/weapon/storage/fancy/cigarettes/syndicate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnC" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/tdome) +"dnD" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"dnE" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/tdome) +"dnF" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/tdome) +"dnG" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/wall/fakeglass,/area/tdome) +"dnH" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/tdome) "dnI" = (/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin) "dnJ" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dnK" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnK" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area) "dnL" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnM" = (/obj/structure/rack,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/glasses/hud/security/jensenshades,/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnN" = (/obj/structure/rack,/obj/item/clothing/head/beret/sec,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/captain,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnO" = (/obj/structure/rack,/obj/item/clothing/suit/space/santa,/obj/item/clothing/head/helmet/space/santahat,/obj/item/weapon/storage/backpack/santabag,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnP" = (/obj/structure/rack,/obj/item/clothing/under/acj,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/gloves/combat,/obj/item/clothing/head/beret/sec,/obj/item/clothing/shoes/combat,/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnQ" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel_tox,/obj/item/weapon/storage/backpack/satchel_vir,/obj/item/weapon/storage/backpack/satchel_chem,/obj/item/weapon/storage/backpack/satchel_hyd,/obj/item/weapon/storage/backpack/satchel_gen,/obj/item/weapon/storage/backpack/holding,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnR" = (/obj/structure/rack,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/thermal,/obj/item/clothing/glasses/material,/obj/item/clothing/glasses/hud/security/night,/obj/item/clothing/glasses/hud/health/night,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnS" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnM" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"dnN" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area) +"dnO" = (/obj/structure/table,/obj/item/weapon/storage/box/teargas,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"dnP" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/energy/sword/green,/obj/item/weapon/melee/telebaton,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"dnQ" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/energy/sword/red,/obj/item/weapon/melee/telebaton,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"dnR" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/twohanded/mjollnir,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"dnS" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/twohanded/mjollnir,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "dnT" = (/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnU" = (/obj/mecha/combat/honker,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnU" = (/obj/structure/rack,/obj/item/clothing/mask/gas/swat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/mask/gas/cyborg,/obj/item/clothing/mask/gas/voice,/obj/item/clothing/mask/balaclava{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dnV" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dnW" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnX" = (/obj/structure/rack,/obj/item/clothing/head/welding/fluff/alice_mccrea_1,/obj/item/clothing/head/welding/fluff/norah_briggs_1,/obj/item/clothing/head/welding/fluff/yuki_matsuda_1,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnY" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/gas/swat,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dnZ" = (/obj/structure/rack,/obj/item/clothing/under/psyche,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnX" = (/obj/structure/rack,/obj/item/clothing/head/bandana,/obj/item/clothing/head/ushanka,/obj/item/clothing/head/helmet/roman/legionaire,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnY" = (/obj/structure/rack,/obj/item/clothing/head/helmet/swat/syndicate{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/helmet/space/deathsquad,/obj/item/clothing/head/helmet/space/deathsquad/beret{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dnZ" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/wizard{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/helmet/space/rig/syndi,/obj/item/clothing/head/helmet/space/santahat{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "doa" = (/obj/structure/mirror{pixel_y = -30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dob" = (/obj/structure/rack,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/obj/item/clothing/glasses/night,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"doc" = (/obj/mecha/combat/marauder,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dod" = (/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dob" = (/obj/structure/rack,/obj/item/clothing/head/welding/fluff/alice_mccrea_1{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/welding/fluff/norah_briggs_1,/obj/item/clothing/head/welding/fluff/yuki_matsuda_1{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"doc" = (/obj/structure/rack,/obj/item/clothing/head/soft/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft/blue,/obj/item/clothing/head/soft/red{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dod" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/holding,/obj/item/weapon/storage/backpack/duffel/clown,/obj/item/weapon/storage/backpack/duffel/captain,/obj/item/weapon/storage/backpack/duffel/science,/obj/item/weapon/storage/backpack/duffel/syndiammo,/obj/item/weapon/storage/backpack/duffel/syndimed,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "doe" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dof" = (/turf/space,/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) "dog" = (/obj/machinery/door/airlock/hatch{name = "Clothing Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) @@ -8888,7 +8890,7 @@ "doX" = (/obj/structure/rack,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "doY" = (/obj/structure/rack,/obj/item/weapon/katana{pixel_x = 3; pixel_y = -3},/obj/item/weapon/katana,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "doZ" = (/obj/structure/rack,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/melee/energy/sword{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dpa" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/weapon/gun/energy/decloner,/obj/item/weapon/gun/energy/decloner{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dpa" = (/obj/structure/rack,/obj/item/weapon/gun/energy/mindflayer,/obj/item/weapon/gun/energy/mindflayer{pixel_x = 3; pixel_y = -3},/obj/machinery/recharger/wallcharger{pixel_x = 30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpb" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/obj/machinery/syndicatebomb/badmin/clown,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dpc" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dpd" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) @@ -8896,9 +8898,9 @@ "dpf" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpg" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/item/weapon/lighter,/obj/item/weapon/handcuffs/cable/red,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/pen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dph" = (/obj/structure/table,/obj/item/weapon/tank/plasma,/obj/item/device/multitool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dpi" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dpi" = (/obj/mecha/combat/honker/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpj" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/obj/item/weapon/gun/energy/pulse_rifle/M1911{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dpk" = (/obj/structure/table,/obj/item/weapon/tank/oxygen/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) +"dpk" = (/obj/structure/rack,/obj/item/clothing/gloves/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/latex,/obj/item/clothing/gloves/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpl" = (/obj/machinery/door/airlock/hatch{name = "Tool Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dpm" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpn" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) @@ -8906,7 +8908,7 @@ "dpp" = (/obj/structure/table,/obj/item/weapon/tank/jetpack/void,/obj/item/clothing/mask/fakemoustache,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpq" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) "dpr" = (/obj/structure/rack,/obj/item/weapon/gun/energy/meteorgun,/obj/item/weapon/gun/energy/meteorgun{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dps" = (/obj/structure/rack,/obj/item/weapon/gun/energy/mindflayer,/obj/item/weapon/gun/energy/mindflayer{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dps" = (/obj/structure/rack,/obj/item/weapon/twohanded/knighthammer{pixel_x = -3; pixel_y = 3},/obj/item/weapon/twohanded/mjollnir,/obj/item/weapon/twohanded/singularityhammer{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpt" = (/obj/structure/rack,/obj/item/weapon/gun/energy/crossbow,/obj/item/weapon/gun/energy/crossbow{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpu" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dpv" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/yellow,/obj/item/weapon/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) @@ -8953,44 +8955,44 @@ "dqk" = (/obj/machinery/account_database{name = "Admin Accounts database"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dql" = (/obj/structure/table,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqm" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room."; icon_state = "doorctrl0"; id = "ADMINLOCKDOWN"; name = "Lockdown"; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dqn" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer{desc = "Contains the hopes and dreams of banned griffons."; name = "adminbooze"; pixel_x = 3; pixel_y = -3},/obj/item/weapon/reagent_containers/food/drinks/cans/beer{desc = "Contains the hopes and dreams of banned griffons."; name = "adminbooze"; pixel_x = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqn" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqo" = (/turf/simulated/floor,/area/admin) "dqp" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Dojo"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dqq" = (/turf/unsimulated/wall,/area/tdome) -"dqr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dqs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"dqr" = (/obj/mecha/combat/marauder/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqs" = (/obj/structure/rack,/obj/item/clothing/under/chameleon/all{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/soviet,/obj/item/clothing/under/pirate{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqt" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dqu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dqv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"dqu" = (/obj/structure/rack,/obj/item/clothing/glasses/material{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/thermal{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqv" = (/obj/structure/rack,/obj/item/clothing/glasses/sunglasses{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/hud/health_advanced{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqw" = (/obj/machinery/door/airlock/glass{name = "Shuttle Bay"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqx" = (/obj/structure/showcase,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dqy" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dqz" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dqA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dqB" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) -"dqC" = (/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome) -"dqD" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome) -"dqE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"dqy" = (/obj/structure/rack,/obj/item/clothing/suit/armor/swat,/obj/item/clothing/suit/armor/swat/officer{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqz" = (/obj/structure/rack,/obj/item/clothing/under/shorts/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/shorts/blue,/obj/item/clothing/under/shorts/red{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqA" = (/obj/mecha/combat/marauder/mauler/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqB" = (/obj/mecha/combat/gygax/dark/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqC" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/syndi{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/space/rig/wizard,/obj/item/clothing/suit/space/santa{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqD" = (/obj/structure/rack,/obj/item/clothing/under/syndicate{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/acj{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqE" = (/obj/structure/rack,/obj/item/clothing/suit/pirate_black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/blacktrenchcoat,/obj/item/clothing/suit/bomber{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqF" = (/turf/simulated/wall/r_wall,/area/adminconstruction) "dqG" = (/obj/structure/cult/talisman,/obj/item/weapon/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil."; force = 1e+008; name = "toolbox of robustness"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dqH" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/admin) "dqI" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/rack,/obj/item/weapon/grenade/clusterbuster/smoke,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dqJ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dqK" = (/obj/structure/table/reinforced{dir = 4; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dqL" = (/obj/structure/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dqM" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"dqJ" = (/obj/structure/rack,/obj/item/clothing/shoes/green{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/centcom,/obj/item/clothing/shoes/syndigaloshes{pixel_x = 3; pixel_y = -3},/obj/item/clothing/shoes/rainbow{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/swat,/obj/item/clothing/shoes/combat{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqK" = (/obj/structure/rack,/obj/item/clothing/glasses/night{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/hud/health/night,/obj/item/clothing/glasses/hud/security/night{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqL" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots/syndie{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/magboots/advance,/obj/item/clothing/shoes/magboots{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqM" = (/obj/structure/rack,/obj/item/clothing/under/rank/centcom/captain{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/under/rank/centcom/representative{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqN" = (/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/adminconstruction) -"dqO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"dqO" = (/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqP" = (/obj/structure/ninjatele{pixel_x = -28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dqQ" = (/obj/structure/ninjatele{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dqR" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome) -"dqS" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome) +"dqR" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqS" = (/obj/structure/table,/obj/item/weapon/tank/oxygen/yellow,/obj/random/bomb_supply,/obj/item/clothing/under/rebeloutfit,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "dqT" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) "dqU" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dqV" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) -"dqW" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) -"dqX" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) -"dqY" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) +"dqV" = (/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/obj/item/mecha_parts/mecha_equipment/weapon/honker,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot,/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"dqW" = (/obj/machinery/light{dir = 1},/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/plating,/area/djstation) +"dqX" = (/obj/structure/closet,/obj/item/clothing/under/syndicate,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) +"dqY" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) "dqZ" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) "dra" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "drb" = (/obj/machinery/door/window{dir = 1; name = "Suit Storage"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/admin) @@ -8998,7 +9000,7 @@ "drd" = (/obj/structure/rack,/obj/item/clothing/shoes/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "dre" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "drf" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"drg" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome) +"drg" = (/mob/living/silicon/robot/deathsquad,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) "drh" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) "dri" = (/obj/structure/rack,/obj/item/clothing/gloves/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "drj" = (/obj/structure/rack,/obj/item/weapon/ninja_manuscript,/obj/item/clothing/mask/gas/voice/space_ninja/scar,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) @@ -9006,7 +9008,7 @@ "drl" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "drm" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "drn" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dro" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome) +"dro" = (/obj/item/clothing/tie/stethoscope,/turf/space,/area) "drp" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) "drq" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "drr" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) @@ -9028,22 +9030,18 @@ "drH" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "drI" = (/obj/machinery/door/airlock/external{name = "Shuttle Dock"; req_access_txt = "80"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "drJ" = (/obj/machinery/door/airlock/external{name = "Shuttle Dock"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"drK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"drL" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome) -"drM" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"drN" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"drK" = (/obj/structure/table,/obj/structure/safe/floor,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) +"drL" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) "drO" = (/obj/machinery/door/poddoor{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "drP" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome) "drQ" = (/turf/simulated/floor,/area/tdome) "drR" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"drS" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "drT" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "drU" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) "drV" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) "drW" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) "drX" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) "drY" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"drZ" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "dsa" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dsb" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) "dsc" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) @@ -9062,21 +9060,14 @@ "dsp" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) "dsq" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dsr" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dss" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "dst" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) "dsu" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dsv" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dsw" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dsx" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{tag = "icon-delivery"; icon_state = "delivery"},/area/admin) "dsy" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dsz" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "dsA" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dsB" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/tdome) -"dsC" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "dsD" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome) -"dsE" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) -"dsF" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dsG" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome) "dsH" = (/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dsI" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dsJ" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) @@ -9096,7 +9087,6 @@ "dsX" = (/obj/structure/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dsY" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dsZ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dta" = (/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dtb" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dtc" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) "dtd" = (/obj/item/trash/cheesie,/turf/space,/area) @@ -11166,25 +11156,20 @@ "egN" = (/turf/space,/area/vox_station/mining) "egO" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "egP" = (/turf/simulated/floor/plating/airless,/area/djstation/solars) -"egQ" = (/obj/machinery/light{dir = 1},/obj/machinery/media/transmitter/broadcast/dj,/turf/simulated/floor/plating,/area/djstation) "egR" = (/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/djstation) "egS" = (/obj/item/device/multitool,/turf/simulated/floor/plating,/area/djstation) "egT" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plating,/area/djstation) "egU" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/djstation) "egV" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plating,/area/djstation) -"egW" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/plating,/area/djstation) "egX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/djstation) "egY" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/plating,/area/djstation) "egZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/djstation) "eha" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/djstation) "ehb" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/jetpack/oxygen,/turf/simulated/floor/plating,/area/djstation) "ehc" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"ehd" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) "ehe" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"ehf" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/closet/radiation,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) "ehg" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/media/jukebox/dj,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) "ehh" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maint) -"ehi" = (/obj/structure/table,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "ehj" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) "ehk" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; dir = 8; freerange = 1; listening = 1; name = "Pirate Radio Listening Channel"; pixel_x = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) "ehl" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) @@ -12379,6 +12364,7 @@ "eEe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos/control) "eEf" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/atmos/control) "eEg" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/atmos/control) +"eEh" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor,/area/atmos/control) "eEi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/security/engineering,/obj/machinery/camera{c_tag = "Atmospherics Control Room"; network = list("SS13")},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "Atmospherics Control APC"; pixel_y = 26},/turf/simulated/floor,/area/atmos/control) "eEj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Waste Loop")},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/atmos/control) "eEk" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos/control) @@ -12577,7 +12563,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLby aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbPtbPubPtbPvbPvbPwbPvbPvbPxbPvbPvbPvbPybPvbPvbPvbPzbPvbPvbPAbPvbPvbPvbPvbPvbPvbPBbPCbPDbMxbMxbMxbMxbMxbPEbPFbPGbPHbCzacvaaqbPIaaqeApbPKbPKbPKbPJaaqeAqbPMbPMbPMbPNbPObPPbPQbPRayObPSbPTbPUbPUbPVbPWaaqaaqbPXaaqbQcbQbbRpbRobRqaaqeAnbHPbUIbUGbQdbQebQfbQgactbRwbRzbQjbQiaaibQlbQmbQnbQobQpbQqbQrbQsbQtbQuaaqaaqaaqaaqaaqaaJaBpanlaaibQvbQwbQwbQxbPbbQybPbbQzaaibQAbKfbQBbQBaaqbGHbQCbGJaaiaaibQDaaiaaiaaiaaiaaiaaiaaiaaiaaibQEaaiaaiaaiaaiaaiaaiaaiaaiaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbQFbPobPobQGaaiaaibPqbPqbQHbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbHaanFaDGctmbEcbQIbEcbQJbQKbQLbFObFObQMbFObFObEcbQNbFObFObQObFObFObFObFOcrWbEfaaqcqPbQQbQRbQSbQTbQUbQVbQWbQXbQYbQZbRabCzaaqbPIaaqbPJbPKbRbbPKbSxaaqbPLbPMbRcbPMbPLaaqbRdbRebRfaaqbRgbRhbRibRtbRkbRlabHbRmbRnabHchhbRrbSMbSJbRAaaqbRsbHPbHPbSRbQdbQebRubRvbQkbOBbSObRyczAbRxbRBbRCbRDaaqcuzbRFbQrbRGbRGbRGaaqbRHbRIbRKbRJbRLbRMbRNaaibQwbQwbQwbRObPbbRPbPbbRQaaibRRbKfbRSbRSaaqbRTbRUbGJaaibRVbRWbRXactbRYbRZbSabSbbScbSdbSebSfbSgbShbSibSjbSkbSlbSmaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabSnaaibQFaaiaaibPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaiaaiaaqayGbSoayHbxgbSpaaqaaqayGanFayHaaqaaqbSqaaqaaqaaqaaqbxgaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbSraaqaaqaaqbSsbStbSubSvaaqbPJbSwbPKbPKbPJaaqbSybSzbPMbSAbSBabHbSCbSDbSEaaqaaqaaqaaqaaqbSFaaqaaqbSGbSHaaqaaqaaJaaqanpaaqaaqbSIbOqbOqaaqaaqbSKbSLbMLbOpbSNbQhbSPbSQbOoaaqbSSbSTaaqbREbRFbQrbRGbRGbRGaaqbSYbSZbTabTbbTcbTdbTeaaibQwbQwbQwbTfbPbbQybTgbVdactbTibTjbTkbTkayObTlbTmbLXbTnbTobTpbTqbTrbTsbShbShbTtbTubShbTvbShbTwbTxbTybTzbTAbTBbTCacdcogbTEbTFcoYaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibTHbTIbTIbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaibTJbTKbTLbTMbTNbTObTPbTQaaibTRbTSbTTbTUbTVbTWbTXbTYbTZbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbUabTYbTYbTYbUbbUcbUdbUeaaqeAobUgbUhbUibUjabHbUkbUlbUmbUnbUoaaqbUpbUqbUrbUsbUtbUtbUtbUtbUubUvbUwbUxbUxbUybUybUzbUAbUBaaqaaqbUCbUDbUEbPYcbhbQebUHbMLbOwbOsaFWbUKbLwbQaaFWbUMbUNanccxjcxkcxhcxicwdcxgaaqcqxbUVbUWbUXbUYbUZbVaaaibVbbQwbQwaaibVcbYdbVeaaiaaqbVfbVgbIwaaqaaqbVhbQCbViaaibVjbVkbVlaaibVmbVnbVnbVobVpbVqbVrbVnbVsbVtbVnbVnbVubVvbVwcpcbVybVzbVAcqoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVCbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaibTJbTKbTLbTMbTNbTObTPbTQaaibTRbTSbTTbTUbTVbTWbTXbTYbTZbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbUabTYbTYbTYbUbbUcbUdbUeaaqeAobUgbUhbUibUjabHbUkbUlbUmbUnbUoaaqbUpbUqbUrbUsbUtbUtbUtbUtbUubUvbUwbUxbUxbUybUybUzbUAbUBaaqaaqbUCbUDbUEbPYcbhbQebUHbMLbOwbOsaFWbUKbLwbQaaFWbUMbUNanccxjcxkcxhcxicwdcxgaaqcqxbUVbUWbUXbUYbUZbVaaaibVbbQwbQwaaibVcbYdbVeaaiaaqbVfbVgbIwaaqaaqbVhbQCbViaaibVjbVkbVlaaibVmbVnbVnbVobVpbVqbVrbVnbVsbVtbVnbVnbVubVvbVwcpcbVybVzblycqoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVCbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZaaaaaaaaibVDbVEbVEbVFbVEbVEbVGbVHaaibVIbVJbVKbVJbVJbVLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaqbVMaaqaaqbVNaaqbVObVPbVQbVRbVSaaqbVTbVUbVVbVWbVXaMRbVYbVZbWaabHacdacdacdacdbWbatQbzlayObWcayOayObWdbWebWfbWgbWhbWibWjbWkbWlbsobWnbWobWpbWqbWrbWsbWtbWubWvbWwbWxbWyaaqaaqaCZayOayOayObWzaaqaaqeBvaaqalrbqIboGbnUaaibWEbQwbQwbWFbWGbWHbWIbWJaaqaaqbWKaaqaaqbWLbWMbQCbrYaaiaaibWNaaiaaibWObsnbWPbWQbWRbVnbWSbVwbWTbVwbVwbVwbWUbSfbIIaaibWVbWWbWXcdiaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPqbPqbPqbPqbPqbPqbWZbPqbXabPqbPqbPqbPqbPqaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbbXcbXdbXcbXeaaaaaaaaaaaibXfbVEbVEbVFbVEbVEbVGbXgaaibVIbXhbXibXjbXibVLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibXkbXlbXmaaqbXnaaqchbbxbbXqbXrbXsaaqcgZbPLbXvbwmbXxaMSbXybXzbXAaaiaaicaDcbPcaEcaBcaAabnbXGbzXbXHaaqbXIbzXbzXbXJayObXKbXLbWkbWlbspbXNbXObXPbXQbXRbXSbXTbXUbXRbXRbXVbXWbXWbXWbXXbXWbXWbXWcekbXZbYabYbbYcbMSbEQbYfbYgaaibYhbYibYjbYkbYlbYmbYnbYobYpbYqbYrbrYbYsbrYbWMbQCbrYaaibPhbYtbYuaaiaaiaaqaaqaaqbYvbVnbYwbVnbVnbYxbYybYzbYAbYBbYCaaicgXcgxceJaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibYGbYGbYGbYGbYGbYGbYHbPqbYIbYGbXabPqbPqbPqbPqaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYJbYKbYLbYMbYJbdbanFbalaaibYNbYObVEbVFbVEbVEbVGbYPaaibVIbYQbXibXibXibVLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYRbYSbYTaaqbXnaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqbYUbYVbYWbyRbXCbXBbzfbzfbxtbncabnbzXbzXbZdaaqbZebzXbzXbzXbZfbZgbZhbWjbZiaFWbZjbXWbZkbZlbZmbJCbZlbZnbZobZobZobZobZobZobZlbZobZobZobJCbZpbZcbZrbZscaMbzNbZvbZwaaibZxbZybZybZzbQwbZAbZBbZCbZDbZEbZFbZGbrYbZHbWMbQCbZIaaibPhbZJbZKbZLaaibZMbZNbZObVnbVnbZPbVnbVnbZQbZqbZSbZTbZUbZVaaibZWbZXbZYbZZaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaabPobPobPobPobPobPobPocabbPrbPqbPqbPqbPqcacbPraaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12590,7 +12576,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachJchJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBchKchLcgBchNchOchPchQchRchSchTaaqbXmchUaaiaaaaaaaaaaaaaaichVchWchXchXchYchZaaqciabXzbSDcibciccyYczMcyYcyYcyYcyWcyXcyUcyUcyRcyTaaibzXbzXaaqchdcikcilcimcincioaaqcinciocimcipciqchkaaicgieATcgjaaiciscdCceZaaiaaiaaiaaiaaiaaiaaiaaibzXbzXbzXaaiaabaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaacrzcitciucivaaiaaiciwcixciyaaiaaiaaidTedSYdSSdSYdTbaaiaaiaaaaaaaaaciDaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaabaabciEciFciGbQGaaqaaiaaibPqbPrbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHboVboVboVboVboVboVboVboVboVboVboVboVciIaaiaaqaaqaaqaaqaaqaaqciJciKaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqciLbXzbSDciMciNeByeEbeEcdZxeaeciTeBceBkeBleBmeBxaaibzXbzXaaqciZcjacilcimcimeBGaaqeBFcimcimcipcilcjdaaiaaiaaiaaiaaiciscdCcjeaaibzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaadITcjfcjgcjhaaiaaicjicjjcjkaaiaaaaaacjlcjlcjmcjlcjlaaaaaaaaaaaaaaaciDaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcjnbNtbNtbNuaaqaaqaaiaaiaaiaaibNvaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaachIaaaaaachIchIchIchIchIchIchIaaaaaachIaaachIaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjodfKcjqcjrcjrecUcjrcjtcjucjvdgkcjxecscjzcjAcjAcjBcjCcjDcjDcjDcjEcjFcjGcjHcjIcjHcjHcjHcjGcjHcjHcjHcjJcjKcjLbXzbSDcjMcjNdYEaqAaaicfXactatTcjPcjQactasVcaFaaibzXbzXaaqdYbcjScjTcjUcimcjVaaqdYkcimcjXcjYcjTcjZaaibzXbzXbzXeEtciscdCciseEtbzXbzXbzXbzXbzXbzXbzXbzXbzXbzXaaiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaacaUaaickbaqAcaUayGckcckdbdbayHaaackeckfckgckhckgckfckeaaachBchCchCckiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockjckkcklckkeeBckkckjckkckncklckkeDMckpbSEckpckpckqbSEbSEbSEbSEckrckpckpckpckpckpckpckpckpckpckpckscktckuckvckwckxckyckzckAaaickBckCckDckEckFblyeEieEjacdcfeckJabHckKckLckMckNcimckOaaqckOcimckNckPcilckQaaickRacdacdckSckTcdCckUcaUayGanFanFbalaaiaaiaaianEanFanGaaiaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaickVckWckXaaiaabazGckYazGaabaaackeckZclaclbclackZckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjockjckkcklckkeeBckkckjckkckncklckkeDMckpbSEckpckpckqbSEbSEbSEbSEckrckpckpckpckpckpckpckpckpckpckpckscktckuckvckwckxckyckzckAaaickBckCckDckEckFeEheEieEjacdcfeckJabHckKckLckMckNcimckOaaqckOcimckNckPcilckQaaickRacdacdckSckTcdCckUcaUayGanFanFbalaaiaaiaaianEanFanGaaiaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaickVckWckXaaiaabazGckYazGaabaaackeckZclaclbclackZckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedickkedsclccldeezcldedFclgdZMeACcljclkcktcllclmclmclnabHcloabHclpclqclpclpclpclpclpclpclpclpclpclpclrckpclscltcluclvclwclxclyclzclAclBceEclCeEfeEgeEdeEeactbWeclHaPnclIcimcilcimcimclJayOclKcimcimcipcilclLaaiclMaaiaaaaqAaaieEuaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiclOclPclQaaiaabaDBclRaDBaabaaackeclSclTclUclVclSckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIchIchIchIaaachIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiclWaaqaaqclXaaqclYaaqaaqclZanGaaqaaqanEanFanGaaqaaqaaqaaqcmacmbcmccmdcmecmfcmgcaCcmhcaCcaCcmicaCcmjeEoeEpeEqeEreBnbzXclManpcmpcmqcmrcmscmtcmuaaqcmvcmtcmwcipcmxcmyaaiclMaaiaaaeEycmAcmBcmCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicmDcmEcmFcmGcmHcmIcmJaaqcmKcmLcmMactcmNaaacmOaaaaaaaaackecmPcmQcmQcmQcmRckeaaaciDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDaeDaeDaeEaeEaeDaeEaeEaeEafdaeEaeEaeEaeDaeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBIcmScmTcmUcmVcmWcmXcmYcmZcnacnbcnccndcnbcnecnfcngcngcnhaaqcnicnjcnkcnlbSDcnmcnncnobZbbZacbRbZacgUcnpeEmeEneEkeElaaiaaiclManpaaiaaicnuaaiaaiabnbxDacdacdacdcnvacdbeIacdcnwaaiaaaeExcnycmBcnzaaieEwckackaeEvcaUaaibzlactactcnAactactcnAcnBaaaaaaaaicnCcnDcnCcnEcnFcitclPaaqaaJcnGaaJaaiaaiaaacnHaaaaabaaackeckeckecnIckeckeckeaaaciDaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12604,7 +12590,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIaaachIchIchIchIchIchIch aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIaaaaaachIchIchIchIchIchIchIchIchIaaaaaachIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeEaabcubcuccuccudcuecufcufcufcuecufcufcufcuecufcufcugcuccuccuccuccuccuhcuicujcukculcumcuncuocupbXmcmScuqaaqaaqaaqaaqbXmbXnaaicxBcuscutcuucxKcxJcxIcxHcxMcxLcuBcuCcuDdRZcuFcxxcxycxzciRciiciiciiciicxAckFcuIcuJcmmdQQdQUcwRdTydHidHAdMYdQGcZodczdHhcuUcuVcsDcuWcsGcsGcrEaaaaaaaabaqAeBfcBucBwaaqcuYctFcisctFaaqcuZcvactHeBdeBectKcuZcvdabnaaaaaaaaicnCcnDcnCcvecnFcitciuctNcvfcvgcitcvhaaqaaqaaqaaiaaaaaacrgaabcvicvicvicvicviaaactbaaacvicvicvicvicviaabcrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaaaaabaaaaabaabcvjaabaaaaabcvjaabaaaaabcvjaabaaaaaaaaaaaaaaaaaaaaaaaactdbNtcvkcvlcvmcvnaaicvobXmcvpctkctkctkctkctkctkcvqaaicwOcvscvtcvuciXcjOckGckIciUciWcvAcvBcvCcvDcvEciSciPciOciRciQciAciiciiciCckFcvKcvLcmmcmncuKcvMaaqcsxcsvcrBcrAcsycszcsycvUaabcrEcrEcrEcrEcrEaabaabaabccpcBtcBucBwaaqcBvcvYcvZcwacwbabtayOayOcAJayOcweaCtaaqabnaaaaaaaaicnCcnCcnCctLcwfcwgcwhcptcwicrQcrQcwjcwkcwlcwmdIpaaaaaacrgaaaaabaaaaabaabaabaaactbaaaaabaaaaabaaaaabaaacrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaeDaeDaeEaabaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabcwoaaiaaiaaiaaiaaicwpcwqbXmcwrbXmbXmbXmcwscwtcwucwvcvtcvtcvrciXcnrclGcmlclEclFcwBcwCcwDcwEcwFcrscrrcrqcrpcpbcpacoZcofcntcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacswcxbcxccxdcsCcsDcxecxfcxfcrEaaaaaaaabaqAcBDcBucBEaaqcAxcBBcBBcCEaaqcBFcwccBycygcBxcBCczvcBAcnxaaaaaacxoancancancanccxpcxqcxrcxqcxscxqcxqcxtctNcitcitdITaaaaaacrgaaactactactactactaaabctbaabctactactactactaaabcrgaaaaaaaaaaaaaaaaaaaaacxuaaaaaaaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaacoJcwncoLaabcoJcwncoLaaacoJcwncoLaaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicySboVcxwcvtcvtcvucslcsmctoctpcuraaidIWcxDcxEcxFcxGaaicsiciicskcsjcrvcrtciicshcoccodcxOcodcxQcxRcxScxTcxUcxVcxWcmmcxXcxYcxZctzaabctAcyacybcyccrEaaaaaaaaaaqAcgpcBGcyeaaqcCDcDncBRcxmcBHcBucDvcDscygcCFcDqcDpcDrcoqaabaaadLvcyreDDcyscytcyucmIcyvcmIcywcmIcdTcmIcDocyxcitaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcyyaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachIchIchIchIchIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaaaaaacoJcwncoLaabcoJcwncoLaaacoJcwncoLaaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicySboVcxwcvtcvtcvucslcsmctoctpcuraaidIWcxDcxEcxFcxGaaicsiciicskcsjcrvcrtciicshcoccodcxOcxPcxQcxRcxScxTcxUcxVcxWcmmcxXcxYcxZctzaabctAcyacybcyccrEaaaaaaaaaaqAcgpcBGcyeaaqcCDcDncBRcxmcBHcBucDvcDscygcCFcDqcDpcDrcoqaabaaadLvcyreDDcyscytcyucmIcyvcmIcywcmIcdTcmIcDocyxcitaaiaabaabcrgaabctUctVctVctVctVctWctXctYctZctZctZctZcyyaabcrgaaaaaaaaaaaaaaaaaaaaacxucxucxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaaacoJcwncoLaabaaaaaaaaaaaaaaaaaaaaaaabaabaaicyzcBTczZcyBcyAcyAczZcyCcyDdNqcyAcyFcyGcyHcyIcyJcyKcyJcyLcyMcyNcyOcyPcvtaaicyQcuvcBVcuGcuAboVanccyVciIcuHcuxcuwaaiaaicyZczaczbczccmncuKczdczeczfczgczhcmmcxXcziczjczkcuVcsDczlcxfcxfcrEaabaaaaaaccpcDWcDXcEOcEPcDYcEQcDYcDYcEacEbcEXcEWcEWeDEcETcEScERcqZaabaabdNscitcitciucitciucitciucjfczBctPczCctPcqaczCczDaaiaaaaaacrgaabcvicvicvicvicviaaactbaabcvicvicvicvicviaaacrgaaacxuaaacxuaaaaaacxucxucxucxucxucxucxuaaaaaacxuaaacxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaaeEaabcoJcwncoLaaacoJcwncoLaabcoJcwncoLaabaabaabaaaaaaaaaaaaaabaabaaaaaiczEczFczGaaiczHczIczJczJczJczKczJczJczJczLactcvvczNczOczPczQczRczSczTczTczTczUczVcvtcvtcvtczWczXczYaaqcBWcAacAbcAcaaiaaiaaiaaicAdcmncuKcsucAecAfcAgcAhcmmcAicAjcAkcAlcAmcrEcrEcrEcrEcrEaaaaaaaaaaqAcHNcHOcHfcHgcGIcGJcGIcGIcHucHBcGGcGFcEReDFcGHcDpcygcrKaabaabavccAzcAAcABcACcADcAEcAFcAGcADcAEcAHaaiczpczqabnaaiaaaaaacrhaaaaabaaaaabaaaaabaaacAKaaaaabaaaaabaabaabaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpvcpvcpvcpvcpvcpvcpvcpvcpvaaaaaaaaaaaaaaaaaaafdaabcoJcALcoLaaacoJcALcoLaaacoJcALcoLaabaeEaabaabaaaaaaaaaaabaaaaaaaaicAMczFcANaaiaaicAOaaiaaiaaicAPaaiaaiaaiaaiaaiaaiaaiaaicAQcARcAScATcyMcyMcyMcAUcAVcAWcAXcyMcyMcAVcAYcAZcBacAacBbcBcaaicBdcBeactcBfcBgcBhcBicBjczhcmmcBkcBlcBmcBncBocxdcBpcsDcBqcBrcBscrEaaaaaaaaaaqAezJezPcINcIOcIPcIQcIRcygcIScITcIjcIicHPeDGcImcIlcIkcypaaaaaaavccBIcBJcBKaaqcBLcBMcBNaaqcBOcBPcBQaaicznczoabnaaaaaaaaacrgaaactactactactactaaabcriaabctactactactactaaabcrgaaacxucxucxuaaacxucxucxucxucxucxucxucxucxuaaacxucxucxuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12740,7 +12726,7 @@ cKrcLpcLocLncLlcLtcLrcLucLpcLkcLlcLicLocLucLmcLqcLvcLncLlcLhcLncLucLscLlcLkcLqcK cKucLlcLqcLmcLucLjcLocLrcLhcLtcLkcLvcLicLncLscLpcLocLjcLkcLqcLmcLrcLvcLucLncLtcKvcLbcKscLocLscLlcUUcTKcSYcTzcSXcTdcTecTycTzcTAcTacSZcTBcTCcTdcTecTycTzcSLcLqcLpcLvcKqcLbaaaaaaaaaaaacLccLicUVcUucUNcUVcUucUNcUVcUucUNcUVcUucUNcUVcUucUNcUVcUucUNcUVcLrcLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcXFcXGcXHcXIcXIcXIcXJcXGcXKcWdcWdcWdcWdcWPcWdcWdcWecWdcWecWdcWfcWdcWfcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXLcXtcXMcXMcVIcXucXNcXOcUQcXPcUYcXMcXvcUQcUQcXvcXMcXwcUQcUQcUqcXwcXxcXwcUqcXQcUqcXRcXScXxcXRcXTcXScUqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cKxcLucLtcLicLrcLscLqcLocLkcLjcLncLhcLpcLmcLvcLlcLqcLscLncLtcLicLocLhcLrcLmcLjcKDcLbcKycLqcLvcLucXUcTbcTecSYcTdcSZcTBcTfcSYcSXcTzcTycTKcTccSZcTBcTfcSYcTgcLtcLlcLhcKzcLbaaaaaaaaaaaacLccLpcVgcUMcUWcVgcUMcUWcVgcUMcUWcVgcUMcUWcVgcUMcUWcVgcUMcUWcVgcLocLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcXGcXVcXWcXXcXYcXZcYacYacXGcYbcWdcWdcXrcVHcVHcYccYdcVHcVHcXrcYecYfcXrcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXjcYgcVkcVIcVIcVIcXNcXOcUQcUQcYhcUQcUQcUQcUQcUQcYicXxcUQcUQcUQcUQcUQcUQcUQcUQcUQcUQcUQcUQcUQcVNcUQcUqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cKwcLrcLjcLpcLocLvcLtcLqcLncLscLmcLkcLlcLicLhcLucLtcLvcLmcLjcLpcLqcLkcLocLicLscKAcLbcKvcLtcLhcLrcYjcTAcTBcTecSZcTycTKcTCcTecTdcSYcTfcTbcTacTycTKcTCcTecTDcLjcLucLkcKCcLbaaaaaaaaaaaacLccLlcLkcUXcVicVFcLqcVicVFcUXcVicVFcUXcVicVFcUXcLlcVFcUXcVicLkcLqcLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcXGcYkcXWcXWcYlcXWcXWcXWcXGcYbcWdcYmcVHcVHcYncYocYocYncVHcVHcVHcVHcVHcVHcVHcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXscXtcXMcXMcVIcXucXNcXOcUQcYpcUYcXvcVkcXvcXvcVkcXvcXwcUQcUEcUEcUEcUEcUEcUEcUEcUEcUEcUEcUEcUEcUEcUQcUqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cKscLocLscLlcLqcLhcLjcLtcLmcLvcLicLncLucLpcLkcLrcLjcLhcLicLscLlcLtcLncLqcLpcLvcKqcLbcKDcLjcLkcLocVfcSXcTKcTBcTycTfcLkcTccTBcSZcTecTCcLncTzcTfcTbcTccTBcTLcLscLrcLncKtcLbaaaaaaaaaaaacLccLucLncLtcVGcLncLtcVGcWccVhcVGcWccVhcVGcWccVhcLucLncVhcLucLncLtcLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcXGcYqcXWcXWcXWcYrcXWcYscXGcYbcWPcYmcVHcYtcYtcYtcYtcYtcYucYvcYwcYxcYycYzcYAcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXLcXtcXtcXtcWwcXucXvcXvcXvcXvcUYcUYcUYcUYcUYcUYcUYcUqcXxcUqcYBcYBcYCcYDcYEcYFcYGcYDcYCcYBcYBcUqcXxcUqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +cKscLocLscLlcLqcLhcLjcLtcLmcLvcLicLncLucLpcLkcLrcLjcLhcLicLscLlcLtcLncLqcLpcLvcKqcLbcKDcLjcLkcLocVfcSXcTKcTBcTycTfcLkcTccTBcSZcTecTCcLncTzcTfcTbcTccTBcTLcLscLrcLncKtcLbaaaaaaaaaaaacLccLucLncLtcVGcLncLtcVGcWccVhcVGcWccVhcVGcWccVhcLucLncVhcLucLncLtcLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcXGcYqcXWcXWcXWcYrcXWcYscXGcYbcWPcYmcVHcYtcYtcYtcYtcYtcYtcYucYvcYxcYycYzcYAcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXLcXtcXtcXtcWwcXucXvcXvcXvcXvcUYcUYcUYcUYcUYcUYcUYcUqcXxcUqcYBcYBcYCcYDcYEcYFcYGcYDcYCcYBcYBcUqcXxcUqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cKycLqcLvcLucLtcLkcLscLjcLicLhcLpcLmcLrcLlcLncLocLscLkcLpcLvcLucLjcLmcLtcLlcLhcKzcLbcKAcLscLncLqcVEcTdcTbcTKcTfcSXcLrcTycTzcTccSZcSYcLkcTdcTCcTAcTacTKcTYcLvcLocLmcKBcLbaaaaaaaaaaaacLccLrcLmcLjcLrcLmcLjcUucWvcUtcUucWvcUtcUucWvcUtcLrcLmcLjcLrcLmcLjcLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcYHcXGcXGcXGcYIcXGcXGcXGcYJcWdcWdcYKcVHcYLcYtcYMcYMcYtcYtcYNcYOcYPcYQcYQcYQcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUYcVbcXicXicXicXicUZcUYcXjcUYcXjaaaaaaaaaaaaaaacYRcUqcUQcUqcUqcXRcXTcXScUqcUqcUqcXRcXTcXScUqcUqcUQcUqcYSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cKvcLtcLhcLrcLjcLncLvcLscLpcLkcLlcLicLocLucLmcLqcLvcLncLlcLhcLrcLscLicLjcLucLkcKCcLbcKqcLvcLmcLtcWbcSZcTAcTbcTCcTdcLocLucLjcLqcLlcLscLncSZcTccSXcTzcTbcUjcLhcLqcLicKEcLbaaaaaaaaaaaacLccLocLicLscLocLicLscUMcUNcULcUMcUNcULcUMcUNcULcLocLicLscLocLicLscLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcWdcWdcXGcYTcXWcYUcXGcYVcXrcXrcXrcYWcVHcYtcYMcYXcYYcYMcYtcYZcZacYxcZbcZccVHcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZdcUqcZecUqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUqcZecUqcZdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cKDcKBcKxcKzcKEcKscKucKrcKDcKwcKAcKvcKCcKqcKycKtcKucKscKAcKxcKzcKrcKvcKEcKqcKwcKtcLbcKzcLhcLicLjcMmcMgcNDcMpcMZcMhcMocMjcMkcMlcMycMncNDcMgcMocNOcMicMpcMjcLkcLtcLpcKrcLbaaaaaaaaaaaacLccLqcLpcLvcLqcLpcLvcLqcLpcUVcUXcUWcUVcUXcLpcLvcLqcLpcLvcLqcLpcLvcLcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcWdcWdcWdcWdcWdcXGcZfcXWcZgcXGcZhcZicZicZicYdcVHcYtcYMcZjcZkcYMcYtcYZcZacVHcVHcVHcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZdcWXcUEcWXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWXcUEcWXcZdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12751,7 +12737,7 @@ cLqcLkcLpcLscLncLucLicLmcLqcLlcLtcLocLvcLjcLrcLhcLicLucLtcLpcLscLmcLocLncLjcLlcL cLtcLncLlcLvcLmcLrcLpcLicLtcLucLjcLqcLhcLscLocLkcLpcLrcLjcLlcLvcLicLqcLmcLscLucLkcLbcKrcLpcLocLncLlcLtcLrcLucLvcLqcLhcLscLmcLkcLjcLicLrcLtcLhcLocLncLucLscLlcLkcLqcKycLbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcXGcZrcXWcXWcXWdajcXWcXWdakdalcXWcXWdamcXGcYbcVHcVHcZadandaodapcVHdaqcYtcVHcVHcVHcVHcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZydafcZyaaadardasdatdaudaudaudatdasdaraaacZydafcZyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cLjcLmcLucLhcLicLocLlcLpcLjcLrcLscLtcLkcLvcLqcLncLlcLocLscLucLhcLpcLtcLicLvcLrcLncLbcKucKDcKCcKscKAcKBcKzcKqcKucKtcKxcKrcKycKwcKEcKvcKzcKBcKxcKCcKscKqcKrcKAcKwcKtcKvcLbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcWdcXGcZrcXWcXWcXWdavcXWcXWcXWdawcXWdaxdaycXGdazcZHcVHcVHcVHcVHcVHcVHdaAdaAdaBdaCdaDdaEcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZydadcZyaaadaFdasdatdaGdaudaGdatdasdaFaaacZydadcZyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cLscLicLrcLkcLpcLqcLucLlcLscLocLvcLjcLncLhcLtcLmcLucLqcLvcLrcLkcLlcLjcLpcLhcLocLmcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcXFcXGcXGcXGcXGcXGcXGdaHcXWcXWcXGcXGcXGcXGcXGcXGcXKdaIdaIdaIdaJcZHcVHdaKdaKdaKdaKdaKdaKcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZydafcZycZycZycZycZycZydadcZycZycZycZycZycZydafcZyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcXGdaLdaMdaNdaOdaPcXGdaQcXWcXWcXGdaRdaSdaTdaUdaVcXGcYbcWecWdcWdcYmdaWdaKdaKdaKdaKdaKdaXcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZydafdafdafdafdafdafdafdaudafdafdafdafdafdafdafcZyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +cLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbcLbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcXGdaLdaMdaNdaOdaPcXGcYwcXWcXWcXGdaRdaSdaTdaUdaVcXGcYbcWecWdcWdcYmdaWdaKdaKdaKdaKdaKdaXcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZydafdafdafdafdafdafdafdaudafdafdafdafdafdafdafcZyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcXGcXWcXWcXWcZCcXWdaYcXWcXWcXWdaZcXWcZCcXWcZCdbacXGcYbcWPcYfdbbcYWcVHdbcdbcdbcdbcdbcdbdcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZycZycZycZycZycZycZycZydadcZycZycZycZycZycZycZycZyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcXGddIdkxcXWcXWcXWdbgcXWcXWcXWdbhcXWcXWcXWcXWcXWcXGcYbcYmcVHcVHcVHcVHcVHcVHcVHcVHcVHcVHcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardbidbjdbkdbldbmdafdbndaudafdafdafdafdbmdbodbpdaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcWdcXGddIdkxcXWdbqdbrcXGdbsdbtdbscXGdbudbvcXWcXWcXWcXGdbwcWdcVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaFdafdaudaudbxdaudaudbydaudbydaudaudaudaudbzdafdaFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12806,12 +12792,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcSdcSdcSdcSdcSdcSdcSdcSdcSdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcYdcSdcSdcSdcSdcSdcSdcSdcNdcNdcEdcEdcEdcEdcEdcEdcEdcEdcEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcEdcEdcEdcEdcSdcSdcPdcVdcRdcPdcSdcNddbdcEddcddddddddedcEddfddgddhdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddieAFddkddlddlddldcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcFdcGdcHdcEdcSdcSdcPdcVddmdcPdcSdcNdcNdcEddnddnddnddndcEddoddgddpdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrddsddtddrddrddrddsdduddvddwddlddlddldcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcLdcGdcGdcMdcSdcSdcSdcSdcSdcSdcSdcSdcSdcEddnddxddyddydcEdcEddzdcEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddiddAddkddlddlddldcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcEdcEdcEdcEdcEdcEddBdcEdcEdcEdcSdcSdcSddCddnddDddDddnddnddnddnddEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrddFddtddrddrddrddFdduddvddwddlddlddldcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEddGddHdbfdcEddJddKddKddKddLdcEdcSdcSdcSdcSddnddnddnddnddMddnddnddydcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddiddAddkddlddlddldcZdcZdcZdcZdcZdcZaaaaaaaaaaaadcEddNddOddPddQddKddKddKddKddRdcEdcSdcSdcSddCddSddnddnddnddTddnddnddUdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrddVddtddrddrddrddVdduddvddwddlddlddldcZddWddXeAGddYdcZaaaaaaaaaaaadcEdcEddZdeadcEdcEdcEddZdebdeadcEdcSdcSdcSdcEdecdeddeddeddeddeddeedcEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddieAFddkddlddlbVAdcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcFdcGdcHdcEdcSdcSdcPdcVddmdcPdcSdcNdcNdcEddnddnddnddndcEddoddgddpdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrddsddtddrddrddrddsdduddvddwddlddlbnadcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcLdcGdcGdcMdcSdcSdcSdcSdcSdcSdcSdcSdcSdcEddnddxddyddydcEdcEddzdcEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddiddAddkddlddlbVAdcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEdcEdcEdcEdcEdcEdcEddBdcEdcEdcEdcSdcSdcSddCddnddDddDddnddnddnddnddEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrddFddtddrddrddrddFdduddvddwddlddlbnadcZddaaaaaaaaaaaaaaaaaaaaaaaaadcEddGddHdbfdcEddJddKddKddKddLdcEdcSdcSdcSdcSddnddnddnddnddMddnddnddydcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddiddAddkddlddlbVAdcZdcZdcZdcZdcZdcZaaaaaaaaaaaadcEddNddOddPddQddKddKddKddKddRdcEdcSdcSdcSddCddSddnddnddnddTddnddnddUdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrddVddtddrddrddrddVdduddvddwddlddlbnadcZddWddXeAGddYdcZaaaaaaaaaaaadcEdcEddZdeadcEdcEdcEddZdebdeadcEdcSdcSdcSdcEdecdeddeddeddeddeddeedcEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZddiddAddkddlddlddldcZdefddXddXdegdcZaaaaaaaaaaaadcEdehdehdehdehdehdehdehdehdehdcEdcEdeidcEdcEdehdehdehdehdehdehdehdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddqddrddrddrddrddrddrddrddrddrddrddrddrddrdejddtddrddrddrdejddueAPddwddlddlddldcZdelddXddXdemdcZaaaaaaaaaaaadcEdcEdcEdcEdcEdcEdcEdcEdcEdcEdcEdendeodepdcEdcEdcEdcEdcEdcEdcEdcEdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdcZdeqdcZdcZdcZdcZddXddXdcZdcZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcEderdesdetdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12830,7 +12816,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdfndeQdgudgvdgwdcZdcZdcZdgxdcZdcZdcZddXddXddXdgfdggdggdggdgjddXddXdgydcZdfZdgzdgAdgBdgCdcZaaaaaaaaaaaaaaadcEderdesdetdcEdcEdecdebdebdebdeedcEdcEderdesdetdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZdgDdeQdeQeAQdgEdcZdgFddXddXddXdfedfedfeddXddXddXdgGdcZdfZdgHdgIdgJdgKdcZaaaaaaaaaaaaaaadcEderdesdeEdeodeodeodeodeodeodeodeodeodeDdesdetdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdgLdeQdeQdeQdgMdcZdgNddXddXddXeARddXddXdgOddXddXdgPdcZdfZdgQdgRdgSdfZdcZaaaaaaaaaaaaaaadcEderdesdesdesdesdesdesdesdesdesdesdesdesdesdetdcEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgTdgUdgVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdgWdeQdeQdeQdgXdcZdcZdcZdcZdcZdcZdgYdgYdcZdcZdcZdcZdcZdgZdfZdfZdhadhbdcZaaaaaaaaaaaaaaadcEdhcdeNdeNdeNdeNdeNdeOdesdeMdeNdeNdeNdeNdeNdhddcEaaaaaaaaaaaaaaaaaaaaaaaaaaadgTdhedhfdhgdgVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdgWdeQdeQdeQdgXdcZdcZdcZdcZdcZdcZdgYdgYdcZdcZdcZdcZdcZdgZdrgdqYdhadhbdcZaaaaaaaaaaaaaaadcEdhcdeNdeNdeNdeNdeNdeOdesdeMdeNdeNdeNdeNdeNdhddcEaaaaaaaaaaaaaaaaaaaaaaaaaaadgTdhedhfdhgdgVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdhhdhidhjdcZdcZaaaaaaaaaaaadhkdhldhmdhkaaaaaaaaadcZdcZdcZdcZdcZdcZdcZaaaaaaaaaaaaaaadcEdcEdcEdcEdcEdcEdcEdcEdhndcEdcEdcEdcEdcEdcEdcEdcEaaaaaaaaaaaaaaaaaaaaaaaadgTdhedhodhpdhqdhgdgVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZdcZdcZdcZdcZdcZdcZaaaaaaaaaaaadhrdhsdhtdhraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhudhvdhwdhxdhydhzdhuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgUdhAdhBdhCdhBdhDdgUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhFdhFdhFdhFdhGdhGdhFdhFdhHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhudhIdhJdhKdhJdhLdhuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgTdhedhMdhCdhCdhCdhNdhgdgVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12887,12 +12873,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwaaaaaaaaaaaaaaadnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnydnwdnzdnAdnAdnAdnAdnAdnzdnxdnyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnzdnBdnCdnDdnEdnFdnGdnHdnIdnxaaaaaaaaaaaaaaaaaadnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnKdnLdnLdnLdnLdnLdnMdnIdnzdnAdnzdnAdnzdnAdnzdnzdnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnNdnLdnOdnPdnQdnLdnRdnIdnSdnLdnTdnLdnUdnVdnLdnWdnIdnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnXdnLdnLdnLdnLdnLdnYdnIdnLdnLdnLdnLdnLdnLdnLdnLdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnZdoadnLdnLdnLdoadobdnIdocdnLdoddnLdoednVdnLdnWdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdnzdnzdnLdnLdnLdnzdnzdnIdnLdnLdnLdnLdnLdnLdnLdnLdnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnzdnUdnXdnYdnZdobdocdoddnIdnxaaaaaaaaaaaaaaaaaadnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdqzdnLdnLdnLdnLdnLdqydnIdnzdnAdnzdnAdnzdnAdnzdnzdnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdqsdnLdqudqvdpkdnLdqndnIdqrdnLdnTdnLdpidnVdnLdnWdnIdnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdqMdnLdqKdqLdqJdnLdqEdnIdnLdnLdnLdnLdnLdnLdnLdqOdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdqDdoadnLdnLdnLdoadqCdnIdqAdnLdqBdnLdoednVdnLdnWdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdnzdnzdnLdnLdnLdnzdnzdnIdnLdnLdnLdnLdnLdnLdnLdqVdnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnxaaadnIdnzdnzdnAdogdnAdnzdnzdnzdnzdnzdnAdohdnAdnzdnzdnzdofaaadnwdnzdnAdnAdnAdnAdnzdnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnzdnzdnzdoidnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdojdnIdofaaadnwdnIdokdnLdoldomdnLdondnIdooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadopdnLdoqdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaaaaaaaadnJdordosdnLdnLdnLdotdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12901,45 +12887,45 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnJdnLdnLdnIdnzdnAdnzdnzdnzdnzdnzdnzdoIdnzdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdoJdoKdoLdnLdnLdnLdoMdoMdoMdnLdoudnLdnLdnIdoNdnLdnLdoOdnIdoPdoFdoQdnLdoRdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdoSdnzdnzdnzdnzdnIdnLdnLdnIdnLdnLdoTdoUdnIdoVdnLdnLdnLdoWdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdoXdoYdoZdnLdpadnzdpbdpcdpddpednIdnLdnLdnIdpfdnLdnLdpgdnIdphdnLdnLdnLdpidnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdpjdnzdpkdpcdpcdpcdpldnLdnLdnIdpmdnLdnLdpndnIdpodnLdnLdnLdppdnJaaaaaaaaaaaadnwdnzdpqdpqdpqdnzdnxaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdprdpsdptdnLdpudnzdpvdpcdpwdpxdnIdnLdnLdnIdpydpzdnLdnLdpAdnLdnLdnLdnLdnLdnIaaaaaaaaadnwdnzdpBdpCdpCdpCdpDdnzdnxaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdpEdnLdnLdpFdnzdnzdnzdnzdnzdnzdnzdnzdpGdnzdnIdnxaaadnwdnzdpBdpCdpCdpCdpCdpCdpDdnzdnxaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnIdpHdpIdpJdpKdpLdpMdpNdpFdnIdpEdnLdnLdnLdnLdnLdnLdpFdnzdnzdnzdnzdpOdpEdnLdpFdnIdnzdpqdnzdpBdpCdpCdpCdpPdpCdpCdpCdpDdnIaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdpQdnLdnLdpRdnLdnLdnLdnLdnLdpSdnLdnLdpTdpTdpTdpTdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdpUdpCdpCdpCdpCdpCdpCdpVdpWdpXdpCdpCdpCdpYaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdpZdqadnLdnLdnLdnLdnLdnLdnLdpSdnLdnLdpTdpTdpTdpTdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdpUdpCdpCdpCdpCdpCdqbdqcdpVdpVdqbdpCdpCdpYaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdqddnLdnLdqednLdnLdnLdnLdnLdpSdnLdnLdpTdpTdpTdpTdnLdnLdnLdnLdnLdnLdnLdnLdnLdoSdnIdnzdpqdnzdqfdpCdpCdqbdqbdqbdpCdpCdqgdnIaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnIdqhdqidqjdqkdqldqmdqndoSdnIdovdnLdnLdnLdnLdnLdnLdoSdnzdnzdovdqodoSdnzdnzdnzdnIdofaaadoxdnzdqfdpCdpCdpCdpCdpCdqgdnzdofaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdovdnLdnLdoSdnzdnzdnzdnzdnzdqpdnzdnzdnzdnzdnIaaaaaaaaadoxdnzdqfdpCdpCdpCdqgdnzdofaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqqdqqdqrdqsdqtdqudqvdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdnzdqwdqwdnIaaadnIdpcdqxdpcdpcdpcdqxdpcdnIdnIaaaaaaaaaaaadoxdnzdpqdpqdpqdnzdofaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqydqzdqAdqBdqCdqDdqEdqzdqydqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnzdnzdnzdnzdnzdnzdnzdnzdnzdpEdnLdnLdnIaaadnIdqGdpcdpcdqHdpcdpcdqIdnIdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqzdqJdqKdqBdqCdqDdqLdqMdqzdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaadnIdpcdqHdpcdpcdpcdqHdpcdnIdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqOdqzdqOdqBdqCdqDdqOdqzdqOdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaadnIdqPdpcdpcdqHdpcdpcdqQdnIdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqRdqzdqzdqBdqCdqDdqzdqzdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnAdnAdnAdnAdnAdnAdnAdnAdnAdovdnLdnLdnIaaadnIdqTdpcdpcdpcdpcdpcdqUdnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqVdqWdqWdqBdqCdqDdqXdqXdqYdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaadoxdnzdqZdradrbdradrcdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadqqdqCdqCdqCdqCdqCdqCdqCdqCdqCdqCdqCdqqdqqdqtdqqdqqdqCdqqdqqdqtdqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaadoxdnzdrddredrfdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadqqdqCdqqdqqdqqdqqdrgdqqdqqdqqdqCdqCdqCdqCdqCdqCdqqdqCdqqdqCdqCdqCdqCdqCdqCdqCdqCdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaadrhdridrjdrkdrhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadqqdqCdqqdrldrmdrmdrmdrmdrndqqdqqdqqdqqdqqdqqdqqdqqdrodqqdqqdqqdqqdqqdqqdqqdqqdqCdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaadoxdnzdnzdrpdnzdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadqqdqCdqqdrldrmdrmdrmdrmdrndqqdrqdrrdrsdrrdrtdrudrudrudrudrudrtdrudrtdrudrvdqqdqCdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaadoxaaaaaaaaadofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadqqdqCdqqdrwdrmdrmdrmdrmdrxdqqdrudrydrydrydrydrydrudrudrudrydrydrydrydrzdrAdqqdqCdqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadqqdqCdqqdrwdrBdrCdrCdrmdrmdrDdrudrudrEdrFdrEdrudrudrudrudrudrEdrFdrEdrGdrudqqdqCdqCdqCdqCdqCdqCdqCdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqqdqCdqqdqqdqqdqqdqqdqqdqqdqqdrudrydrydrydrydrydrudrudrudrydrydrydrydrHdrudqqdqqdqqdqqdqqdqqdqqdqCdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnAdnzdrIdnzdnAdnzdrJdnzdnAdpEdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqCdqqdqqdrKdrKdrKdrKdrKdqqdrLdrLdrLdrLdrLdrLdrLdrLdrLdrLdrLdrLdrLdrMdrLdqqdrNdrNdrNdrNdrNdqqdqCdqCdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdqqdqqdrOdrOdrOdrOdrOdqqdrPdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrRdrPdqqdrOdrOdrOdrOdrOdqqdqqdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdoSdnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdrSdrTdrUdrUdrUdrUdrUdrVdrWdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrRdrXdrVdrYdrYdrYdrYdrYdrTdrZdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnzdnzdnzdnzdnzdnzdnzdnAdsadnAdnzdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdrSdrTdrUdsbdrUdsbdrUdrVdrWdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrRdrXdrVdrYdscdrYdscdrYdrTdrZdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdsddnLdnLdnLdsednIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdrSdrTdrUdrUdsfdrUdrUdrVdrWdrQdrQdrQdrQdrQdsgdshdsgdrQdrQdrQdrQdrRdrXdrVdrYdrYdsidrYdrYdrTdrZdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdrSdrTdrUdrUdrUdrUdrUdrVdrWdrQdrQdrQdrQdrQdsjdskdsjdrQdrQdrQdrQdrRdrXdrVdrYdrYdrYdrYdrYdrTdrZdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdsldnLdnLdnLdsmdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdrSdrTdrUdsbdrUdsbdrUdrVdrWdrQdrQdrQdrQdrQdsndsodspdrQdrQdrQdrQdrRdrXdrVdrYdscdrYdscdrYdrTdrZdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdsqdnLdnLdnLdsrdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdqzdssdrUdrUdrUdrUdrUdrVdrWdrQdrQdrQdrQdrQdrQdstdrQdrQdrQdrQdrQdrRdrXdrVdrYdrYdrYdrYdrYdssdqzdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnIdsudsvdswdsxdsydnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqRdqqdszdqqdsAdsAdsAdsAdsAdqqdrPdrQdrQdrQdrQdrQdrQdstdrQdrQdrQdrQdrQdrRdrPdqqdsAdsAdsAdsAdsAdqqdszdqqdqSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnzdnAdnAdnAdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqVdsBdqzdqqdsCdsCdsCdsCdsCdqqdrLdrLdrLdrLdrLdrLdsDdsEdsDdrLdrLdrLdrLdrMdrLdqqdsFdsFdsFdsFdsFdqqdqzdsGdqYdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxaaaaaaaaadofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadqqdqqdqqdqzdqqdqqdqqdqqdqqdqqdqqdsHdsIdsIdsIdsIdsIdsJdsKdsHdsIdsIdsIdsIdsLdsHdqqdqqdqqdqqdqqdqqdqqdqzdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaadqqdqzdqzdqCdqCdqCdqCdqCdqqdsHdsHdsMdsHdsMdsHdsHdsNdsOdsHdsMdsHdsMdsPdsHdqqdqCdqCdqCdqCdqCdqzdqzdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaadqqdqqdqqdqqdqqdqqdqqdqCdqtdsHdsHdsHdsQdsQdsQdsHdsHdsHdsQdsQdsQdsQdsQdsHdqtdqCdqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqqdqqdsRdsRdsRdsSdsTdsUdsVdsHdsWdsXdsYdsZdtadtbdtcdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdoXdoYdoZdnLdpadnzdpbdpcdpddpednIdnLdnLdnIdpfdnLdnLdpgdnIdphdnLdnLdnLdqRdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdpjdnzdqSdpcdpcdpcdpldnLdnLdnIdpmdnLdnLdpndnIdpodnLdnLdnLdppdnJaaaaaaaaaaaadnwdnzdpqdpqdpqdnzdnxaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdprdpsdptdnLdpudnzdpvdpcdpwdpxdnIdnLdnLdnIdpydpzdnLdnLdpAdnLdnLdnLdnLdnLdnIaaaaaaaaadnwdnzdpBdpCdpCdpCdpDdnzdnxaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdpEdnLdnLdpFdnzdnzdnzdnzdnzdnzdnzdnzdpGdnzdnIdnxaaadnwdnzdpBdpCdpCdpCdpCdpCdpDdnzdnxaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnIdpHdpIdpJdpKdpLdpMdpNdpFdnIdpEdnLdnLdnLdnLdnLdnLdpFdnzdnzdnzdnzdpOdpEdnLdpFdnIdnzdpqdnzdpBdpCdpCdpCdpPdpCdpCdpCdpDdnIaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdpQdnLdnLdpRdnLdnLdnLdnLdnLdpSdnLdnLdpTdpTdpTdpTdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdpUdpCdpCdpCdpCdpCdpCdpVdpWdpXdpCdpCdpCdpYaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdpZdqadnLdnLdnLdnLdnLdnLdnLdpSdnLdnLdpTdpTdpTdpTdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdpUdpCdpCdpCdpCdpCdqbdqcdpVdpVdqbdpCdpCdpYaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdqddnLdnLdqednLdnLdnLdnLdnLdpSdnLdnLdpTdpTdpTdpTdnLdnLdnLdnLdnLdnLdnLdnLdnLdoSdnIdnzdpqdnzdqfdpCdpCdqbdqbdqbdpCdpCdqgdnIaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnIdqhdqidqjdqkdqldqmdnBdoSdnIdovdnLdnLdnLdnLdnLdnLdoSdnzdnzdovdqodoSdnzdnzdnzdnIdofaaadoxdnzdqfdpCdpCdpCdpCdpCdqgdnzdofaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdnzdovdnLdnLdoSdnzdnzdnzdnzdnzdqpdnzdnzdnzdnzdnIaaaaaaaaadoxdnzdqfdpCdpCdpCdqgdnzdofaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdnzdqwdqwdnIaaadnIdpcdqxdpcdpcdpcdqxdpcdnIdnIaaaaaaaaaaaadoxdnzdpqdpqdpqdnzdofaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnzdnzdnzdnzdnzdnzdnzdnzdnzdpEdnLdnLdnIaaadnIdqGdpcdpcdqHdpcdpcdqIdnIdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaadnIdpcdqHdpcdpcdpcdqHdpcdnIdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaadnIdqPdpcdpcdqHdpcdpcdqQdnIdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnAdnAdnAdnAdnAdnAdnAdnAdnAdovdnLdnLdnIaaadnIdqTdpcdpcdpcdpcdpcdqUdnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaadoxdnzdqZdradrbdradrcdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaadoxdnzdrddredrfdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdqqdqqdqqdaQdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaadrhdridrjdrkdrhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdrldrmdrmdrmdrmdrndqqdqqdqqdqqdqqdqqdqqdqqdaQdqqdqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaadoxdnzdnzdrpdnzdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdrldrmdrmdrmdrmdrndqqdrqdrrdrsdrrdrtdrudrudrudrudrudrtdrudrtdrudrvdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaadoxaaaaaaaaadofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdrwdrmdrmdrmdrmdrxdqqdrudrydrydrydrydrydrudrudrudrydrydrydrydrzdrAdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdrwdrBdrCdrCdrmdrmdrDdrudrudrEdrFdrEdrudrudrudrudrudrEdrFdrEdrGdrudqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdqqdqqdqqdqqdqqdqqdqqdrudrydrydrydrydrydrudrudrudrydrydrydrydrHdrudqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwdnAdnzdrIdnzdnAdnzdrJdnzdnAdpEdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaadqqdqqdnRdnRdnRdnRdnRdqqdnHdnEdnEdnEdnEdnEdnEdnEdnEdnEdnEdnEdnEdnFdnCdqqdnSdnSdnSdnSdnSdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdqqdqqdrOdrOdrOdrOdrOdqqdrPdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrRdrPdqqdrOdrOdrOdrOdrOdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdnLdoSdnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdnQdrTdrUdrUdrUdrUdrUdrVdrWdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrRdrXdrVdrYdrYdrYdrYdrYdrTdnPdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnzdnzdnzdnzdnzdnzdnzdnAdsadnAdnzdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdnQdrTdrUdsbdrUdsbdrUdrVdrWdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrRdrXdrVdrYdscdrYdscdrYdrTdnPdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnIdsddnLdnLdnLdsednIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdnQdrTdrUdrUdsfdrUdrUdrVdrWdrQdrQdrQdrQdrQdsgdshdsgdrQdrQdrQdrQdrRdrXdrVdrYdrYdsidrYdrYdrTdnPdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdnLdnLdnLdnLdnLdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdnQdrTdrUdrUdrUdrUdrUdrVdrWdrQdrQdrQdrQdrQdsjdskdsjdrQdrQdrQdrQdrRdrXdrVdrYdrYdrYdrYdrYdrTdnPdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdsldnLdnLdnLdsmdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdnQdrTdrUdsbdrUdsbdrUdrVdrWdrQdrQdrQdrQdrQdsndsodspdrQdrQdrQdrQdrRdrXdrVdrYdscdrYdscdrYdrTdnPdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnJdsqdnLdnLdnLdsrdnJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaadqqdqqdqqdsAdsAdsAdsAdsAdqqdrPdrQdrQdrQdrQdrQdrQdstdrQdrQdrQdrQdrQdrRdrPdqqdsAdsAdsAdsAdsAdqqaaadqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqNdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnIdsudsvdswdsxdsydnIdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaadqqdnMdnMdnMdnMdnMdqqdnNdnKdnKdnKdnKdnCdsDdnGdsDdnHdnEdnEdnEdnFdnCdqqdnDdnDdnDdnDdnDdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFdqFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxdnzdnAdnAdnAdnzdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaadqqdqqdqqdqqdqqdqqdqqdsHdsIdsIdsIdsIdsIdsJdsKdsHdsIdsIdsIdsIdsLdsHdqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoxaaaaaaaaadofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdsHdsHdsMdsHdsMdsHdsHdsNdsOdsHdsMdsHdsMdsPdsHdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaQdsHdsHdsHdsQdsQdsQdsHdsHdsHdsQdsQdsQdsQdsQdsHdqtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdsRdsRdsRdsSdsTdsUdsVdsHdsWdsXdsYdsZdnOdtbdtcdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqdqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} (1,1,3) = {" @@ -13761,15 +13747,15 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabduZegOegPegOegPegOduZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabduZegOegPegOegPegOduZaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZduZduZduZduZdBodBydBBdBodBydBBdBoduZduZduZduZduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegOegOegOegOdBqdBtdBtegQdBtdBtdBqegOegOegOegOduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegOegOegOegOdBqdBtdBtdqWdBtdBtdBqegOegOegOegOduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegPegPegPegPdCldBtdBtdBtdBtdBtdClegPegPegPegPduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegOegOegOegOdBoeDcdBtegRegSegTdBoegOegOegOegOduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegPegPegPegPdBqegUdBtegVdBtegWdBqegPegPegPegPduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegPegPegPegPdBqegUdBtegVdBtdBtdBqegPegPegPegPduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZegOegOegOegOdCldBtdBtegXdBtdBtdClegOegOegOegOduZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZduZduZduZduZdBoegYegZehadBtehbdBoduZduZduZduZduZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBodBodBodCwdBodBodBoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBodBodBodBodBodBoeDfehdeheehfehgdBodBodBodBodBodBoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaacdAMaacaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCBdCSeDedCDdCDdCVeheeheeheeheehedCVdDndCXdCYehidDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaabaacaacdAMdAMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBodBodBodBodBodBoeDfeheehedrLehgdBodBodBodBodBodBoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaacdAMaacaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCBdCSeDedCDdCDdCVeheeheeheeheehedCVdqXdCXdCYdrKdDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaabaacaacdAMdAMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCOdDcdCDdCDdCDehjeheehkehlehkeheehmdCWdCWdCWdCWdDiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaacaacaacdAMdAMaacehnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDedDkdDldDddCDdCVeheehoehpehqehedCVdDzehreoeeDNdClaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacdAMdAMdAMaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBodDodBodBodDpdBoeheeheeheeheehudBodBodBodBodBodBoaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiehvehvehwehvehvehvaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -13781,7 +13767,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaaqaaqaaqaaqehBehBehBehBehBehGehLehBaaaaaaehMehNehOaaaehMehNehOaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehBehPehQehRehSehCehCehTaaaaaaehMehUehOaaaehMehUehOaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehBehVehWehXehYehCehCehTaaaaaaehMehUehOaaaehMehUehOaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehBehZehCeiaeibeiceideieaaaaaaaaaeifaaaaaaaaaeifaaaaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadroaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehBehZehCeiaeibeiceideieaaaaaaaaaeifaaaaaaaaaeifaaaaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehBeigeiheiheiiehCeijeikeileimeineioeileileileipeiqeiqduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehBehVehCehCehCehCehCeiraaaaaaaaaeifaaaaaaaaaeifaaaaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeiseiseiseiseiseiseiseiseiteiseiseiseiseiueisaaaaaaehMehUehOaaaehMehUehOaaaduZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa