diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index da2013e2e58..c00a79e1e6b 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -167,7 +167,7 @@
animals lunging, etc.
*/
/mob/proc/RangedAttack(var/atom/A, var/params)
- if(ishuman(src) && (istype(src:gloves, /obj/item/clothing/gloves/yellow/power)) && a_intent == "harm")
+ if(ishuman(src) && (istype(src:gloves, /obj/item/clothing/gloves/color/yellow/power)) && a_intent == "harm")
PowerGlove(A)
if(!mutations.len) return
if((LASER in mutations) && a_intent == "harm")
@@ -321,7 +321,7 @@
return
/mob/living/carbon/human/PowerGlove(atom/A)
- var/obj/item/clothing/gloves/yellow/power/G = src:gloves
+ var/obj/item/clothing/gloves/color/yellow/power/G = src:gloves
var/time = 100
var/turf/T = get_turf(src)
var/turf/U = get_turf(A)
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index bf2e773651c..ae75b4f1ec4 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -163,7 +163,7 @@ var/list/uplink_items = list()
/datum/uplink_item/jobspecific/pickpocketgloves
name = "Pickpocket's Gloves"
desc = "A pair of sleek gloves to aid in pickpocketing, while wearing these you can see inside the pockets of any unsuspecting mark, loot the ID or pockets without them knowing, and pickpocketing puts the item directly into your hand."
- item = /obj/item/clothing/gloves/black/thief
+ item = /obj/item/clothing/gloves/color/black/thief
cost = 6
job = list("Civilian")
@@ -188,7 +188,7 @@ var/list/uplink_items = list()
/datum/uplink_item/jobspecific/powergloves
name = "Power Gloves"
desc = "Insulated gloves that can utilize the power of the station to deliver a short arc of electricity at a target. Must be standing on a powered cable to use."
- item = /obj/item/clothing/gloves/yellow/power
+ item = /obj/item/clothing/gloves/color/yellow/power
cost = 14
job = list("Station Engineer","Chief Engineer")
diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm
index 9936afa1d9a..585d50ad62d 100644
--- a/code/game/gamemodes/setupgame.dm
+++ b/code/game/gamemodes/setupgame.dm
@@ -235,7 +235,7 @@
//M.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/weapon/tank/jetpack(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(M), slot_wear_mask)
if (prob(50))
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 43f58169edf..18cd7b2a334 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -333,7 +333,7 @@
if("armor")
feedback_add_details("wizard_spell_learned","HS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
new /obj/item/clothing/shoes/sandal(get_turf(H)) //In case they've lost them.
- new /obj/item/clothing/gloves/purple(get_turf(H))//To complete the outfit
+ new /obj/item/clothing/gloves/color/purple(get_turf(H))//To complete the outfit
new /obj/item/clothing/suit/space/rig/wizard(get_turf(H))
new /obj/item/clothing/head/helmet/space/rig/wizard(get_turf(H))
temp = "You have purchased a suit of wizard armor."
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index 71a8332239b..8aa80ad807f 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -31,7 +31,7 @@
H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_or_collect(new /obj/item/clothing/head/hardhat/white(H), slot_head)
H.equip_or_collect(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt)
- H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
+ H.equip_or_collect(new /obj/item/clothing/gloves/color/black/ce(H), slot_gloves)
if(H.backbag == 1)
H.equip_or_collect(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand)
else
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index 4ec89fad037..928e5db3303 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -139,7 +139,6 @@
H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_or_collect(new /obj/item/device/pda/roboticist(H), slot_wear_pda)
H.equip_or_collect(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
-// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
H.equip_or_collect(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt)
if(H.backbag == 1)
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 45d19411b32..c5efe344164 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -29,7 +29,7 @@
H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes)
H.equip_or_collect(new /obj/item/clothing/suit/armor/hos(H), slot_wear_suit)
H.equip_or_collect(new /obj/item/device/pda/heads/hos(H), slot_wear_pda)
- H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
+ H.equip_or_collect(new /obj/item/clothing/gloves/color/black/hos(H), slot_gloves)
H.equip_or_collect(new /obj/item/clothing/head/HoS(H), slot_head)
H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
H.equip_or_collect(new /obj/item/weapon/gun/energy/gun(H), slot_s_store)
@@ -74,7 +74,7 @@
H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/warden(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/head/warden(H), slot_head)
H.equip_or_collect(new /obj/item/device/pda/warden(H), slot_wear_pda)
- H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
+ H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves)
H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
// H.equip_or_collect(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk
H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store)
@@ -119,10 +119,11 @@
H.equip_or_collect(new /obj/item/clothing/under/det(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_or_collect(new /obj/item/device/pda/detective(H), slot_wear_pda)
+ H.equip_or_collect(new /obj/item/toy/crayon/white(H), slot_l_store)
/* var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
CIG.light("")
H.equip_or_collect(CIG, slot_wear_mask) */
- H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
+ H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves)
if(H.mind.role_alt_title && H.mind.role_alt_title == "Forensic Technician")
H.equip_or_collect(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit)
else
@@ -176,6 +177,7 @@
H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/security(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head)
H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda)
+ H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves)
H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store)
H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store)
if(H.backbag == 1)
@@ -251,6 +253,7 @@
H.equip_or_collect(new /obj/item/clothing/suit/jacket(H), slot_wear_suit)
H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes)
H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda)
+ H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves)
H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_belt)
H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store)
if(H.backbag == 1)
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index 96e5d089b22..e50ff107344 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -118,7 +118,6 @@
H.equip_or_collect(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_or_collect(new /obj/item/device/pda/quartermaster(H), slot_wear_pda)
-// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
H.equip_or_collect(new /obj/item/weapon/clipboard(H), slot_l_hand)
if(H.backbag == 1)
@@ -147,7 +146,6 @@
H.equip_or_collect(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_or_collect(new /obj/item/device/pda/cargo(H), slot_wear_pda)
-// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
if(H.backbag == 1)
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
else
@@ -179,7 +177,6 @@
H.equip_or_collect(new /obj/item/device/pda/shaftminer(H), slot_wear_pda)
H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_or_collect(new /obj/item/weapon/pickaxe/drill(H), slot_belt)
-// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
if(H.backbag == 1)
H.equip_or_collect(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand)
H.equip_or_collect(new /obj/item/weapon/crowbar(H), slot_l_hand)
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index c8987cccad0..f74bbc7f5ed 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -1076,8 +1076,8 @@
//req_access_txt = "12" //Maintenance access
products = list(/obj/item/stack/cable_coil/random = 10,/obj/item/weapon/crowbar = 5,/obj/item/weapon/weldingtool = 3,/obj/item/weapon/wirecutters = 5,
/obj/item/weapon/wrench = 5,/obj/item/device/analyzer = 5,/obj/item/device/t_scanner = 5,/obj/item/weapon/screwdriver = 5)
- contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2)
- premium = list(/obj/item/clothing/gloves/yellow = 1)
+ contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/color/fyellow = 2)
+ premium = list(/obj/item/clothing/gloves/color/yellow = 1)
/obj/machinery/vending/engivend
name = "Engi-Vend"
@@ -1097,7 +1097,7 @@
icon_deny = "engi-deny"
req_access_txt = "11"
products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/orange = 4,/obj/item/clothing/head/hardhat = 4,
- /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/screwdriver = 12,
+ /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/color/yellow = 4, /obj/item/weapon/screwdriver = 12,
/obj/item/weapon/crowbar = 12,/obj/item/weapon/wirecutters = 12,/obj/item/device/multitool = 12,/obj/item/weapon/wrench = 12,/obj/item/device/t_scanner = 12,
/obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/stock_parts/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8,
/obj/item/weapon/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5,/obj/item/weapon/stock_parts/micro_laser = 5,
@@ -1211,7 +1211,7 @@
/obj/item/clothing/under/sundress=2,/obj/item/clothing/under/stripeddress = 1, /obj/item/clothing/under/sailordress = 1, /obj/item/clothing/under/redeveninggown = 1, /obj/item/clothing/under/blacktango=1,/obj/item/clothing/suit/jacket=3,
/obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1,/obj/item/clothing/suit/poncho=1,
/obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,/obj/item/clothing/shoes/black=4,
- /obj/item/clothing/shoes/sandal=1,
+ /obj/item/clothing/shoes/sandal=1, /obj/item/clothing/gloves/fingerless=2,
/obj/item/weapon/storage/belt/fannypack=1, /obj/item/weapon/storage/belt/fannypack/blue=1, /obj/item/weapon/storage/belt/fannypack/red=1)
contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/weapon/storage/belt/fannypack/black=1)
premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1)
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index 19108eec93d..361ecedb4e1 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -1,5 +1,6 @@
/obj/machinery/washing_machine
name = "Washing Machine"
+ desc = "Gets rid of those pesky bloodstains, or your money back!"
icon = 'icons/obj/machines/washing_machine.dmi'
icon_state = "wm_10"
density = 1
@@ -87,8 +88,8 @@
//world << "DEBUG: YUP! [new_icon_state] and [new_item_state]"
break
del(J)
- for(var/T in typesof(/obj/item/clothing/gloves))
- var/obj/item/clothing/gloves/G = new T
+ for(var/T in typesof(/obj/item/clothing/gloves/color))
+ var/obj/item/clothing/gloves/color/G = new T
//world << "DEBUG: [color] == [J.color]"
if(_color == G._color)
new_glove_icon_state = G.icon_state
@@ -137,13 +138,13 @@
J.name = new_jumpsuit_name
J.desc = new_desc
if(new_glove_icon_state && new_glove_item_state && new_glove_name)
- for(var/obj/item/clothing/gloves/G in contents)
+ for(var/obj/item/clothing/gloves/color/G in contents)
//world << "DEBUG: YUP! FOUND IT!"
G.item_state = new_glove_item_state
G.icon_state = new_glove_icon_state
G._color = _color
G.name = new_glove_name
- if(!istype(G, /obj/item/clothing/gloves/black/thief))
+ if(!istype(G, /obj/item/clothing/gloves/color/black/thief))
G.desc = new_desc
if(new_shoe_icon_state && new_shoe_name)
for(var/obj/item/clothing/shoes/S in contents)
@@ -265,7 +266,10 @@
return
if ( istype(W,/obj/item/clothing/gloves/furgloves ) )
user << "This item does not fit."
- return
+ return
+ if(W.flags & NODROP) //if "can't drop" item
+ user << "\The [W] is stuck to your hand, you cannot put it in the washing machine!"
+ return
if(contents.len < 5)
if ( state in list(1, 3) )
diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm
index 226fcdcf456..db1952f145e 100644
--- a/code/game/objects/effects/decals/crayon.dm
+++ b/code/game/objects/effects/decals/crayon.dm
@@ -1,36 +1,23 @@
/obj/effect/decal/cleanable/crayon
name = "rune"
desc = "A rune drawn in crayon."
- icon = 'icons/obj/rune.dmi'
+ icon = 'icons/effects/crayondecal.dmi'
+ icon_state = "rune1"
layer = 2.1
anchored = 1
- examine()
- set src in view(2)
- ..()
- return
+/obj/effect/decal/cleanable/crayon/examine()
+ set src in view(2)
+ ..()
+ return
- New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune")
- ..()
- loc = location
+/obj/effect/decal/cleanable/crayon/New(location, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune")
+ ..()
+ loc = location
- name = type
- desc = "A [type] drawn in crayon."
+ name = e_name
+ desc = "A [name] drawn in crayon."
- switch(type)
- if("rune")
- type = "rune[rand(1,6)]"
- if("graffiti")
- type = pick("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa")
-
- var/icon/mainOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]",2.1)
- var/icon/shadeOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]s",2.1)
-
- mainOverlay.Blend(main,ICON_ADD)
- shadeOverlay.Blend(shade,ICON_ADD)
-
- overlays += mainOverlay
- overlays += shadeOverlay
-
- add_hiddenprint(usr)
\ No newline at end of file
+ icon_state = type
+ color = main
\ No newline at end of file
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index ad757325b95..fe8fe4138bd 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -1,100 +1,84 @@
/obj/item/toy/crayon/red
icon_state = "crayonred"
colour = "#DA0000"
- shadeColour = "#810C0C"
colourName = "red"
/obj/item/toy/crayon/orange
icon_state = "crayonorange"
colour = "#FF9300"
- shadeColour = "#A55403"
colourName = "orange"
/obj/item/toy/crayon/yellow
icon_state = "crayonyellow"
colour = "#FFF200"
- shadeColour = "#886422"
colourName = "yellow"
/obj/item/toy/crayon/green
icon_state = "crayongreen"
colour = "#A8E61D"
- shadeColour = "#61840F"
colourName = "green"
/obj/item/toy/crayon/blue
icon_state = "crayonblue"
colour = "#00B7EF"
- shadeColour = "#0082A8"
colourName = "blue"
/obj/item/toy/crayon/purple
icon_state = "crayonpurple"
colour = "#DA00FF"
- shadeColour = "#810CFF"
colourName = "purple"
+/obj/item/toy/crayon/white
+ icon_state = "crayonwhite"
+ colour = "#FFFFFF"
+ colourName = "white"
+
/obj/item/toy/crayon/mime
icon_state = "crayonmime"
desc = "A very sad-looking crayon."
colour = "#FFFFFF"
- shadeColour = "#000000"
colourName = "mime"
uses = 0
-/obj/item/toy/crayon/mime/attack_self(mob/living/user as mob) //inversion
- if(colour != "#FFFFFF" && shadeColour != "#000000")
- colour = "#FFFFFF"
- shadeColour = "#000000"
- user << "You will now draw in white and black with this crayon."
+/obj/item/toy/crayon/mime/attack_self(mob/living/user as mob)
+ update_window(user)
+
+/obj/item/toy/crayon/mime/update_window(mob/living/user as mob)
+ dat += "
Change color"
+ ..()
+
+/obj/item/toy/crayon/mime/Topic(href,href_list)
+ if ((usr.restrained() || usr.stat || usr.get_active_hand() != src))
+ return
+ if(href_list["color"])
+ if(colour != "#FFFFFF")
+ colour = "#FFFFFF"
+ else
+ colour = "#000000"
+ update_window(usr)
else
- colour = "#000000"
- shadeColour = "#FFFFFF"
- user << "You will now draw in black and white with this crayon."
- return
+ ..()
/obj/item/toy/crayon/rainbow
icon_state = "crayonrainbow"
colour = "#FFF000"
- shadeColour = "#000FFF"
colourName = "rainbow"
uses = 0
/obj/item/toy/crayon/rainbow/attack_self(mob/living/user as mob)
- colour = input(user, "Please select the main colour.", "Crayon colour") as color
- shadeColour = input(user, "Please select the shade colour.", "Crayon colour") as color
- return
+ update_window(user)
-/obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity)
- if(!proximity) return
- if(istype(target,/turf/simulated/floor))
- var/drawtype = input("Choose what you'd like to draw.", "Crayon scribbles") in list("graffiti","rune","letter")
- switch(drawtype)
- if("letter")
- drawtype = input("Choose the letter.", "Crayon scribbles") in list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
- user << "You start drawing a letter on the [target.name]."
- if("graffiti")
- user << "You start drawing graffiti on the [target.name]."
- if("rune")
- user << "You start drawing a rune on the [target.name]."
- if(instant || do_after(user, 50))
- new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype)
- user << "You finish drawing."
- if(uses)
- uses--
- if(!uses)
- user << "\red You used up your crayon!"
- del(src)
- return
+/obj/item/toy/crayon/rainbow/update_window(mob/living/user as mob)
+ dat += " Change color"
+ ..()
-/obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob)
- if(M == user)
- user << "You take a bite of the crayon. Delicious!"
- user.nutrition += 5
- if(uses)
- uses -= 5
- if(uses <= 0)
- user << "\red You ate your crayon!"
- del(src)
+/obj/item/toy/crayon/rainbow/Topic(href,href_list[])
+
+ if(href_list["color"])
+ var/temp = input(usr, "Please select colour.", "Crayon colour") as color
+ if ((usr.restrained() || usr.stat || usr.get_active_hand() != src))
+ return
+ colour = temp
+ update_window(usr)
else
..()
\ No newline at end of file
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index dda1a4942c0..e5cd25994f5 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -438,20 +438,104 @@
desc = "A colourful crayon. Looks tasty. Mmmm..."
icon = 'icons/obj/crayons.dmi'
icon_state = "crayonred"
- slot_flags = SLOT_EARS
w_class = 1.0
attack_verb = list("attacked", "coloured")
var/colour = "#FF0000" //RGB
- var/shadeColour = "#220000" //RGB
+ var/drawtype = "rune"
+ var/list/graffiti = list("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa","body","cyka")
+ var/list/letters = list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
var/uses = 30 //0 for unlimited uses
var/instant = 0
var/colourName = "red" //for updateIcon purposes
+ var/dat
- suicide_act(mob/user)
- viewers(user) << "[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide."
- return (BRUTELOSS|OXYLOSS)
+/obj/item/toy/crayon/suicide_act(mob/user)
+ user.visible_message("[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide.")
+ return (BRUTELOSS|OXYLOSS)
+/obj/item/toy/crayon/New()
+ ..()
+ name = "[colourName] crayon" //Makes crayons identifiable in things like grinders
+ drawtype = pick(pick(graffiti), pick(letters), "rune[rand(1,6)]")
+/obj/item/toy/crayon/attack_self(mob/living/user as mob)
+ update_window(user)
+
+/obj/item/toy/crayon/proc/update_window(mob/living/user as mob)
+ dat += "Currently selected: [drawtype]
"
+ dat += "Random letterPick letter"
+ dat += "
"
+ dat += "Runes:
"
+ dat += "Random rune"
+ for(var/i = 1; i <= 6; i++)
+ dat += "Rune[i]"
+ if(!((i + 1) % 3)) //3 buttons in a row
+ dat += "
"
+ dat += "
"
+ graffiti.Find()
+ dat += "Graffiti:
"
+ dat += "Random graffiti"
+ var/c = 1
+ for(var/T in graffiti)
+ dat += "[T]"
+ if(!((c + 1) % 3)) //3 buttons in a row
+ dat += "
"
+ c++
+ dat += "
"
+ var/datum/browser/popup = new(user, "crayon", name, 300, 500)
+ popup.set_content(dat)
+ popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
+ popup.open()
+ dat = ""
+
+/obj/item/toy/crayon/Topic(href, href_list, hsrc)
+ var/temp = "a"
+ switch(href_list["type"])
+ if("random_letter")
+ temp = pick(letters)
+ if("letter")
+ temp = input("Choose the letter.", "Crayon scribbles") in letters
+ if("random_rune")
+ temp = "rune[rand(1,6)]"
+ if("random_graffiti")
+ temp = pick(graffiti)
+ else
+ temp = href_list["type"]
+ if ((usr.restrained() || usr.stat || usr.get_active_hand() != src))
+ return
+ drawtype = temp
+ update_window(usr)
+
+/obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity)
+ if(!proximity) return
+ if(istype(target,/turf/simulated/floor))
+ var/temp = "rune"
+ if(letters.Find(drawtype))
+ temp = "letter"
+ else if(graffiti.Find(drawtype))
+ temp = "graffiti"
+ user << "You start drawing a [temp] on the [target.name]."
+ if(instant || do_after(user, 50))
+ new /obj/effect/decal/cleanable/crayon(target,colour,drawtype,temp)
+ user << "You finish drawing [temp]."
+ if(uses)
+ uses--
+ if(!uses)
+ user << "You used up your crayon!"
+ qdel(src)
+ return
+
+/obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob)
+ if(M == user)
+ user << "You take a bite of the crayon. Delicious!"
+ user.nutrition += 5
+ if(uses)
+ uses -= 5
+ if(uses <= 0)
+ user << "You ate your crayon!"
+ qdel(src)
+ else
+ ..()
/*
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index cb04eeaccd3..d905730dbf8 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -64,7 +64,7 @@
new /obj/item/stack/cable_coil(src,30,color)
new /obj/item/stack/cable_coil(src,30,color)
if(prob(5))
- new /obj/item/clothing/gloves/yellow(src)
+ new /obj/item/clothing/gloves/color/yellow(src)
else
new /obj/item/stack/cable_coil(src,30,color)
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 710251b34d7..45f556bb425 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -38,6 +38,9 @@
new /obj/item/ammo_box/a357(src)
new /obj/item/weapon/card/emag(src)
new /obj/item/weapon/plastique(src)
+ new /obj/item/clothing/gloves/color/latex/nitrile(src)
+ new /obj/item/clothing/mask/gas/clown_hat(src)
+ new /obj/item/clothing/under/suit_jacket/really_black(src)
return
if("murder")
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index 9b12b3dcc46..b5fb68105c2 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -97,7 +97,7 @@
prob(1);/obj/item/stack/packageWrap,\
prob(2);/obj/random/bomb_supply,\
prob(1);/obj/item/weapon/extinguisher,\
- prob(1);/obj/item/clothing/gloves/fyellow,\
+ prob(1);/obj/item/clothing/gloves/color/fyellow,\
prob(3);/obj/item/stack/cable_coil,\
prob(2);/obj/random/toolbox,\
prob(2);/obj/item/weapon/storage/belt/utility,\
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index 4a9669a9955..a72ae3d7e60 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -61,8 +61,8 @@
sleep(2)
new /obj/item/clothing/glasses/eyepatch(src)
new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/clothing/gloves/swat(src)
- new /obj/item/clothing/gloves/swat(src)
+ new /obj/item/clothing/gloves/combat(src)
+ new /obj/item/clothing/gloves/combat(src)
new /obj/item/clothing/head/helmet/swat(src)
new /obj/item/clothing/head/helmet/swat(src)
new /obj/item/clothing/mask/gas(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 42e82b8af22..a641af29874 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -83,7 +83,7 @@
new /obj/item/weapon/storage/bag/trash(src)
new /obj/item/device/lightreplacer(src)
new /obj/item/weapon/holosign_creator(src)
- new /obj/item/clothing/gloves/black(src)
+ new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/head/soft/purple(src)
new /obj/item/weapon/watertank/janitor(src)
new /obj/item/weapon/storage/belt/janitor(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index 14fd16914cc..78e90703b9e 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -14,7 +14,7 @@
new /obj/item/clothing/under/rank/cargotech(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/device/radio/headset/headset_cargo(src)
- new /obj/item/clothing/gloves/black(src)
+ new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft(src)
// new /obj/item/weapon/cartridge/quartermaster(src)
return
@@ -35,7 +35,7 @@
new /obj/item/clothing/under/rank/cargo(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/headset_cargo(src)
- new /obj/item/clothing/gloves/black(src)
+ new /obj/item/clothing/gloves/fingerless(src)
// new /obj/item/weapon/cartridge/quartermaster(src)
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/weapon/tank/emergency_oxygen(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index ae57669c261..79a84cd2c1f 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -328,7 +328,7 @@
new /obj/item/clothing/suit/storage/det_suit(src)
new /obj/item/clothing/suit/storage/forensics/blue(src)
new /obj/item/clothing/suit/storage/forensics/red(src)
- new /obj/item/clothing/gloves/black(src)
+ new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/storage/box/evidence(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 90cee7c97a8..fcead78a565 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -296,8 +296,8 @@
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/gloves/black(src)
+ new /obj/item/clothing/gloves/fingerless(src)
+ new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/head/soft/black(src)
return
diff --git a/code/game/response_team.dm b/code/game/response_team.dm
index f495914d42d..4050cadceff 100644
--- a/code/game/response_team.dm
+++ b/code/game/response_team.dm
@@ -17,39 +17,39 @@ var/can_call_ert
if(!check_rights(R_EVENT))
return
-
+
if(!ticker)
usr << "\red The game hasn't started yet!"
return
-
+
if(ticker.current_state == 1)
usr << "\red The round hasn't started yet!"
return
-
+
if(send_emergency_team)
usr << "\red Central Command has already dispatched an emergency response team!"
return
-
+
if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes")
return
-
-
+
+
if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red
switch(alert("The station is not in red alert. Do you still want to dispatch a response team?",,"Yes","No"))
if("No")
return
-
+
if(send_emergency_team)
usr << "\red Central Command has already dispatched an emergency response team!"
return
-
+
if(pick_ert_type())
return
message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1)
log_admin("[key_name(usr)] used Dispatch Response Team.")
trigger_armed_response_team(1)
-
+
/client/proc/pick_ert_type()
var/erttype = input("Which type of Emergency Response Team would you like to dispatch?","Emergency Response Team Type", "") as null|anything in response_team_types
if(!erttype)
@@ -68,25 +68,25 @@ var/can_call_ert
if(!istype(usr,/mob/dead/observer) && !istype(usr,/mob/new_player))
usr << "You need to be an observer or new player to use this."
return
-
+
if(!send_emergency_team)
usr << "No emergency response team is currently being sent."
return
-
+
if(jobban_isbanned(usr, "Emergency Response Team"))
usr << "You are jobbanned from the emergency reponse team!"
return
-
+
var/player_age_check = check_client_age(usr.client, responseteam_age)
if(player_age_check && config.use_age_restriction_for_antags)
usr << "This role is not yet available to you. You need to wait another [player_age_check] days."
return
- if(response_team_members.len > 6)
+ if(response_team_members.len > 6)
usr << "The emergency response team is already full!"
return
- for (var/obj/effect/landmark/L in landmarks_list)
+ for (var/obj/effect/landmark/L in landmarks_list)
if (L.name == "Response Team")
L.name = null
@@ -118,13 +118,13 @@ var/can_call_ert
var/deadcount = 0
for(var/mob/living/carbon/human/H in mob_list)
if(H.client) // Monkeys and mice don't have a client, amirite?
- if(H.stat == 2)
+ if(H.stat == 2)
deadcount++
total++
- if(total == 0)
+ if(total == 0)
return 0
- else
+ else
return round(100 * deadcount / total)
// counts the number of antagonists in %
@@ -136,9 +136,9 @@ var/can_call_ert
antagonists++
total++
- if(total == 0)
+ if(total == 0)
return 0
- else
+ else
return round(100 * antagonists / total)
// Increments the ERT chance automatically, so that the later it is in the round,
@@ -170,7 +170,7 @@ var/can_call_ert
send_team_chance += percentage_antagonists() // the more antagonists, the higher the chance
send_team_chance = min(send_team_chance, 100)
- if(force)
+ if(force)
send_team_chance = 100
// there's only a certain chance a team will be sent
@@ -186,7 +186,7 @@ var/can_call_ert
sleep(600 * 5)
send_emergency_team = 0 // Can no longer join the ERT.
-/*
+/*
var/area/security/nuke_storage/nukeloc = locate() //To find the nuke in the vault
var/obj/machinery/nuclearbomb/nuke = locate() in nukeloc
if(!nuke)
@@ -343,7 +343,7 @@ var/can_call_ert
equip_emergencyresponsesquad(M, "Commander", class)
else
equip_emergencyresponsesquad(M, class)
-
+
return M
/proc/equip_emergencyresponsesquad(var/mob/living/carbon/human/M, var/role, var/role2)
@@ -360,13 +360,13 @@ var/can_call_ert
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/galoshes(M), slot_shoes)
else
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/advance(M), slot_shoes)
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/commander(M), slot_wear_suit)
var/obj/item/clothing/suit/space/rig/R = M.wear_suit
R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/commander(M)
M.equip_to_slot_or_del(R.helmet, slot_head)
R.helmet.flags |= NODROP
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
@@ -386,8 +386,8 @@ var/can_call_ert
M.equip_to_slot_or_del(pda, slot_wear_pda)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store)
- M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
-
+ M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
+
M.equip_to_slot_or_del(new /obj/item/weapon/pinpointer/advpinpointer(M), slot_in_backpack)
switch(role2)
@@ -395,62 +395,62 @@ var/can_call_ert
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/response_team(M), slot_belt)
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/night(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/nuclear(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/tele(M), slot_in_backpack)
-
+
if("Medical")
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/latex/nitrile(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/night(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/defibrillator/compact/combat/loaded(M), slot_belt)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/fire(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/o2(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/toxin(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/CMO(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(M), slot_r_hand)
-
+
if("Engineering")
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson/night(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full/multitool(M), slot_belt)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/full(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/stack/sheet/glass/full(M), slot_in_backpack)
- M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack)
-
+ M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack)
+
M.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/inflatable(M), slot_r_hand)
-
+
if("Janitorial")
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/janitor, slot_glasses)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/janitor/full, slot_belt)
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(src), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/lights/mixed(src), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/spray/plantbgone(src), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/glass/bucket(src), slot_in_backpack)
-
- M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand)
-
+
+ M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand)
+
new /obj/structure/mopbucket/full(get_turf(M))
if("Security")
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/security(M), slot_wear_suit)
-
+
var/obj/item/clothing/suit/space/rig/R = M.wear_suit
R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/security(M)
M.equip_to_slot_or_del(R.helmet, slot_head)
R.helmet.flags |= NODROP
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(M), slot_glasses)
@@ -470,10 +470,10 @@ var/can_call_ert
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
pda.icon_state = "pda-security"
M.equip_to_slot_or_del(pda, slot_wear_pda)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store)
- M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
-
+ M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
+
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/night(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/nuclear(M), slot_in_backpack)
@@ -485,18 +485,18 @@ var/can_call_ert
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/latex/nitrile(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/medical(M), slot_wear_suit)
-
+
var/obj/item/clothing/suit/space/rig/R = M.wear_suit
- R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/medical(M)
+ R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/medical(M)
M.equip_to_slot_or_del(R.helmet, slot_head)
R.helmet.flags |= NODROP
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/night(M), slot_glasses)
var/obj/item/weapon/card/id/W = new(src)
- W.assignment = "Emergency Response Team Member"
+ W.assignment = "Emergency Response Team Member"
W.registered_name = M.real_name
W.name = "[M.real_name]'s ID Card (Emergency Response Team - Medic)"
W.icon_state = "centcom"
@@ -510,29 +510,29 @@ var/can_call_ert
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
pda.icon_state = "pda-medical"
M.equip_to_slot_or_del(pda, slot_wear_pda)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store)
- M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
-
+ M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
+
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/fire(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/o2(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/toxin(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/CMO(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/defibrillator/compact/combat/loaded(M), slot_belt)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(M), slot_r_hand)
if("Engineering")
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/advance(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/engineer(M), slot_wear_suit)
-
+
var/obj/item/clothing/suit/space/rig/R = M.wear_suit
- R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/engineer(M)
+ R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/engineer(M)
M.equip_to_slot_or_del(R.helmet, slot_head)
R.helmet.flags |= NODROP
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson/night(M), slot_glasses)
@@ -552,31 +552,31 @@ var/can_call_ert
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
pda.icon_state = "pda-engineer"
M.equip_to_slot_or_del(pda, slot_wear_pda)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store)
- M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
+ M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/full(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/stack/sheet/glass/full(M), slot_in_backpack)
- M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack)
+ M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full/multitool(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/inflatable(M), slot_r_hand)
-
+
if("Janitorial")
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/galoshes(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/janitor(M), slot_wear_suit)
-
+
var/obj/item/clothing/suit/space/rig/R = M.wear_suit
- R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/janitor(M)
+ R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/janitor(M)
M.equip_to_slot_or_del(R.helmet, slot_head)
R.helmet.flags |= NODROP
-
+
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/janitor(M), slot_glasses)
@@ -596,9 +596,9 @@ var/can_call_ert
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
pda.icon_state = "pda-janitor"
M.equip_to_slot_or_del(pda, slot_wear_pda)
-
+
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store)
- M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
+ M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(src), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/lights/mixed(src), slot_in_backpack)
@@ -607,8 +607,8 @@ var/can_call_ert
M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/janitor/full, slot_belt)
- M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand)
-
+ M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand)
+
new /obj/structure/mopbucket/full(get_turf(M))
/*/mob/living/carbon/human/proc/equip_strike_team(leader_selected = 0) Old ERT equip verb.
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 8bd0f7c4c47..ebb8f3479db 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -734,7 +734,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("tunnel clown")//Tunnel clowns rule!
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/clothing/head/chaplain_hood(M), slot_head)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
@@ -775,7 +775,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("dark lord")
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
M.equip_to_slot_or_del(new /obj/item/weapon/twohanded/dualsaber/red(M), slot_l_hand)
@@ -797,7 +797,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("assassin")
M.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wcoat(M), slot_wear_suit)
@@ -912,7 +912,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("emergency response team")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert/alt(M), slot_l_ear)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
@@ -935,7 +935,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("emergency response team leader")
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert/alt(M), slot_l_ear)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm
index 755bc91817e..2e39830be85 100644
--- a/code/modules/admin/verbs/striketeam_syndicate.dm
+++ b/code/modules/admin/verbs/striketeam_syndicate.dm
@@ -138,7 +138,7 @@ var/global/sent_syndicate_strike_team = 0
equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/strike(src), slot_wear_suit)
else
equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/red/strike(src), slot_wear_suit)
- equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves)
+ equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves)
if (!syndicate_leader_selected)
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/syndicate/black/strike(src), slot_head)
else
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 7fa81ce358e..97521412795 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -100,7 +100,7 @@
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/armor/vest
corpseshoes = /obj/item/clothing/shoes/combat
- corpsegloves = /obj/item/clothing/gloves/swat
+ corpsegloves = /obj/item/clothing/gloves/combat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas
corpsehelmet = /obj/item/clothing/head/helmet/swat
@@ -116,7 +116,7 @@
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/space/rig/syndi
corpseshoes = /obj/item/clothing/shoes/combat
- corpsegloves = /obj/item/clothing/gloves/swat
+ corpsegloves = /obj/item/clothing/gloves/combat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/syndicate
corpsehelmet = /obj/item/clothing/head/helmet/space/rig/syndi
@@ -246,7 +246,7 @@
/obj/effect/landmark/corpse/miner
corpseradio = /obj/item/device/radio/headset/headset_cargo
corpseuniform = /obj/item/clothing/under/rank/miner
- corpsegloves = /obj/item/clothing/gloves/black
+ corpsegloves = /obj/item/clothing/gloves/fingerless
corpseback = /obj/item/weapon/storage/backpack/industrial
corpseshoes = /obj/item/clothing/shoes/black
corpseid = 1
@@ -280,7 +280,7 @@
corpseglasses = /obj/item/clothing/glasses/eyepatch
corpsemask = /obj/item/clothing/mask/cigarette/cigar/cohiba
corpsehelmet = /obj/item/clothing/head/centhat
- corpsegloves = /obj/item/clothing/gloves/swat
+ corpsegloves = /obj/item/clothing/gloves/combat
corpseshoes = /obj/item/clothing/shoes/combat
corpsepocket1 = /obj/item/weapon/lighter/zippo
corpseid = 1
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index e7b8b3ae64f..ecc763a1a49 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -1,4 +1,4 @@
-/obj/item/clothing/gloves/yellow
+/obj/item/clothing/gloves/color/yellow
desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves"
icon_state = "yellow"
@@ -14,7 +14,7 @@
power
var/next_shock = 0
-/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
+/obj/item/clothing/gloves/color/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
name = "budget insulated gloves"
icon_state = "yellow"
@@ -30,7 +30,7 @@
New()
siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5)
-/obj/item/clothing/gloves/black
+/obj/item/clothing/gloves/color/black
desc = "These gloves are fire-resistant."
name = "black gloves"
icon_state = "black"
@@ -55,7 +55,7 @@
thief
pickpocket = 1
-/obj/item/clothing/gloves/orange
+/obj/item/clothing/gloves/color/orange
name = "orange gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "orange"
@@ -65,7 +65,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi'
)
-/obj/item/clothing/gloves/red
+/obj/item/clothing/gloves/color/red
name = "red gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "red"
@@ -75,7 +75,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi'
)
-/obj/item/clothing/gloves/rainbow
+/obj/item/clothing/gloves/color/rainbow
name = "rainbow gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "rainbow"
@@ -88,7 +88,7 @@
clown
_color = "clown"
-/obj/item/clothing/gloves/blue
+/obj/item/clothing/gloves/color/blue
name = "blue gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "blue"
@@ -98,7 +98,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi'
)
-/obj/item/clothing/gloves/purple
+/obj/item/clothing/gloves/color/purple
name = "purple gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "purple"
@@ -108,7 +108,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi'
)
-/obj/item/clothing/gloves/green
+/obj/item/clothing/gloves/color/green
name = "green gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "green"
@@ -118,7 +118,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi'
)
-/obj/item/clothing/gloves/grey
+/obj/item/clothing/gloves/color/grey
name = "grey gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "gray"
@@ -134,7 +134,7 @@
hop
_color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
-/obj/item/clothing/gloves/light_brown
+/obj/item/clothing/gloves/color/light_brown
name = "light brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "lightbrown"
@@ -144,7 +144,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi'
)
-/obj/item/clothing/gloves/brown
+/obj/item/clothing/gloves/color/brown
name = "brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "brown"
@@ -170,8 +170,6 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/mask.dmi'
)
- cmo
- _color = "medical" //Exists for washing machines. Is not different from latex gloves in any way.
/obj/item/clothing/gloves/color/latex/nitrile
name = "nitrile gloves"
@@ -179,6 +177,7 @@
icon_state = "nitrile"
item_state = "nitrilegloves"
transfer_prints = FALSE
+ _color = "medical"
/obj/item/clothing/gloves/color/white
name = "white gloves"
@@ -188,7 +187,7 @@
_color="mime"
redcoat
- _color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
+ _color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
/obj/item/clothing/gloves/color/captain
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 5f01aa4da95..8f6ba148430 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -1,3 +1,14 @@
+/obj/item/clothing/gloves/fingerless
+ name = "fingerless gloves"
+ desc = "Plain black gloves without fingertips for the hard working."
+ icon_state = "fingerless"
+ item_state = "fingerless"
+ _color = null //So they don't wash.
+ transfer_prints = TRUE
+ cold_protection = HANDS
+ min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
+ species_restricted = null
+
/obj/item/clothing/gloves/cyborg
desc = "beep boop borp"
name = "cyborg gloves"
@@ -8,23 +19,8 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/mask.dmi'
)
-/obj/item/clothing/gloves/swat
- desc = "These tactical gloves are somewhat fire and impact-resistant."
- name = "\improper SWAT Gloves"
- icon_state = "black"
- item_state = "swat_gl"
- siemens_coefficient = 0.6
- permeability_coefficient = 0.05
- cold_protection = HANDS
- min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
- heat_protection = HANDS
- max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
- species_fit = list("Vox")
- sprite_sheets = list(
- "Vox" = 'icons/mob/species/vox/mask.dmi'
- )
-/obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves
+/obj/item/clothing/gloves/combat
desc = "These tactical gloves are somewhat fire and impact resistant."
name = "combat gloves"
icon_state = "black"
diff --git a/code/modules/jungle/jungle_temple.dm b/code/modules/jungle/jungle_temple.dm
index 138d1dc47d1..90331034774 100644
--- a/code/modules/jungle/jungle_temple.dm
+++ b/code/modules/jungle/jungle_temple.dm
@@ -135,13 +135,13 @@
new /obj/item/clothing/under/rainbow(C)
new /obj/item/clothing/shoes/rainbow(C)
new /obj/item/clothing/head/soft/rainbow(C)
- new /obj/item/clothing/gloves/rainbow(C)
+ new /obj/item/clothing/gloves/color/rainbow(C)
else if(prob(50))
new /obj/item/clothing/under/psyche(C)
else
new /obj/item/clothing/under/syndicate/combat(C)
new /obj/item/clothing/shoes/combat(C)
- new /obj/item/clothing/gloves/swat(C)
+ new /obj/item/clothing/gloves/combat(C)
new /obj/item/clothing/mask/balaclava(C)
if("glasses")
var/obj/structure/closet/C = new(src.loc)
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index f6c03ee308b..0e927cc2aee 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -28,7 +28,7 @@
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/under/rank/miner(src)
- new /obj/item/clothing/gloves/black(src)
+ new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/device/mining_scanner(src)
new /obj/item/weapon/storage/bag/ore(src)
diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm
index 47795ed7b87..ae21a0a3d8f 100644
--- a/code/modules/mob/living/simple_animal/corpse.dm
+++ b/code/modules/mob/living/simple_animal/corpse.dm
@@ -89,7 +89,7 @@
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/armor/vest
corpseshoes = /obj/item/clothing/shoes/combat
- corpsegloves = /obj/item/clothing/gloves/swat
+ corpsegloves = /obj/item/clothing/gloves/combat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas
corpsehelmet = /obj/item/clothing/head/helmet/swat
@@ -105,7 +105,7 @@
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/space/rig/syndi
corpseshoes = /obj/item/clothing/shoes/combat
- corpsegloves = /obj/item/clothing/gloves/swat
+ corpsegloves = /obj/item/clothing/gloves/combat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/syndicate
corpsehelmet = /obj/item/clothing/head/helmet/space/rig/syndi
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 925abb3e84f..2421b49568a 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -55,7 +55,7 @@
/obj/item/weapon/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
- _color = "cmo"
+ _color = "medical"
/obj/item/weapon/stamp/granted
name = "\improper GRANTED rubber stamp"
diff --git a/icons/effects/crayondecal.dmi b/icons/effects/crayondecal.dmi
index 3aa781d8d22..f62c3fc188e 100644
Binary files a/icons/effects/crayondecal.dmi and b/icons/effects/crayondecal.dmi differ
diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi
index ca38284b11c..7f27823e9a6 100644
Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index 460dd640c29..9dcc7b4735c 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/crayons.dmi b/icons/obj/crayons.dmi
index 7ebabd5a81e..6e408c15d25 100644
Binary files a/icons/obj/crayons.dmi and b/icons/obj/crayons.dmi differ
diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm
index 28bc95721f3..4669c6aec7a 100644
--- a/maps/cyberiad.dmm
+++ b/maps/cyberiad.dmm
@@ -2105,7 +2105,7 @@
"aOy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary)
"aOz" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/storage/primary)
"aOA" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary)
-"aOB" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/gloves/fyellow,/turf/simulated/floor,/area/storage/primary)
+"aOB" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/gloves/color/fyellow,/turf/simulated/floor,/area/storage/primary)
"aOC" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/storage/primary)
"aOD" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary)
"aOE" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary)
@@ -2943,7 +2943,7 @@
"beE" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port)
"beF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port)
"beG" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/port)
-"beH" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/under/rainbow,/turf/simulated/floor/plating,/area/maintenance/port)
+"beH" = (/obj/item/clothing/gloves/color/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/under/rainbow,/turf/simulated/floor/plating,/area/maintenance/port)
"beI" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/tools)
"beJ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/tools)
"beK" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/rack{dir = 8; layer = 2.9},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/item/device/multitool,/turf/simulated/floor,/area/storage/tools)
@@ -6444,7 +6444,7 @@
"ctV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/equipmentstorage)
"ctW" = (/turf/simulated/floor,/area/engine/equipmentstorage)
"ctX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engine/equipmentstorage)
-"ctY" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/turf/simulated/floor,/area/atmos)
+"ctY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/weapon/crowbar/large,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/equipmentstorage)
"ctZ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos)
"cua" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/t_scanner,/turf/simulated/floor,/area/atmos)
"cub" = (/turf/simulated/floor,/area/atmos)
@@ -6733,7 +6733,7 @@
"czy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/equipmentstorage)
"czz" = (/obj/structure/disposalpipe/segment,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/engine/equipmentstorage)
"czA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/device/multitool{pixel_x = 5},/turf/simulated/floor,/area/engine/equipmentstorage)
-"czB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar/large,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/equipmentstorage)
+"czB" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/table,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/turf/simulated/floor,/area/atmos)
"czC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage)
"czD" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage)
"czE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
@@ -8617,13 +8617,17 @@
"djK" = (/obj/machinery/computer/shuttle_control/specops,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
"djL" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/turret_protected/ai)
"djM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/turret_protected/ai)
+"djN" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
+"djO" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/color/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"djP" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CREED"; name = "Spec Ops Ready Room"; pixel_y = 16; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_y = -4; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "WEAPONS"; name = "Armory Door"; pixel_y = 6; req_access_txt = "108"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
"djQ" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
"djR" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/obj/machinery/computer/shuttle_control{name = "gamma operations control console"; req_one_access_txt = "32"; shuttle_tag = "Gamma"},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
"djS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
"djT" = (/turf/simulated/wall/r_wall,/area/aisat)
"djU" = (/turf/simulated/wall/r_wall,/area/aisat/maintenance)
+"djV" = (/obj/structure/closet,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/obj/item/clothing/gloves/color/black,/turf/simulated/floor/plating,/area/exploration/methlab)
"djW" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; pixel_y = -25; req_access_txt = "101"; tag_door = "specops_centcom_dock_inner"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"djX" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/shoes/jackboots,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/gloves/color/black,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor,/area/traitor/kitchen)
"djY" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops)
"djZ" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops)
"dka" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops)
@@ -9013,7 +9017,6 @@
"drv" = (/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)
"drw" = (/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)
"drx" = (/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)
-"dry" = (/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/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"drz" = (/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)
"drA" = (/obj/mecha/combat/marauder/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"drB" = (/obj/machinery/camera{c_tag = "Mini Satellite Access"; dir = 4; network = list("SS13","MiniSat")},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engine/engineering)
@@ -9166,7 +9169,6 @@
"dus" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
"dut" = (/obj/structure/rack,/obj/item/clothing/mask/bandana/black,/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"duu" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"duv" = (/obj/structure/rack,/obj/item/clothing/gloves/black/thief,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"duw" = (/turf/unsimulated/wall,/area/tdome)
"dux" = (/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)
"duy" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
@@ -9986,7 +9988,6 @@
"dKg" = (/turf/simulated/mineral,/area)
"dKh" = (/obj/machinery/floodlight{in_use = 1},/turf/simulated/floor/plating,/area/exploration/methlab)
"dKi" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dKj" = (/obj/structure/closet,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/obj/item/clothing/gloves/black,/turf/simulated/floor/plating,/area/exploration/methlab)
"dKk" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/plating,/area/exploration/methlab)
"dKl" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/exploration/methlab)
"dKm" = (/obj/machinery/door/airlock/external{name = "Crackden Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab)
@@ -12239,7 +12240,6 @@
"eBx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/traitor/kitchen)
"eBy" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/traitor/kitchen)
"eBz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 0; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/traitor/kitchen)
-"eBA" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/shoes/jackboots,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor,/area/traitor/kitchen)
"eBB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/obj/machinery/light_switch{pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/empty)
"eBC" = (/obj/structure/table,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/chem)
"eBD" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/chem)
@@ -13201,7 +13201,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaakqaabcvIcvJcvJcvKcvLcvMcvMcvMcvLcvMcvMcvMcvLcvMcvMcvNcvJcvJcvJcvJcvJcvOcvPcvQcvRcvScvTcvUcvVcvWbYrcoacvXcolcolcolcolcvYcuVcHqcvZcwacwbcwccwdcwecwfcwgcwhcwicwjcwkcwlcwmcwncwocwpcwqctTcwrctWctWctWcwscJXcHScHScubcwvcwwcwxcwycwzcwAcwBcwCcwDcwEcwFeIrcwGcumcwHcupcupctgaaaaaaaabeQacwIcvocwJeQbcwKcwLctlcwMcvucwNcwOcvucwPcwQcvxcwNcwRePPaaaaaaeOlcoPcoQcoPcwScoScoTcwTcvAcwUcwVcoTcwWePyePyePyeOlaaaaaacqOaaacsEcsEcsEcsEcsEaabcsFaabcsEcsEcsEcsEcsEaabcqOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaacuaaaaabaaaaabaabcwXaabaaaaabcwXaabaaaaabcwXaabaaaaaaaaaaaaaaaaaaaaaaaaeIteIseICcwYcwZcxacKwcxbbYrcxccuRcuRcuRcuRcxdcuRcvWcHqcxecxfcxgcxhcxicxjcxkcxlcxmcxncxocxpcxqcxrcxscxtcxuctSctTcxvcxwctWctWcxxcJXcsecsfcubcxAcsVcxBeIDcxCcxDcxEcxFcxGcxHcxGeIEaabctgctgctgctgctgaabaabaabeQecxJcvocwJeQbcxKcxLcxMcxNeQgeQfeQheQhcxPeQheQjeQieQbeQkaaaaaaeOlcoPcoPcoPeQdcxRcxScxTcqMcxUctwctwctwcxVcxWcxXeQlaaaaaacqOaabctActBctBctBctBctCctDctEctFctFctFctFcxZaabcqOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaacuacuakqaabaabcqccyacqeaaacqccyacqeaaacqccyacqeaabaaaaaaaaaaaaaaaaaaaaaaabaabeIFcKwcKwcKwcKweIGcfHcybbYrcycbYrbYrcuVcydbYrcHqcyecyfcygcyhcyicyjcykcylcymcyncyocypcyqcyrcyscytcyucyvcywcyxcyycyzcyAcyBeIHcsTcwxcyEcyFcyGcyHcyIcyJcyKcyLcyMcyNcyOcyPeIIculcumcyQcyRcyRctgaaaaaaaabeQacyScvocyTeQbcyUcyVcyVcyWeQbcyXcyYcyZczaczbczcczdczaeQmaaacuqeOleOleOleOleOlczecoTczfcnSczgcnSczhcnSczicnSczjeQnaaaaaacqOaabcuKcuKcuKcuKcuKaaacsFaabcuKcuKcuKcuKcuKaaacqOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaaaaaaacqccyacqeaabcqccyacqeaaacqccyacqeaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabczlczlczlczlczlczlczlczmczlczlcHqcznczocxgcxgczpczqczrczsczteIpczuczvcwmczwczxeIpczyctWczzczAczBczCcyAczDeIJctYczGczHczIczJczGczKczLczMczNcubczOczPczQeIKaabcvkczRczSczTctgaaaaaaaaaeQaeQbczUeQoeQbczVczWczXczYczZcvocAacAbczacAccAdcAecAfeQpaabaaaaaaaaaaaaaaaeOlcAhcAicAjcAkcAlcAmcAncAocAlcAmcApeOlaaaaabcnZaaaaabaaaaabaaaaabaaacAqaaaaabaaaaabaabaabaabcqOaaaaaaaaaaaaaaaaaaaaaaaacAraaaaaaaaacAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMIaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaaaaaaacqccyacqeaabcqccyacqeaaacqccyacqeaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabczlczlczlczlczlczlczlczmczlczlcHqcznczocxgcxgczpczqczrczsczteIpczuczvcwmczwczxeIpczyctWczzczActYczCcyAczDeIJczBczGczHczIczJczGczKczLczMczNcubczOczPczQeIKaabcvkczRczSczTctgaaaaaaaaaeQaeQbczUeQoeQbczVczWczXczYczZcvocAacAbczacAccAdcAecAfeQpaabaaaaaaaaaaaaaaaeOlcAhcAicAjcAkcAlcAmcAncAocAlcAmcApeOlaaaaabcnZaaaaabaaaaabaaaaabaaacAqaaaaabaaaaabaabaabaabcqOaaaaaaaaaaaaaaaaaaaaaaaacAraaaaaaaaacAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMIaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaakqaabcqccyacqeaaacqccyacqeaaacqccyacqeaabaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabczlcAscAscAtcAucAvcAvcAwcAxcAycAzcygcyhcxgcxgcxgcAAcxgcxgcxgeIpeILcACcADcAEcAFeIMeINcAHeIOcAJcAKcALeIQeIPeIRcANcuccuacxAcsVcAQcARcAScATcAUcubczOcAVcAWeIScAYcumcAZcyRcyRctgaabaaaaaaeQecBacBbcBccBdcBecBfcBecBecBgcBhcBicBjcBjcBkcBlcBmcBneQqaabaabaaaaaaaaaaaaeOlcBpcBqcBrePycBscBtcBuePycBvcBwcBxeOlaaaaaacqOaaacsEcsEcsEcsEcsEaabcqPaabcsEcsEcsEcsEcsEaabcqOaaaaaaaaaaaaaaaaaaaaaaaacArcArcArcArcAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaakqaabcqccyacqeaaacqccyacqeaabcqccyacqeaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaaczlcAscAscAtcBycBycBycBzcBzcBAcHqcBBcBCcBDcBEcBFcBGcBHcBIcBIcBIcBJcBKcxgcxgcxgcBLcBMcBNeITcBOcBPcBQeIVeIUcHqeIWeIWcBTcxAcsVcBUcBVcBWcBXcBYcubcBZcCacCbeIXcCdctgctgctgctgctgaaaaaaaaaeQacCecCfcCgcChcCicCjcCicCicCkcClcCmcCncBncCocCpcAeczaeQraabaabaaaaaaaaaaaaeOlcCrcoPcoPePycCscoPcoPePycCscoPcoPeOlaaaaaacqOaabctActBctBctBctBcCtcCucCtctFctFctFctFcxZaabcqOaaacAraaaaaacAraaaaaacArcArcArcArcArcArcAraaaaaacAraaaaaacAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaakUaabcqccCvcqeaaacqccCvcqeaaacqccCvcqeaabakqaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaabczlcCwcCxcBycBycBycCyeIYeIYeIZeIYeIYeIYeIYcCzcCAcCBcCCcCDcCDcCDcCEcCFcCGcCDcCDcCDcCFcCHcCIcCJcBPcCKeJaeIUcCMcCNeJbcCOcCPcCQcCRcCScAUcCTcCUcCVcCWcCXcCYeIIcCZcumcDacDbcDbctgaaaaaaaaaeQacDccDdcDecDfcDgcDhcDiczacDjcDkcDlcDmcDncDocDpcDqcDreQsaaaaaaaaaaaaaaaaaaeOlcDtcoPcoPePycDucoPcoPePycDucoPcoPeOlaaaaaacqOaabcuKcuKcuKcuKcuKaaacqPaaacuKcuKcuKcuKcuKaaacqOaaacArcArcArcAraaacArcArcArcArcArcArcArcArcAraaacArcArcArcAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -13486,7 +13486,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrgdredrhdridridridridridrhdrfdrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadredrhdrjdrkdrldrmdrndrodrpdrqdrfaaaaaaaaaaaaaaaaaadrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrsdrtdrtdrtdrtdrtdrudrqdrhdridrhdridrhdridrhdrhdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrvdrtdrwdrxdrydrtdrzdrqdrAdrtdgwdrtdrCdrDdrEdrFdrqdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrvdrtdrwdrxdjOdrtdrzdrqdrAdrtdgwdrtdrCdrDdrEdrFdrqdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrGdrtdrHdrIdrJdrtdrKdrqdrtdrtdrtdrtdrtdrtdrtdrLdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrMdrNdrtdrtdrtdrNdrOdrqdrPdrtdrQdrtdrRdrDdrEdrFdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrqdrhdrhdrtdrtdrtdrhdrhdrqdrtdrtdrtdrtdrtdrtdrtdrSdrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -13514,7 +13514,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdrqaaadrqduldsQdsQdujdsQdsQdumdrqdrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldridridridridridridridridridsjdrtdrtdrqaaadrqdundsQdsQdsQdsQdsQduodrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaadsldrhdupduqdurduqdusdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaadsldrhdutduuduvdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaadsldrhdutduudjNdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaduwduwduwduwduxduwduwduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaaaaaduyduzduAduBduyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaduwduCduDduDduDduDduEduwduwduwduwduwduwduwduwduxduwduwduwduwduwduwduwduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaadsldrhdrhduFdrhdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaduwduCduDduDduDduDduEduwduGduHduIduHduJduKduKduKduKduKduJduKduJduKduLduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaaaaadslaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -13984,7 +13984,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgaaaaaadKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKedJZdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdJZdKeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKgdKgdKgdKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJZdJZdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdJZdJZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKhdKidKjdKkdKkdKldKmdKndKodKpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKhdKidjVdKkdKkdKldKmdKndKodKpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKqdKndKodKodKrdKxdKndKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKtdKodKodKudKgdKodKodKvdKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKwdKodRLdKydKgdKndKodKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -14711,7 +14711,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvVeATeAUeAVdvVeAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvVeAUeAUeAXdCadAdeBaeAZeAYdCadCaelGdDYdCgdCgdCgeBbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCkeCjeCjeBleBceBceBceBceAReBdeARdCaeBeeBfeBgeBheBidCaeBjeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBmeBneBoeBpeBqeBreBseBteBueBveBweBxeByeBzeBgeBAdCaeBBeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBmeBneBoeBpeBqeBreBseBteBueBveBweBxeByeBzeBgdjXdCaeBBeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBCeBDeBEeBFeBGeBGeBHeBIeBJeBKeBLeBMeBNeBOeBPeBQeBReBSeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBTeBUeBVeBWeBXeBYeBZeCaeCbeCceCdeCeeCfeCgeBgeChdCaeCieBkeBkeBkeBkeDlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDCeDteDteDseBceBceBceBceCneCoeCpdCaeCqeCreCseCteCudCaeBkeCveCweCxeBkelGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa