From cf2511312c90905d049b614361c13bd55c9d7d78 Mon Sep 17 00:00:00 2001 From: Giacomand Date: Fri, 11 Apr 2014 09:10:23 +0100 Subject: [PATCH 01/10] Small optimisation to recursive_mob_check() by using associative lists and Cut(). --- code/__HELPERS/game.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 04e05b29ff1..12ba4ad3ff8 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -169,11 +169,11 @@ proc/recursive_mob_check(var/atom/O,var/client_check=1,var/sight_check=1,var/inc found_mobs |= A for(var/atom/B in A) - if(!(B in processed_list)) + if(!processed_list[B]) processing_list |= B - processing_list -= A - processed_list |= A + processing_list.Cut(1, 2) + processed_list[A] = A return found_mobs From 19e6493357bbc859a41271fa3e407071eb5f993c Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Fri, 11 Apr 2014 17:03:08 +0800 Subject: [PATCH 02/10] MapFixes --- _maps/map_files/tgstation.2.1.3.dmm | 42 ++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/_maps/map_files/tgstation.2.1.3.dmm b/_maps/map_files/tgstation.2.1.3.dmm index 05b1aae9099..45e18ead555 100644 --- a/_maps/map_files/tgstation.2.1.3.dmm +++ b/_maps/map_files/tgstation.2.1.3.dmm @@ -503,7 +503,7 @@ "ajI" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "ajJ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/auxport) "ajK" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/laborcamp/station) -"ajL" = (/obj/machinery/door/airlock/shuttle{name = "Labor Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/shuttle/plating,/area/shuttle/laborcamp/station) +"ajL" = (/obj/machinery/door/airlock/shuttle{name = "Labor Shuttle Airlock"; req_access_txt = "0"},/turf/simulated/shuttle/plating,/area/shuttle/laborcamp/station) "ajM" = (/obj/machinery/door/airlock/external{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/floor/plating,/area/security/processing) "ajN" = (/turf/simulated/floor/plating,/area/security/processing) "ajO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/processing) @@ -1890,7 +1890,7 @@ "aKr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKs" = (/obj/structure/closet/secure_closet/hydroponics,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold{pipe_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aKu" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aKu" = (/obj/machinery/door/poddoor/preopen{auto_close = 0; density = 1; icon_state = "closed"; id = "transvent"; name = "prisoner release blast door"},/turf/simulated/floor/plating{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/security/prison) "aKv" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKw" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKx" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{pipe_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -1967,9 +1967,9 @@ "aLQ" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"},/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aLR" = (/obj/machinery/atmospherics/pipe/simple{pipe_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aLS" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aLT" = (/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aLT" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/hallway/secondary/exit) "aLU" = (/obj/machinery/atmospherics/pipe/simple{pipe_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aLV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aLV" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aLW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aLX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aLY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) @@ -2174,7 +2174,7 @@ "aPP" = (/obj/machinery/atmospherics/pipe/simple{pipe_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aPQ" = (/obj/machinery/door/morgue{name = "Confession Booth"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aPR" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aPS" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/hallway/secondary/exit) +"aPS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aPT" = (/obj/machinery/atmospherics/pipe/simple{pipe_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/hallway/secondary/exit) "aPU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit) "aPV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/secondary/exit) @@ -3040,8 +3040,8 @@ "bgx" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bgy" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bgz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/security/checkpoint/medical) -"bgA" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint/medical) -"bgB" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 26; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Security Post - Medbay"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/medical) +"bgA" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"bgB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/flasher{id = "hopflash"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central) "bgC" = (/obj/structure/filingcabinet,/obj/machinery/newscaster{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint/medical) "bgD" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "bgE" = (/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) @@ -3112,8 +3112,8 @@ "bhR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bhS" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bhT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/checkpoint/medical) -"bhU" = (/obj/structure/table,/obj/item/weapon/book/manual/wiki/security_space_law,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) -"bhV" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor,/area/security/checkpoint/medical) +"bhU" = (/turf/simulated/floor,/area/security/checkpoint/medical) +"bhV" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) "bhW" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom{pixel_x = 25},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical) "bhX" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "bhY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) @@ -3185,7 +3185,7 @@ "bjm" = (/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = 0},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bjn" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Captain's Desk Door"; req_access_txt = "20"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bjo" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bjp" = (/obj/machinery/camera{c_tag = "Security Post - Medbay"; dir = 2; network = list("SS13")},/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/medical) "bjq" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold{pipe_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bjr" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bjs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -3467,7 +3467,7 @@ "boI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "boJ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/hallway/primary/central) "boK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id = "hopqueue"; name = "HoP Queue Shutters"},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/central) -"boL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central) +"boL" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 26; req_access_txt = "5"},/obj/item/weapon/book/manual/wiki/security_space_law,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint/medical) "boM" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id = "hop"; layer = 2.9; name = "Privacy Door"; opacity = 0},/turf/simulated/floor,/area/crew_quarters/heads) "boN" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads) "boO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads) @@ -8877,7 +8877,7 @@ "doK" = (/obj/structure/stool/bed,/obj/item/weapon/handcuffs,/obj/effect/decal/cleanable/blood/old,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) "doL" = (/turf/simulated/floor{icon_state = "dark"},/area/security/prison) "doM" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/security/prison) -"doN" = (/obj/machinery/door/poddoor/preopen{icon_state = "closed"; id = "transvent"; name = "prisioner release blast door"},/turf/space,/area/security/prison) +"doN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/captain) "doO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/secure_closet/ammunitionlocker,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "doP" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/security/hos) "doQ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold{pipe_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison) @@ -8976,8 +8976,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajagSagJagLagEagIagCagDaaiaaIaaqaaJaaqaaqaaqaaqaaqaaqaaKaaqaaLaaMaaiaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaNaaNaaOaaPaaQaaNaaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaaaaafaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabddoVdoWdoXdoYdoZabddpaaaiaaSaaqaaqaaTaaqaaqaaqaaUaaqaaKaaqaaVaaWaaiaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaNdpcaaYaaZdpbdpdaaNaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafabcaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaHaaHaaGaaHaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabddpedpfdphdpiabddpgaaiabdabeabdabfabdabgabdabhabdabiabdabdabjaaiaafaaaaafaafaafaafaaaaafabkabkablabkaaNdpjabodpkaboabpaaNaafaaaaafabqaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaaGaaGaaGaaGaaaaaaaaaabraaaaaaaaaaaGaaGaaHaaHaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaafaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdoNdoLdoKdoLabddoMaaiabsaaqabtabfabuaaqabvabhabwaaKabxabdabyaaiabzabzabzabzabzabzabzabzabzabAabBabCabDabodoJdoIabEaboaaNaafaaaaafabIabJabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaafaafaafaaaaaaabraafaafaaaaafaafaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafabKaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafdoNdoTdoRdoSagjdoQaaiabLaaqabMabNabOaaqabPabhabQaaKabPabdabRaaiabSabTabUabVabWabXabYdoOabzacaacbaccacdaceabodoPabodoUaaNaafaafaafabIaciabIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafackaafacjacjacjacjacjaafaaGaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaafaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaKudoLdoKdoLabddoMaaiabsaaqabtabfabuaaqabvabhabwaaKabxabdabyaaiabzabzabzabzabzabzabzabzabzabAabBabCabDabodoJdoIabEaboaaNaafaaaaafabIabJabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaafaafaafaaaaaaabraafaafaaaaafaafaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafabKaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaKudoTdoRdoSagjdoQaaiabLaaqabMabNabOaaqabPabhabQaaKabPabdabRaaiabSabTabUabVabWabXabYdoOabzacaacbaccacdaceabodoPabodoUaaNaafaafaafabIaciabIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafackaafacjacjacjacjacjaafaaGaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHaaGaaGaaaaaaaaaaclaaaaaaaaaaaGaaGaaHaaHaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlabddowdoxdoydozdoAaaiabhacmabdabfabhacnabfabhabhacoabfabdabdaaiabSacpacqacqacqacqacqacrabzacsabBactaaNdoBacvacwacxacyaaNaczacAabkacBabJabIabIacCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacDacEacEacEacEacFacGacHacIacIacIacIacJaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaafaafaaaaaaaaaaclaafaafaaaaafaafaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlahlahlahlahlafidoCdoDdoHacPacMacNacOacPacQacRacSacPacTacUacVacWaaiacXacYdoEdoFadbdoGacZaddbYgabBadfadgaaNadhaaNadiaaNadjaaNadkadladmabkadnadoadpadpadqaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadradradradradraafacGaafadradradradradraafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadsadsadsadsadsaafadtaafadsadsadsadsadsaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlahlahlahlahlabacdlcuwadzamJadwaliadBadzadAadBadzadzadCadDadEadFaaiadGbRDadIadJadJadKadLadMadNadOadPadQabkadRadSadTaNpcuBadUadUadVadWadXadYadZaeaaebaecaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaafacGaaaaaaaaaaafaaaaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9015,11 +9015,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCLaDYaDZaEaaCFaEbaCFaEbaCFaEbaCFaEbaCFaEcaEdazdaxZaEeaAfaEfaEgaEhaEiaEjaEkayeaElaEmaEnazraEoaEpaEqayeaEraEsaCWaCWaCWaCWaCWaCWaEtaEuaEvaEwaExaEyaEzaEAaEBaECazzaafaxbaEDaEEaEFaEGaEHaEIaEJaEEaEKaELaEMaENaEOaEPaEQaEPayvaERawhaESaESawhaDmawhaETaEUaEVabIaEWaEXaEXaEXaEYaEZaFaaFbaFcaFdaFeaFcaFfaFcaFgaFcaFhaFiaFjaFkaFlaAKaFmaFnaFoaFpaFqaFnaFraFsaFsaFsaFsaFtaFuaFvaFsaFwaFxaFyaFzaFAaFBaFCaFDaFEasKaFEaFGaFHaFIaFJaFKaDOaFLaFMaFNaDOaDRaFOaDRaFPaFQaFRaFSaFTaFUaFVaFWaFXaFYaFZaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGcaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGdaCFaCFaGeaCFaEbaCFaEbaGfaEbaCFaEbaCFaEcaEdazdaxZaGgaAfaGhaGiaGjaGkaGjaGlaGmaGmaGnaGmaGoaGpaEoaGqaGmaGraGsaCWaCWaCWaGtaCWaCWaCWaGuaAlaaaaGvazzaGwaGxaGwazzazzaaaaxbaGyaxgaGzaGAaGBaGCaGDaGEaGFaGGaGHaGIaAvaDmaDmaDmaGJaGKawhaGLaGMawhaCaawhaGNaGOaGPabIamrabIabIabIaGQabIaGRaGSayFaGTazSayFaGUayFaGVayFaGWaGXaGYaGZaHaaHbaHcaCnaHdaHeaHfaHgaHhaHfaHfaHiaHfaHjaHkaCnaHlaHmaCnaHnaHoaHpaHqaHraHsakmaaaakmalvaHtaHuaHvaHwaHxaHyaHzaHAaDOaHBaHCaDRaHDaHEaHFaHGaFTaHHaFXaFWaHIaDVaDVaDVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCLaHJaDZaEaaCFaEbaCFaEbaCFaEbaCFaEbaCFaEcaEdazdaHKaHLaHMaHNaHNaHNaHNaHLaHOaHPaHQaHRayeaHSaHTaHUaHVayeaHWaBzaBGaHXaHYaHZaIaaIbaIcaIdaAlaaaaIeaaaaIfaIgaIfaaaaafaaaaxbaGyaxgaIhaIiaIjaIkaIlaxgapsapqawhaImaInaDmaDmaDmaIoaIpawhaaaaaaaIqaIraIsaItaIuaIvaIwaIxaIqaaaaaaaIyaIzaIAaIBayFaICazSazSazSaCeazSazSazSaIDaAKaIEaAKaIFaIGakmaIHaIIaIIaIJaIKaILaIIaIMaIIaINaIOaINaIPaINaIQaIRaIRaISaIRaIRaITaIRaIRaIRaIRaIUaHuaHwaIVaIWaIXaIYaIZaDOaJaaJbaJcaJdaJeaJfaHGaJgaHHaFXaFWaFXaJhaJiaJjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJkaJlaBjaCEaCFaCFaCFaJmaCFaCFaJnaCFaCFaCLaJoawLaxZawNaJpaJqaJqaJqaJqaJqaJqaJqaJraJsayeayeaJtayeayeayeaJuaJvaJwaAkaAkaAkaAkaJuaJxaJyaAlaJzaJAaJBaJCaJDaJEaJBaJBaJFaxbaJGaxgaJHaxgaJIaJJaJKaxgaqtavWawhawhawhaJLaJMaJNawhawhawhaJOaJPaJQaJRaIuaIuaIuaIuaIuaJSaJTaJPaJUaIyaJVaIAaJWayFayFayFayFayFayFayFayFayFaIDaJXaJYaJZaKaaKbaKcaKdaKeaIIaKfaKgaKhaKiaKjaINaKkaKlaINaKmaINaKnaKoaKpaKqaKraKsaKtaKuaKvaKwaIRaKxaKyaKzaIVaKAaIXaIYaKBaDOaKCaKDaKEaKFaKGaHGaHGaDRaDVaKHaFWaFXaKIaKJaKKaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJkaBjaBkaBjaBjaKLaBmaBjaBjaBkaJlaKMaqfaKNawNavJaKOaKOaKPaKOaKQarkaKRaKSaJsaKTaKUaKVaKWaKXaKYaKYaKZaKYaKYaKYaKYaKYaKYaKYaLaaLbaLcaLdaLeaLeaLfaLgaLeaLeaLeaLhaLiaLjaLfaLeaLeaLeaLkaLlaLmaIuaLnaLoaIvaIwaIwaIwaItaIuaIuaLpaIuaLqaLraLsaLtaLuaLvaLwaLxaIuaIuaLyaLzaLAaLBaLAaLCaLDaLEaLFaIuaLGaIuaAKaLHaLIaJYaJYaJYaJYaKbaKcaKcaLJaIIaLKaLLaKjaLMaLNaINaLOaLPaLQaLRaINaIRaLSaLTaLUaLVaLWaLXaLYaLZaMaaIRaIUaMbaMcaMcaMdaMeaMcaMfaDOaMgaMhaDRaHGaHGaHGaHGaDRaMiaMjaMkaFXaDVaDVaDVaMlaMlaMlaMmaMnaMoaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJkaJlaBjaCEaCFaCFaCFaJmaCFaCFaJnaCFaCFaCLaJoawLaxZawNaJpaJqaJqaJqaJqaJqaJqaJqaJraJsayeayeaJtayeayeayeaJuaJvaJwaAkaAkaAkaAkaJuaJxaJyaAlaJzaJAaJBaJCaJDaJEaJBaJBaJFaxbaJGaxgaJHaxgaJIaJJaJKaxgaqtavWawhawhawhaJLaJMaJNawhawhawhaJOaJPaJQaJRaIuaIuaIuaIuaIuaJSaJTaJPaJUaIyaJVaIAaJWayFayFayFayFayFayFayFayFayFaIDaJXaJYaJZaKaaKbaKcaKdaKeaIIaKfaKgaKhaKiaKjaINaKkaKlaINaKmaINaKnaKoaKpaKqaKraKsaKtaLVaKvaKwaIRaKxaKyaKzaIVaKAaIXaIYaKBaDOaKCaKDaKEaKFaKGaHGaHGaDRaDVaKHaFWaFXaKIaKJaKKaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJkaBjaBkaBjaBjaKLaBmaBjaBjaBkaJlaKMaqfaKNawNavJaKOaKOaKPaKOaKQarkaKRaKSaJsaKTaKUaKVaKWaKXaKYaKYaKZaKYaKYaKYaKYaKYaKYaKYaLaaLbaLcaLdaLeaLeaLfaLgaLeaLeaLeaLhaLiaLjaLfaLeaLeaLeaLkaLlaLmaIuaLnaLoaIvaIwaIwaIwaItaIuaIuaLpaIuaLqaLraLsaLtaLuaLvaLwaLxaIuaIuaLyaLzaLAaLBaLAaLCaLDaLEaLFaIuaLGaIuaAKaLHaLIaJYaJYaJYaJYaKbaKcaKcaLJaIIaLKaLLaKjaLMaLNaINaLOaLPaLQaLRaINaIRaLSbgAaLUaPSaLWaLXaLYaLZaMaaIRaIUaMbaMcaMcaMdaMeaMcaMfaDOaMgaMhaDRaHGaHGaHGaHGaDRaMiaMjaMkaFXaDVaDVaDVaMlaMlaMlaMmaMnaMoaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavJaxYaMpaAbaAbaAbaAbaMqaxYavJaAdaqfaAeaMrazdaMsaMtaMuaMuaMvarkaMwaKSaMxaMyaMzaMAaMBaMCaMDaMEaMFaKYaKYaKYaKYaKYaKYaKYaLaaKYaMGaKYaKYaKYaMHaMIaKYaKYaKYaKYaMJaKYaMKaKYaKYaKYaMLaLlaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaLpaIuaMMaMNaMOaMPaMQaMRaMSaMTaIuaIuaLyaIuaIuaIuaIuaIuaIuaIuaIuaIuaMUaIuaAKaJYaMVaJYaJYaJYaJYaMWaKcaLJaMXaIIaMYaMZaNaaIIaIIaINaNbaKlaNcaLRaNdaINaIRaIRaNeaIRaIRaIRaNfaNgaNfaIRaIUaHuaNhaHwaHwaNiaHwaNjaDOaDRaDRaDRaDRaDRaDRaNkaDRaFXaFXaFWaFXaNlaNmaDVaNnaNobYXaNqaNraNsaafaaaaafaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafazbaqfazdatwazdaNtaNuaNvaNwazdatwaNxaNyaqfaxZawNazdaNzaNAaMuaMuaMvarkaNBaKSaJsaMyaMzaNCaNDaNEaNEaNEaNFaNGaNHaNEaNIaNEaNEaNEaNJaNKaNLaNEaNEaNEaNMaNNaNOaNPaNPaNQaNRaNSaNTaNUaKYaKYaMLaLlaIuaNVaIuaNWaNWaNWaNWaNWaNWaNWaNWaNXaNWaNWaNWaNWaNWaNWaNWaNWaNWaNWaNWaNYaNWaNWaNWaNWaNWaNWaNWaNWaIuaIuaIuaAKaNZaOaaNZaNZaNZaObaOcaKcaKcaOdaIIaIIaOeaIIaIIaOfaINaOgaKlaOhaOiaOjaINaIRaOkaOlaOmaOnaOmaOmaOoaOpaIRaIUaHuaOqaOqaOraOsaOtaOtaOuaDOaOvaOwaOxaDVaOyaOzaOAaFXaFXaOBaOAaDVaOCaDVaODaOEaOFaOFaOGaOHaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarkawLaxYawLaxZawNawNayaawLaxYawLaOJaOKaOLawNawLaOMaOMaKPaOMaKQarkaONaKSaJsaOOaOOaOPaOQaOOaORaORaORaORaORaOSaOTaORaOUaORaORaORaOVaOWaOXaOWaOYaOZaPaaKYaKYaPbaPcaPdaKYaKZaKYaKYaPeaPeaIuaIuaIvaPfaJPaJPaPgaPgaPgaPgaPhaPiaPjaPkaPlaPmaPnaPmaPoaPmaPpaPkaPqaPiaPraPgaPgaPgaPgaJPaJPaPsaItaIuaIuaIIaPtaPuaKcaKcaKcaKcaPvaPwaPxaKcaIIaPyaPzaPAaINaINaINaINaPBaINaPCaINaINaIRaOmaPDaPEaPEaPEaPEaPFaOmaIRaPGaHuaPHaHwaOraOsaHwaHwaPIaDOaPJaPKaPLaDVaFXaPMaPNaPOaPOaPPaPNaPQaPRaDVaPSaPTaPUaPVaOFaPWaPXaPXaPWaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarkawLaxYawLaxZawNawNayaawLaxYawLaOJaOKaOLawNawLaOMaOMaKPaOMaKQarkaONaKSaJsaOOaOOaOPaOQaOOaORaORaORaORaORaOSaOTaORaOUaORaORaORaOVaOWaOXaOWaOYaOZaPaaKYaKYaPbaPcaPdaKYaKZaKYaKYaPeaPeaIuaIuaIvaPfaJPaJPaPgaPgaPgaPgaPhaPiaPjaPkaPlaPmaPnaPmaPoaPmaPpaPkaPqaPiaPraPgaPgaPgaPgaJPaJPaPsaItaIuaIuaIIaPtaPuaKcaKcaKcaKcaPvaPwaPxaKcaIIaPyaPzaPAaINaINaINaINaPBaINaPCaINaINaIRaOmaPDaPEaPEaPEaPEaPFaOmaIRaPGaHuaPHaHwaOraOsaHwaHwaPIaDOaPJaPKaPLaDVaFXaPMaPNaPOaPOaPPaPNaPQaPRaDVaLTaPTaPUaPVaOFaPWaPXaPXaPWaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavJaPZawNavKaOLawNawNaQaavKawNaPZaOLawNawNawNaQbaQcaQcaQcaQcaQcaQcaQcaQdaJsaOOaQeaQfaQgaQhaQiaQjaQkaQlaQmaQnaQoaQpaQqaQraQsaQtaQuaQvaQwaQxaOYaQyaPaaPaaQzaPaaQAaPeaPeaQBaQCaPeaPeaPeaQDaIuaIvaQEaaaaaaaaaaaaaaaaaaaaaaPiaQFaQGaQHaQIaQJaQKaQLaQMaQNaQOaQPaPiaaaaaaaaaaaaaaaaaaaaaaQQaItaIuaQRaIIaQSaPuaQTaKcaKcaKcaQTaKcaQUaLJaQVaKcaQWaQXaINaQYaQZaRaaRbaRcaRdaReaRfaINaOmaRgaRhaRhaRhaRhaRiaOmaIRaRjaHuaRkaRkaOraOsaRlaRlaRmaDOaDOaRnaDOaDVaRoaOzaOAaRpaRpaOBaOAaDVaDVaDVaMmaRqaRraMmaMnaMnaMnaMnaRsaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaawLaRtaRuaRuaRuaRuaRuaRuaRuaRuaRtaRuaRvawNawNaRwawNawNaRxawNaRyawNaRzaRAaRBaOOaRCaOPaRDaORaREaQnaQnaQnaQnaQnaQoaRFaQnaQnaQnaQtaOVaRGaQwaQwaOYaQyaPaaRHaRIaRIaRJaPeaRKaRLaRMaRNaROaRPaIuaIuaIvaQEaaaaaaaaaaaaaPiaPiaPiaPiaRQaRRaRSaRTaRUaRVaRWaRXaRYaRZaSaaPiaPiaPiaPiaaaaaaaaaaaaaQQaItaIuaIuaSbaKcaScaSdaSeaKcaSfaSgaSeaQUaLJaShaKcaSiaKcaSjaSkaSkaSkaSlaSmaSnaSoaSkaSpaSqaSraRhaSsaStaRhaSuaOmaIRaIUaHuaHwaHwaOraOsaHwaHwaHwaSvaSwaHwaSxaDVaKHaSyaSzaRpaRpaSAaSzaSBaDVaSCaSDaPTaSEaOFaOFaSFaPXaPXaSGaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqfaqfaSHaSIaSIaSIaSIaSIaSIaSJaqfaqfarkaSKaSLaSMaSMaSMaSNaSMaSMaSMaSOaSMaSOaOOaRCaSPaSQaORaSRaQnaQnaSSaSTaSUaSVaSSaQnaQnaQnaSWaOVaSXaSYaSZaOYaTaaPaaTbaTcaTdaTeaPeaTfaTgaThaRMaTiaTjaIuaIuaIvaJTaPhaTkaTlaPiaPiaTmaTnaToaTpaTqaTqaTraTsaTqaTtaTqaTqaTqaTuaTvaTwaTxaPiaPiaTlaTkaJOaTyaItaIuaIuaIIaTzaPuaTAaKcaKcaKcaTAaKcaQUaLJaTBaTCaKcaTDaINaSkaTEaTFaTGaTHaTIaTJaSkaTKaTLaTMaRhaTNaTOaRhaTPaTQaIRaIUaHuaTRaTRaOraOsaTSaHwaHwaTTaHwaTUaTVaDVaTWaTXaTYaRpaRpaTZaTYaFXaDVaUaaOFaPTaSEaOFaOGaUbaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9032,13 +9032,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavJavNavMavMavMavMavMavMavMavMavNavMbbWawNawNbbXbbYbbZbbZbbZbbZbbZbcabcbaOObccbbYbcdaXgaXhaXhbcebcfaXhaORaORbcgaORaYCaYDbchbciaORaZUaYGaYHaZWbcjaZWbaXbckaYHaZYbclbaZbaZbaZbcmbcnaYNbcobbeaXDbcpbcqbcrbcsbctbcubcvbbkbcwaXNbaobaobcxbcybczbcybcxbaobaoaXNbcAbcBbbubbvbcCbbxbaxbaxaYWbcDaIuaIubbAbbBaYkaYkaYkaYkaYkaYkaYkaYkbcEaYkaYkaYkaYkaYkaYkbcFbbHbbHbbHbbHbbHbbHbcGbbHbbHbbHbbHbbHbbHbbHbcHbcIbcJbcKaWNaWNaWNaWNaWNaWMaWNaWNaWNaWNaWNaWNaWNaWNaWNaWNaWNaWNbcLbcMbcNbcObcObcPaOFaOFaOFbcQaPXaPXbcQaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafawLawMawNawMawOawNawNawPawMawNawMawOawNawNawNbcRbcSbcRbcRbcRbcRbcRbcTaOOaOOaOObcTaXfaXgaYvbcUbcVbcWaXhbcXbcYbcZaORaORaORaOObbXaOOaZUaYGaYHbdaaZWbaXbdbbdcaYHaZYaYNbddbaZbaZbdebdfbdgbdhbbeaXDbdibdjbcrbcsbdkbdlbcvbdmbdnbdobdpbdqbcxbcybdrbcybcxbdqbdsbdtbdubdvbdwbdxbdxbdybdzbdAaYWbdBbdCaIubbAbbBaYkaYkbdDaYkbdEbdFbdFbdFbdGbdFbdFbdFbdHaYkaYkaYkaYkaYkaYkbdIbdJbdKbbBaYkaYkaYkaYkaYkbdLbdMbdNbdObdPaYkaYkaYkaYkaYkbdQbdRaYkaYkaYkaYkaYkaYkaYkaYkaYkaYkaYkaYkaYkbdSbdTbdUbdVbdWaOFaOFaOGbdXaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarkavJbdYavJaxZawNawNayaavJbdZavJaybbeabebbebbcRbecbedbeebefbegbcRbehbeibejbejbekbelbembenbenbeobepbenbeqbeqberbeqbesaUoaUoaUoaUobetbeubevbewbexbexbeybezbevbeAbeBbeCbaZbaZbeDbeEbeFbeGbbeaXDaYQbaibeHbbibbibeIbbibbkbeJaXNbaobaobcxbeKbeLbeMbcxbaobaoaXNbeNbeObePbeQbaxbeRbaxbeSaYWbeTbeUbeUbeVbeVbeVbeVbeVbeVbeVbeWbeXbeYbeZbfabfabeWbfbbfbbfbbfbbfbbfcbfcbfcbfdbfcbfcbfcbfcbfeaYkbdQbffbfgbfhbfibfjaYkaYkbfkbfkbflbflbflbflbflbfmbfnbfnbfnbfnaYkbfnbfobfnbfnbfpbfqbfqbfqbfqbfrbfsbftbfuaNsaafaaaaafaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafazbaqfazcatwazdazeazfbfvbfwazdatwaziazjaqfazbarkbcRbfxbfybfybfybfzbcRbfAbfBaRCaRCbcTbfCaXhaYvbfDaYybfEaXhbfFbfGbfHbfHbfIbfJbfKbfKbfLbfKbfMbfNbfObfPbfObfObfQbfRbfSbfTbfUbaZbaZbfVbfWbfXbeGbbebfYaYQbfZbgabgbbaibgcbgdbgebgfaXNbbmbanbggbbqbghbbqbgibanbbsaXNbgjbgkbglbgmbaxbgnbaxbgoaYWaXVaIubgpbeVbgqbgrbgsbgtbgubeVbgvbgwbgwbgxbgybgybgybgzbgAbgBbgCbfbbgDbgEbgEbgEbgEbgFbgGbgHbgIbgJbgIbgIbgIbgKbgLbgMbgNbgMbgObgObflbgPbgQbgRbflbgSbgTbgSbflbfmaYkbfpbfqbgUbgVbgUbfqbgWbgXbfqbgYbgZaMmaMnbhaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafawLbdYaAaaAbaAbaAbaAbaAcbdZawLaafaafaafaaabcRbhbbcRbhcbfybhdbhebcRaRCbbYbhfbhgbhhaXhaXhaXhaXhaXhaXhbhibhjbhkaRCbhlaYHaYHaYHbhmaYHaYHaYHbhnaYHaYHaYHaYHbhobhpbhqbhrbaZbaZbhsbhtbeFbeGbbebhuaYQbhvbgaaYRaYRaYRbaibhwbhxaXNbaobhybaobhzbdqbaobaobhybaoaXNbhAbhBbhCbhDbaxbeRbhEbhFbhGbhHbhIbhJbeVbhKbhLbhMbhNbhObhPbgybhQbgybhRbgybgybhSbhTbhUbhVbhWbfbbhXbgEbhXbgEbhXbhYbgEbfcbhZbhZbiabibbfgbicbfibidbiebifbigbigbflbihbiibijbikbilbimbinbflbiobfnbipbfqbiqbirbiqbisbitbitbfqbiubgZaaaaafaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabcRbivbiwbixbiybiybizbiAbbZbhgaOObiBbiCbiDbiDbiDbfKbfKbfKbiEbiFbiFbiFbiGaYHbiHbiIbiJbiKbiLbiMbiNbiOaYHbiPbiQbiRbiSbiTbiUbiVbiWbiXbiVbiYbiZbjabjbbjcbjdbjebjfbjgbjhbjibhwaYQaYQaXNbjjbcybcybjkbcybcybjjaXNaYWbjlbjmbaxbjnbaxbjobjpbjqaYWaXVaIuaIubeVbjrbjsbjtbjubjvbjwbgybjxbjybjzbjAbjAbjBbjCbjDbjEbjFbfbbhXbgEbhXbgEbhXbhYbjGbfcbjHbjIbjJbjKbfgbjLbjMbjNbjNbjNbjObjPbjQbjRbjSbjSbjSbjTbjSbjUbjVbjWbjXbjYbjZbkabkbbitbkcbkdbkebfqbiubgZbgZbgZbgZbgZaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafazbaqfazcatwazdazeazfbfvbfwazdatwaziazjaqfazbarkbcRbfxbfybfybfybfzbcRbfAbfBaRCaRCbcTbfCaXhaYvbfDaYybfEaXhbfFbfGbfHbfHbfIbfJbfKbfKbfLbfKbfMbfNbfObfPbfObfObfQbfRbfSbfTbfUbaZbaZbfVbfWbfXbeGbbebfYaYQbfZbgabgbbaibgcbgdbgebgfaXNbbmbanbggbbqbghbbqbgibanbbsaXNbgjbgkbglbgmbaxbgnbaxbgoaYWaXVaIubgpbeVbgqbgrbgsbgtbgubeVbgvbgwbgwbgxbgybgybgybgzboLbjpbgCbfbbgDbgEbgEbgEbgEbgFbgGbgHbgIbgJbgIbgIbgIbgKbgLbgMbgNbgMbgObgObflbgPbgQbgRbflbgSbgTbgSbflbfmaYkbfpbfqbgUbgVbgUbfqbgWbgXbfqbgYbgZaMmaMnbhaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafawLbdYaAaaAbaAbaAbaAbaAcbdZawLaafaafaafaaabcRbhbbcRbhcbfybhdbhebcRaRCbbYbhfbhgbhhaXhaXhaXhaXhaXhaXhbhibhjbhkaRCbhlaYHaYHaYHbhmaYHaYHaYHbhnaYHaYHaYHaYHbhobhpbhqbhrbaZbaZbhsbhtbeFbeGbbebhuaYQbhvbgaaYRaYRaYRbaibhwbhxaXNbaobhybaobhzbdqbaobaobhybaoaXNbhAbhBbhCbhDbaxbeRbhEbhFbhGbhHbhIbhJbeVbhKbhLbhMbhNbhObhPbgybhQbgybhRbgybgybhSbhTbhVbhUbhWbfbbhXbgEbhXbgEbhXbhYbgEbfcbhZbhZbiabibbfgbicbfibidbiebifbigbigbflbihbiibijbikbilbimbinbflbiobfnbipbfqbiqbirbiqbisbitbitbfqbiubgZaaaaafaaaaaaaaaaaaaaaaGbaGbaGbaGbaGbaGbaGbaGbaGbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabcRbivbiwbixbiybiybizbiAbbZbhgaOObiBbiCbiDbiDbiDbfKbfKbfKbiEbiFbiFbiFbiGaYHbiHbiIbiJbiKbiLbiMbiNbiOaYHbiPbiQbiRbiSbiTbiUbiVbiWbiXbiVbiYbiZbjabjbbjcbjdbjebjfbjgbjhbjibhwaYQaYQaXNbjjbcybcybjkbcybcybjjaXNaYWbjlbjmbaxbjnbaxbjodoNbjqaYWaXVaIuaIubeVbjrbjsbjtbjubjvbjwbgybjxbjybjzbjAbjAbjBbjCbjDbjEbjFbfbbhXbgEbhXbgEbhXbhYbjGbfcbjHbjIbjJbjKbfgbjLbjMbjNbjNbjNbjObjPbjQbjRbjSbjSbjSbjTbjSbjUbjVbjWbjXbjYbjZbkabkbbitbkcbkdbkebfqbiubgZbgZbgZbgZbgZaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabcRbkfbcRbkgbkhbkhbkibcRbkjbkkaOObklbkmbklbklbklbkmbklaOOaOOaYHaYHaYHbknaYHbiNbiNbkobiNbiNbiNbiNbiNbkpbkqbkrbksbktbkubkubkubkvbkwbkxbkybkzbkAbkBbkCbkDbkEbkFbkGbkHbkIbkJaYQaaabkKbkLbkMbkNbkMbkObkMbkPbkKaaabkQaYWbkRaYWaYWaYWaYWbkSaYWbkTaIuaIubeVbkUbjsbkVbhNbhObkWbgybhRbkXbkYbkZblablbbfbblcbldblebfbbhXblfbhXbgEbhXbhYbgEbfcbfgbfgbfgbfgbfgbjLbfiblgblhblibljblkbllblmblnblobloblpbijblqbflblrblsbltbfqblublvblwblxblyblzbfqbiublAceYblBblCblBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabcRblDblEblFbkhblGblHbcRaaaaafaafblIblIblIblIblIblIblIaaaaaablJblKblLblMblNbiNbiNbiNbiNbiNbiNbiNbiNblObhrbaZblPblQblRblSblTblUbiSblVaYNblWblXblYblZbmabmbbmbbmcbmdbmebmfbmbaafbmgbmhbkMbmibkMbmibkMbmjbmgaafbmkbmlbmmbmnbmobmpbmqbmrbmsbmtaIubmubmvbmwbmxbkVbmybmzbeVbmAbhRbkXbkZbmBbgybmCbfbbmDbmEbmFbfbbmGbmHbmIbmJbmKbmLbmKbmMbmNbmObmNbmNbmNbmPbfibmQbiebiebljbmRbmSbmTbmUbmVbmVbmWbmXbmYbflbmZblsbnabfqbnbbncbndblxbitbnebfqbiublAblAbgZbgZbgZbgZbgZbgZbgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabcRbnfbngbnhbnibcRbcRbcRaaaaaaaaablIblIblIblIblIblIblIaaaaaabnjbnkbiNbnlbnmbnmbnmbnmbnmbnmbnmbnmbnmbnnbnobnpbnqbnrbnsbntbnubhsbnvbnwbnxbnybnzbnAblZblZbmbbnBbnCbnDbnEbnFbmbaaabnGbnHbkMbnIbnJbnIbkMbnKbnGaaabnLbnMbmmbnNbmsbnObmsbnPbmsbmtaIuaIubeVbnQbjsbkVbnRbnSbeVbnTbnUbnVbnWbnXbgybnYbnZboabobbocbfbbfcbodbfcbfcbfcboeboeboeboeboeboeboeboebjLbfiblgblhblibofbogbohboibojbojbojbmWbijbokbflbolblsbombfqbonboobonbopbitboqbfqborbosbosbosbosbosbosbosbotbgZbgZbgZbgZaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablIblIblIblIblIblIblIboubovbowboxbiNbiNbiNboyboyboyboybiNbiNbiNbiNbkpbozbaZboAboBboCboDboEbhsboFbaZboGboHboIboJboKboLboMboNboOboPboQboRboSaEwboTboUboVbkMbnIbkMboWboXboYboZbpabpbbpcbpdbmsbpebmsbnPbmsbpfaIuaIubeVbpgbjsbkVbphbpibeVbpjbhRbgybpkbplbpmbpnbnTbpobppbpqbprbpsbptbgybpubpvbpwbpxbpybpzbpAbpBbpCbpDbgKbgLbpEbpFbpGbpHbpIbflbpJbojbojbpKbpLbijbpMbflbpNbpObpPbfqbpQbpRbpSbpTbpUbpVbfqbpWbpXbpXbpXbpXbpXbpXbpXbiubgZbpYbpZbgZbgZaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablIblIblIblIblIblIblIboubovbowboxbiNbiNbiNboyboyboyboybiNbiNbiNbiNbkpbozbaZboAboBboCboDboEbhsboFbaZboGboHboIboJboKbgBboMboNboOboPboQboRboSaEwboTboUboVbkMbnIbkMboWboXboYboZbpabpbbpcbpdbmsbpebmsbnPbmsbpfaIuaIubeVbpgbjsbkVbphbpibeVbpjbhRbgybpkbplbpmbpnbnTbpobppbpqbprbpsbptbgybpubpvbpwbpxbpybpzbpAbpBbpCbpDbgKbgLbpEbpFbpGbpHbpIbflbpJbojbojbpKbpLbijbpMbflbpNbpObpPbfqbpQbpRbpSbpTbpUbpVbfqbpWbpXbpXbpXbpXbpXbpXbpXbiubgZbpYbpZbgZbgZaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablIblIblIblIblIblIblIbqabqbbqabqcbqdbiNbiNbiNbiNbiNbiNbiNbiNbqeaYHaYHbqfbaZbaZbqgbqhbqibqjbhsbqkbaZbqlbqmbnzbqnbqobqpbqqbqrbqsbqtbqubqvbmbaaabqwbqwbqxbqybqzbkMbqAbqwbqwaaabqBbqCbqCbqCbqCbqCbqCbqDbqCbqEbqFbqFbeVbeVbqGbqHbqIbqJbeVbqKbhRbgybgybgybgybqLbgybqMbqNbgybgybgybqNbgybgybpvbqObqPbqQbqRbqSbqTbqUboebqVbqWbqXbqXbqYbqZbiebflbrabijbijbrbbrcbijbrdbrebrfbrfbrgbrhbrhbribgUbrjbgUbrhbfqbpXbpXbrkbrlbrmbrnbrobpXbrpbrqbrrbrsbrtbgZaaaaafaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablIblIblIblIblIblIblIbrubrvbrubrwbiNbiNbiNboyboyboyboybiNbiNbrxbryaYHbrzbaZbaZbqgbrAbntbqjbhsbaZbaZbqlbqmbrBaIuaQQbqpbrCbrDbrEbrFbrFbrGbmbaafaafbqwbqwbrHbrIbrHbqwbqwaafaafbrJbrKbrLbrMbrNbrObrPbrQbqCbrRaIuaIubrSbrTbrUbrVbrWbrXbrYbrZbsabrZbsbbrZbrZbscbrZbsdbsebrZbrZbrZbsfbsgbsgbshbqObsibqQbsjbsjbskbslboebjLbfibsmbsnbsobspbspbflbsqbsrbssbrebstbijbsubrebsvbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbsIbsJbsJbsJbsKbsLbsMbgZbsNblAbgZbgZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablIblIblIblIblIblIblIbsObovbsPbsQbiNbiNbiNbiNbiNbiNbiNbiNbiNbrxbsRaYHbsSbcmbaZbqgbaZbsTbaZbhsbaZbsUbnxbsVbrBaIuaQQbqpbmbbsWbsXbsYbsZbtabmbaaaaaaaafbqwbqwbtbbqwbqwaafaaaaaabrJbtcbtdbtebtfbtgbtgbthbtibtjaIuaIubtkbtlbhRbqMbtmbtnbtobtnbtpbtnbtqbtrbtnbtsbpqbttbgybgybgybtubtvbtvbtwbtxbtybtzbqQbtAbtBbqTbslboebfhbfibtCbtCbtDbtCbtCbflbrebrebrebrebtEbtFbgSbrebtGbtHbtIbsEbsEbtJblsbtKbtLbtMbtNbtObtPbtQbtRbtRbtSbtTbpXbtUbgZbsNblAbgZaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 5d1fc62d5f3e849ef8cf3e3656bb73b3d43d9d0c Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Fri, 11 Apr 2014 17:10:35 +0800 Subject: [PATCH 03/10] Addition --- _maps/map_files/tgstation.2.1.3.dmm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_maps/map_files/tgstation.2.1.3.dmm b/_maps/map_files/tgstation.2.1.3.dmm index 45e18ead555..826b81bca92 100644 --- a/_maps/map_files/tgstation.2.1.3.dmm +++ b/_maps/map_files/tgstation.2.1.3.dmm @@ -8901,6 +8901,7 @@ "dpi" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) "dpj" = (/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/obj/machinery/camera{c_tag = "Head of Security's Office"; dir = 4; network = list("SS13")},/turf/simulated/floor/carpet,/area/security/hos) "dpk" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/security/hos) +"dpl" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plating,/area/security/prison) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8968,7 +8969,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaajaakaalaakaalaakaamaaiaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaiajlajPajmajRajQaaqaktaaKalhaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaiahBahAahAahAahAahAahAaaKahCaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaiahBahAahAahAahAahAdplaaKahCaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaieaibahEaidaicaaqaaqaaKaiFaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahjaaiagWaaqaaqaaqaaqahkaaqaaqagVagTaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdabdabdabdaaiaaiaawaaxaaqaaqaayaazaaxaaqaataaAaaiahlaahaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 23d39a296a8635de2c37af071d5874a00d4fd290 Mon Sep 17 00:00:00 2001 From: GunHog Date: Sat, 12 Apr 2014 13:48:51 -0500 Subject: [PATCH 04/10] Switches magboot target to the CE's boots. --- code/game/gamemodes/objective_items.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 2391bf5f283..f2b5eb9ebbf 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -34,8 +34,8 @@ datum/objective_item/steal/jetpack difficulty = 3 datum/objective_item/steal/magboots - name = "a pair of magboots" - targetitem = /obj/item/clothing/shoes/magboots + name = "the chief engineer's advanced magnetic boots" + targetitem = /obj/item/clothing/shoes/magboots/advance difficulty = 5 excludefromjob = list("Chief Engineer") @@ -187,4 +187,4 @@ datum/objective_item/stack/gold datum/objective_item/stack/uranium name = "25 refined uranium bars" targetitem = /obj/item/stack/sheet/mineral/uranium - difficulty = 10 \ No newline at end of file + difficulty = 10 From da977a79e26b05d110b44c016ac31157d5b41a6e Mon Sep 17 00:00:00 2001 From: GunHog Date: Sat, 12 Apr 2014 13:51:06 -0500 Subject: [PATCH 05/10] Adds the advanced magboots. --- code/modules/clothing/shoes/magboots.dm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 7da11784949..b4931285600 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -13,7 +13,7 @@ set src in usr attack_self(usr) - attack_self(mob/user) + /obj/item/clothing/shoes/magboots/attack_self(mob/user) if(src.magpulse) src.flags &= ~NOSLIP src.slowdown = SHOES_SLOWDOWN @@ -34,4 +34,17 @@ var/state = "disabled" if(src.flags&NOSLIP) state = "enabled" - usr << "Its mag-pulse traction system appears to be [state]." \ No newline at end of file + usr << "Its mag-pulse traction system appears to be [state]." + +/obj/item/clothing/shoes/magboots/advance + desc = "Advanced magnetic boots that have a lighter magnetic pull, placing less burden on the wearer." + name = "advanced magboots" + icon_state = "advmag0" +/obj/item/clothing/shoes/magboots/advance/attack_self(mob/user) + ..() + if(src.magpulse) + icon_state = "advmag1" + src.slowdown = 1 + else + icon_state = "advmag0" + user.update_inv_shoes(0) From 1366822ec731cb01dd362d263a0311f5bc28c022 Mon Sep 17 00:00:00 2001 From: GunHog Date: Sat, 12 Apr 2014 13:53:06 -0500 Subject: [PATCH 06/10] Lets Sci make magboots! --- code/modules/research/designs.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 9829320e79c..b7aeb221939 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1904,3 +1904,12 @@ datum/design/night_vision_goggles build_type = PROTOLATHE materials = list("$metal" = 100, "$glass" = 100, "$uranium" = 1000) build_path = /obj/item/clothing/glasses/night + +datum/design/magboots + name = "Magnetic Boots" + desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." + id = "magboots" + req_tech = list("materials" = 4, "magnets" = 4, "engineering" = 5) + build_type = PROTOLATHE + materials = list("$metal" = 4500, "$silver" = 1500, "$gold" = 2500) + build_path = /obj/item/clothing/shoes/magboots From 253bb03fa857f5708c631262542fb4d124e66d52 Mon Sep 17 00:00:00 2001 From: GunHog Date: Sat, 12 Apr 2014 14:04:56 -0500 Subject: [PATCH 07/10] Adds recolored magboots for the CE. --- icons/mob/feet.dmi | Bin 9431 -> 9866 bytes icons/obj/clothing/shoes.dmi | Bin 8985 -> 7050 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index df1d62ea4894346ff9255d410ca3992efe2026e0..9683a62484733c337f152a0dafbfbecaedf22793 100644 GIT binary patch literal 9866 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 kTyG1LhO0yeYekT}--!yl&3b^hl|UeW@)x( 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

*cmf0Jf6`9kN;v- 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 diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index dea9c7e843cbe1ffe9adfe7cf7bdafc96a930523..bb4c308ca05968fb8ac52d18c98796b6c4ecc93d 100644 GIT binary patch literal 7050 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 literal 8985 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

!{_d^k*LxuuasL1C@CoPltJ@$32{&_5 z0S}$EWiBUOJ1)US>!qqLz(8Nwj{g4iF44><*xGp0vs^X^o8g>+V26nF!ATq@|8Jp| zO1=0!CN=e?cG>Zj+`0Im`1Qd%G2z*Cr*5Tl3w8q#jm5|eukGRRVz+o#?wZLG&pA)H ztn=08{j0?_@>-mjf(lg|gZKBwKZYe|{J)otSly$rSn%-Z2z#N~Y2hUY*{`2^^C&hw z8!w|t0sI4DI=v@ne)g`erEP6la5y|ns-oi0>T1#&thB0%f9}<%cvSos_7-DWzTNA^ zZi-k3HNW{r4UERbUC>F?MM3+6|81>RqogQ+x@zT8@aXGEzV2L8 zRNz-zU}5Rj+MM;umVPgQ`t+f%7rKTYDZUzROxq2w3DGZnW>Mb*-ATg27dc!#|MS|U z+4}y4d;@52=mba^s!^Jno=!#e?7gCz+NeCEzW&FLA1y}HpYa>knh$`3P0;v_o7MR{ zxiZo2%$0}bKNmmVU!zFB|8_4|T5+v{#( zb@;}dzWLYm@E8)3UR`Q8dt8NZ4GNW#T_TW~9!{t6lR$p0G8>t&vvWmGlypzXS>xlw#0}yP(2K&csLy z->`p-jmjTL%un^MHM@-AAkNP{h^Tu-^MP0P)*NC%GMsrmC2)0P(4Gf) z4qLyK2LexslNNv+825hvVO8+Y;n))Sc3)TtYGthgL}v0#O^uD!93A;kG^eO(E#bil z8nX#)^bpj0>3Kms<;^&hk#(*380zl&T-f=7IJmJ5En88XP;X1i138mO-z<(5dhA47b^vPgg(;y60q{XHny31z04#iZd)4}A zG;<6uRrje%TDRUP`%!9hr|aG|scjsVOvB4hECCq%ebKD^RVV!v6B$E|cCMw0`mx57 zjL#3^7WQFa_RS~pF3Q|bT);`XZ?$&+xXn{U*2WGJ^hGOiTad#QrmC^H~jSH2`ncTtr9_H| z9}5S4`+UQQ-y_7M%Xkwyt>E=&E0a#tmfAvzZ72D9KCYyd^oNQ10d*;B6$ygg6a#5- zyo0ShH(nS7ryLkv&bWrXLUs~=?N6{2?-h+53cplpcc*bBf491qRG*M2tm%;q}tE=G_WF3V26%?@6g5<$kzdK6D z0})PiOYDnpF51#NEDs#wM_6pm94kJ?xC?wxovq+iWx$gniOckgBt++85$%hPV!|gA z$t`nXoTVxhr7GzdNYK@F$4zLdjWrIB#g*N_>}?6#aU*kHQXQ@rLA%X1|Al+L-bUFs z2g&?c(DAd^%?H2t9*Q79<2Pc%e9x@0!a{d~(I;_*Gv$X9Tli5!eo#nVYh~X-*u5Wj z-@ffhRv2j#+6oANYc*;hmrf#gev7JYE~)dI4DF5Kvf1A;J3ey7Z`w&-*Qh=GxyPRf zBw{$^n{@-s;hGTd+}o^EX`2iibiTYG(Nz~Ve@D;VEOW`Mp5M6~U4I}MJ0Sdwm`OM@ z*&#n@1FvH(L(OtYAW=|8nF62fds{u2H=jK`jC-$g-U z9@~IKFU&=$PDlu#-(+E-+{6IFC_PMO?!D6I#qt>WpMS#JFkW!&fC@zC43>v!A87d)u5GpG8 z(%8{9#1AZee`F#li@e>y&poQ?4q3lK{#q=iZ7zTl(u-~H$kKp$k^>j4SSYj-QrEVG zMVBk0Z9!o@e<&77TL`3aXJ5^nYpW9|B-gU{@)bAuRo(LYsGo{Q8X-HNdjG8S8q2j zm>>86hq_C(S9Qd%uLhpbUA|uPgawbd!NGLp^49^Km=VL8GT9Yh1xdHF&nK+`=Jd-&&8Q}iv`^3SxUouvtj-G*aPI;xx#6Z)3q9WQSyK#gesmNua*O*a-IdD;e6SPWJZEyWlEZR?$@<1ceT59eOxH%L z7I^_aFiA{#fqP{IoL3R6M_1?sWb$n+^|SO~ZI;|ED7wP#KA?3DKrC}=H8P@6SR>f_ z1SjfSWWRRb22IMFL__}9qIB#GpBjEFX|UL@i@yC99k)B_z5pGd{E~sjMuTmkV4_k@ z7#n8$>cz~KW?21Bj9I{JfWf0DoMHopbe3B3p;NCJ*9>`Z;_rBnks|VDo|CI=jt_*j zs-g0FeDA6m&Tj1inlfhtWkIEyA3ID12L}f!sHvyt=9HD+OWhUN1P2F4gaaXo!xV1< zSur)R%XocOG}vgO5iEyBkYQDhS{_!X2G#OB6UAan*2sJjib52+WbyVL+iB04wI~Ml ze4I@!=N24<`kckcNrQvj#7atuV{F2-v|cdAe2D0T)kE?3*dl360j=l#YXOcY567_M zfXK{QU$^{z25M6E>Zci{ODAk;d1q{p{+dsebq{e=!SLdny7>h7j$%ZS@KBn8hYhvt$t^3zl8KdYMA>GQytbSOceW zUD5$|R3uW5!5}sBo2#JhO~(&>(?@pBCc9L>E-a#B^a|~9An}zW#BR&q?!pp)4m|0( z8e!sEP}Op#dqO3))3`AQSkTy_C;W#nkJuzSzpi!eX$?I9S61E2vR49$J_S6h_1IAr zMnO#2QD@*a(Xz&m`=Bm`-b^|)vN%Q45{0LI(S-DAm-l)551|~oxl`(4_21E|TQ>1h zpkBlJl_$e4f;L|T2iA!EW3hPS?Dbnlxwf>QwTY5QMW$ZK9=42AV zah3-7Pxtx&k~nl*>299Ta+U89^MR3@o)@HvB}jVq zMxvF-ZQr~>fuBeg&8dRWVy+fFxXhG#wp3qeflG@ZHKLQWjX(&>MMH((j_iAy)~WYS zv!tVn0=yJ8mYx%i&x*r|30&MM8r)MlnAg~w6Ts34gD92+1excHYhod_q#4MEsun9O zl%DILhXImhK5}%Hs$zAOaGLdL?a#-^l#>%a8>LHy#aZt++PrHAFHDa#Xn001MwRF+VC*%W(KLz_tdzH>%fR!) zs%f9tdAm0p=ctj!E{15@bQa)$F(pbL|4pl+f8~Pzq=cAV_>1^r^VT(Fdkw4YIxVe$+0 zl@6tX36q&_n2RUS|pOa($G7GR+=$+AW`)2jj zWzLO`H@=p%|D~ry-7&Arhrt3~uRQ3`2mPe)Gj9!>gtmm8H15k;L3M0cZs$7GoqFbm zB$}WKkPCKube2%v-5o2Ha)V<=98G++wp>#Vj|Tl&%V5e0OK_b;-v%ghUAI^Krl>Nt zT$h)dkFR&fi@+%uy~wt6Lt8xQot6_^qEzQGm9n(o~eXWKl(mt!iE;O~+{UrfU)p1A*9#VV}y>tkw8;J+p>qr&SKSZW1^EZuw((i zLDSQ*v9g#sH!ugoNPM*Pocf~U;^d<~hx|Sj zc#|;?pu~#MiPYi3LSdFe2>GVDiE{sd7N()t3__?GiSQ+JVI;u%UP{bPhozrCNJbNk zCgDs+LCs0s@S32w20NwJJ!@rn@my9tS4YELg_LL|Z$qT%3E&3V3rR@v{t~5yI`RTg MQPNPXerX>5e@2#qyZ`_I From 6e79a216b254f669dd251d4aa6199387d06bf415 Mon Sep 17 00:00:00 2001 From: GunHog Date: Sat, 12 Apr 2014 14:12:17 -0500 Subject: [PATCH 08/10] Adds the CE's magboots to the map. --- _maps/map_files/tgstation.2.1.3.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/tgstation.2.1.3.dmm b/_maps/map_files/tgstation.2.1.3.dmm index 05b1aae9099..f1d78360fc8 100644 --- a/_maps/map_files/tgstation.2.1.3.dmm +++ b/_maps/map_files/tgstation.2.1.3.dmm @@ -5830,7 +5830,7 @@ "cif" = (/turf/simulated/floor{dir = 2; icon_state = "neutralfull"},/area/engine/chiefs_office) "cig" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/lighter/zippo,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/weapon/stamp/ce,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{dir = 2; icon_state = "neutralfull"},/area/engine/chiefs_office) "cih" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cii" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralfull"},/area/engine/chiefs_office) +"cii" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots/advance,/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralfull"},/area/engine/chiefs_office) "cij" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/engine/chiefs_office) "cik" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering) "cil" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering) From df3fb786133fb9a004af6adc282b7d9c07c49df1 Mon Sep 17 00:00:00 2001 From: Walter0o Date: Sun, 13 Apr 2014 11:55:37 +0200 Subject: [PATCH 09/10] Fixes a critical exploit. While browsing through my server's code looking for possible exploits to fix, i noticed the following : The autolathe can be used to duplicate any and all objs. The faulty code accepts any refID from the usr without a safetycheck to see if the requested obj is in the autolathe_recipes list. This works "only" on objs because it will trigger a runtime error if the object has no material vars. The default buildcost values for obj are zero, so it always goes through the materials-check, but it would not be sufficient to plug this exploit at this point. The trivial fix is to have a check to see if the given refID is in the autolathe_recipes list, although a datum-based construction method would probably be more robust. As basically identical autolathe code appears to be used in Baycode , /tg/, /vg/, Para, and all other builds i could look at, i assumed this exploit has been undetected since Goon. And indeed, the faulty code is present in Gooncode rev4407 and has been ever since. --- code/game/machinery/autolathe.dm | 35 +++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 91fcbeb341d..f26c2414ee0 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -199,9 +199,42 @@ var/global/list/autolathe_recipes_hidden = list( \ if(href_list["make"]) var/coeff = 2 ** prod_coeff var/turf/T = get_step(src.loc, get_dir(src,usr)) - var/obj/template = locate(href_list["make"]) + + // critical exploit fix start -walter0o + var/obj/item/template = null + var/attempting_to_build = locate(href_list["make"]) + + if(!attempting_to_build) + return + + if(locate(attempting_to_build, src.L) || locate(attempting_to_build, src.LL)) // see if the requested object is in one of the construction lists, if so, it is legit -walter0o + template = attempting_to_build + + else // somebody is trying to exploit, alert admins -walter0o + + var/turf/LOC = get_turf(usr) + message_admins("[key_name_admin(usr)] tried to exploit an autolathe to duplicate [attempting_to_build] ! ([LOC ? "JMP" : "null"])", 0) + log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe to duplicate [attempting_to_build] !") + return + + // now check for legit multiplier, also only stacks should pass with one to prevent raw-materials-manipulation -walter0o + var/multiplier = text2num(href_list["multiplier"]) + if (!multiplier) multiplier = 1 + var/max_multiplier = 1 + + if(istype(template, /obj/item/stack)) // stacks are the only items which can have a multiplier higher than 1 -walter0o + var/obj/item/stack/S = template + max_multiplier = min(S.max_amount, S.m_amt?round(m_amount/S.m_amt):INFINITY, S.g_amt?round(g_amount/S.g_amt):INFINITY) // pasta from regular_win() to make sure the numbers match -walter0o + + if( (multiplier > max_multiplier) || (multiplier <= 0) ) // somebody is trying to exploit, alert admins-walter0o + + var/turf/LOC = get_turf(usr) + message_admins("[key_name_admin(usr)] tried to exploit an autolathe with multiplier set to [multiplier] on [template] ! ([LOC ? "JMP" : "null"])" , 0) + log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe with multiplier set to [multiplier] on [template] !") + return + var/power = max(2000, (template.m_amt+template.g_amt)*multiplier/5) if(src.m_amount >= template.m_amt*multiplier/coeff && src.g_amount >= template.g_amt*multiplier/coeff) busy = 1 From 229aaeb1a1d191221ef2a7b5370b4a35bf14ab9e Mon Sep 17 00:00:00 2001 From: GunHog Date: Sun, 13 Apr 2014 13:37:59 -0500 Subject: [PATCH 10/10] Updates the magboots file to Gia's changes. --- code/modules/clothing/shoes/magboots.dm | 68 ++++++++++++------------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index b4931285600..298d3eea986 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -2,49 +2,47 @@ desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." name = "magboots" icon_state = "magboots0" + var/magboot_state = "magboots" var/magpulse = 0 -// flags = NOSLIP //disabled by default + var/slowdown_off = 2 action_button_name = "Toggle Magboots" - verb/toggle() - set name = "Toggle Magboots" - set category = "Object" - set src in usr - attack_self(usr) +/obj/item/clothing/shoes/magboots/verb/toggle() + set name = "Toggle Magboots" + set category = "Object" + set src in usr + attack_self(usr) + - /obj/item/clothing/shoes/magboots/attack_self(mob/user) - if(src.magpulse) - src.flags &= ~NOSLIP - src.slowdown = SHOES_SLOWDOWN - src.magpulse = 0 - icon_state = "magboots0" - user << "You disable the mag-pulse traction system." - else - src.flags |= NOSLIP - src.slowdown = 2 - src.magpulse = 1 - icon_state = "magboots1" - user << "You enable the mag-pulse traction system." - user.update_inv_shoes(0) //so our mob-overlays update +/obj/item/clothing/shoes/magboots/attack_self(mob/user) + if(src.magpulse) + src.flags &= ~NOSLIP + src.slowdown = SHOES_SLOWDOWN + src.magpulse = 0 + icon_state = "[magboot_state]0" + user << "You disable the mag-pulse traction system." + else + src.flags |= NOSLIP + src.slowdown = slowdown_off + src.magpulse = 1 + icon_state = "[magboot_state]1" + user << "You enable the mag-pulse traction system." + user.update_inv_shoes(0) //so our mob-overlays update + - examine() - set src in view() - ..() - var/state = "disabled" - if(src.flags&NOSLIP) - state = "enabled" - usr << "Its mag-pulse traction system appears to be [state]." +/obj/item/clothing/shoes/magboots/examine() + set src in view() + ..() + var/state = "disabled" + if(src.flags&NOSLIP) + state = "enabled" + usr << "Its mag-pulse traction system appears to be [state]." + /obj/item/clothing/shoes/magboots/advance desc = "Advanced magnetic boots that have a lighter magnetic pull, placing less burden on the wearer." name = "advanced magboots" icon_state = "advmag0" -/obj/item/clothing/shoes/magboots/advance/attack_self(mob/user) - ..() - if(src.magpulse) - icon_state = "advmag1" - src.slowdown = 1 - else - icon_state = "advmag0" - user.update_inv_shoes(0) + magboot_state = "advmag" + slowdown_off = SHOES_SLOWDOWN