diff --git a/_maps/RandomRuins/StationRuins/GaxStation/ai_whale.dmm b/_maps/RandomRuins/StationRuins/GaxStation/ai_whale.dmm
index 6f0c2ebd42b7..e8175c609273 100644
--- a/_maps/RandomRuins/StationRuins/GaxStation/ai_whale.dmm
+++ b/_maps/RandomRuins/StationRuins/GaxStation/ai_whale.dmm
@@ -7,9 +7,6 @@
/turf/open/floor/plating,
/area/tcommsat/computer)
"aA" = (
-/obj/machinery/computer/ai_resource_distribution{
- dir = 8
- },
/obj/machinery/computer/security/telescreen{
dir = 8;
name = "MiniSat Camera Monitor";
@@ -42,6 +39,12 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/ai_monitored/turret_protected/ai)
+"aY" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"bb" = (
/obj/machinery/status_display/ai{
pixel_x = 32
@@ -85,6 +88,17 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"br" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/machinery/modular_computer/console/preset/netmin,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"bs" = (
/obj/machinery/light/small{
dir = 4
@@ -142,29 +156,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"cz" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
-"cE" = (
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 4
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"cH" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -202,33 +193,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"cP" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
-"cW" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
-"dG" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 6
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"dL" = (
/obj/structure/lattice,
/turf/open/space/basic,
@@ -272,6 +236,20 @@
},
/turf/open/floor/plating,
/area/tcommsat/computer)
+"ew" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"ez" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
@@ -320,27 +298,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"fl" = (
-/obj/machinery/door/airlock/highsecurity{
- id_tag = "ai_core_airlock_exterior";
- name = "AI Core";
- req_access_txt = "16"
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"fq" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
@@ -508,6 +465,20 @@
},
/turf/open/space/basic,
/area/ai_monitored/turret_protected/ai)
+"ix" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"iD" = (
/obj/machinery/light,
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
@@ -515,6 +486,25 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
+"ja" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"jc" = (
/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
/obj/effect/turf_decal/trimline/purple/filled/line/lower{
@@ -551,17 +541,20 @@
/obj/effect/turf_decal/trimline/neutral/filled/line/lower,
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
-"jN" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"jR" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space/nearstation)
+"jT" = (
+/obj/structure/ethernet_cable{
+ icon_state = "0-2"
+ },
+/obj/machinery/ai/networking{
+ label = "Computer Science - 2";
+ roundstart_connection = "Subcontroller"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jY" = (
/obj/machinery/telecomms/broadcaster/preset_right,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -633,27 +626,25 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"kM" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"kY" = (
/obj/structure/lattice,
/turf/open/space/basic,
/area/ai_monitored/turret_protected/ai)
-"la" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"lk" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
@@ -689,14 +680,6 @@
},
/turf/open/floor/circuit/telecomms/server,
/area/ai_monitored/turret_protected/ai)
-"lp" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 1;
- external_pressure_bound = 120;
- name = "server vent"
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"ly" = (
/obj/structure/cable/white{
icon_state = "2-4"
@@ -792,6 +775,21 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"mK" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nj" = (
/obj/machinery/power/apc/highcap/five_k{
areastring = "/area/tcommsat/server";
@@ -918,6 +916,30 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/solar/port/aft)
+"pP" = (
+/obj/machinery/door/airlock/highsecurity{
+ id_tag = "ai_core_airlock_exterior";
+ name = "AI Core";
+ req_access_txt = "16"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"pQ" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
dir = 1
@@ -947,9 +969,18 @@
},
/turf/open/space/basic,
/area/solar/port/aft)
-"qf" = (
-/obj/machinery/status_display/ai_core,
-/turf/open/floor/circuit/telecomms/server,
+"qd" = (
+/obj/machinery/holopad,
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
/area/ai_monitored/turret_protected/ai)
"rm" = (
/obj/machinery/power/terminal{
@@ -990,6 +1021,18 @@
},
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/aisat_interior)
+"rv" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 6
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rE" = (
/turf/closed/wall,
/area/ai_monitored/turret_protected/aisat_interior)
@@ -1125,22 +1168,6 @@
},
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"uS" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 10
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"uV" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -1407,6 +1434,24 @@
},
/turf/open/floor/circuit/telecomms/server,
/area/ai_monitored/turret_protected/ai)
+"zk" = (
+/obj/machinery/door/airlock/hatch{
+ name = "MiniSat Monitoring Room";
+ req_access_txt = "65"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"zp" = (
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
dir = 1
@@ -1454,6 +1499,13 @@
/obj/effect/turf_decal/trimline/neutral/filled/line/lower,
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"zW" = (
+/obj/machinery/status_display/ai_core,
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"Ab" = (
/obj/structure/cable/yellow{
icon_state = "2-8"
@@ -1475,6 +1527,26 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/ai_monitored/turret_protected/ai)
+"Am" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"AF" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -1494,6 +1566,18 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
+"AS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 6
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"AU" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable{
@@ -1560,6 +1644,13 @@
/obj/machinery/telecomms/processor/preset_four,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
+"BY" = (
+/obj/machinery/ai/server_cabinet/prefilled,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"Co" = (
/obj/machinery/light/small{
dir = 8
@@ -1569,9 +1660,6 @@
},
/turf/open/floor/plating,
/area/ai_monitored/storage/satellite)
-"Cr" = (
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"Ct" = (
/obj/effect/turf_decal/stripes/corner,
/obj/machinery/doorButtons/airlock_controller{
@@ -1682,8 +1770,8 @@
dir = 2;
dwidth = 2;
height = 6;
- shuttle_id = "ai_ship";
name = "ai ship bay";
+ shuttle_id = "ai_ship";
width = 5
},
/turf/open/space/basic,
@@ -1739,17 +1827,6 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"GG" = (
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"Hd" = (
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
dir = 1;
@@ -1858,6 +1935,15 @@
"Je" = (
/turf/open/space/basic,
/area/space)
+"Jj" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"Jk" = (
/obj/machinery/holopad,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -1888,10 +1974,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/ai_monitored/storage/satellite)
-"Kk" = (
-/obj/machinery/holopad,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"Kt" = (
/obj/machinery/door/airlock/external{
name = "MiniSat External Access";
@@ -2069,24 +2151,6 @@
},
/turf/open/space/basic,
/area/ai_monitored/turret_protected/aisat_interior)
-"ND" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"NK" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -2195,6 +2259,25 @@
"Pd" = (
/turf/closed/wall,
/area/tcommsat/computer)
+"Pe" = (
+/obj/machinery/door/airlock/public{
+ id_tag = "ai_core_airlock_interior"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"Pg" = (
/obj/machinery/telecomms/hub/preset,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -2328,6 +2411,17 @@
},
/turf/open/floor/plating,
/area/ai_monitored/storage/satellite)
+"RK" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 1;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"RL" = (
/obj/machinery/airalarm{
pixel_y = 24
@@ -2350,21 +2444,13 @@
},
/turf/open/floor/plating,
/area/ai_monitored/storage/satellite)
-"Sh" = (
-/obj/machinery/door/airlock/hatch{
- name = "MiniSat Monitoring Room";
- req_access_txt = "65"
+"Sj" = (
+/obj/machinery/ai/data_core/primary,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"Sk" = (
/obj/machinery/telecomms/processor/preset_one,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -2402,6 +2488,27 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/computer)
+"SZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"Tb" = (
/obj/structure/window/reinforced{
dir = 4
@@ -2415,15 +2522,6 @@
},
/turf/open/floor/circuit/green/telecomms,
/area/ai_monitored/turret_protected/ai)
-"Tj" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
-"Tu" = (
-/obj/machinery/ai/data_core/primary,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"Tv" = (
/obj/machinery/telecomms/server/presets/security,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -2462,16 +2560,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"TS" = (
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
-/obj/machinery/computer/ai_control_console{
- dir = 8
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"Um" = (
/obj/machinery/power/terminal{
dir = 4
@@ -2544,6 +2632,14 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/computer)
+"UV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"UW" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable{
@@ -2667,6 +2763,16 @@
},
/turf/open/floor/plating,
/area/tcommsat/server)
+"Xn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"Xw" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -2705,22 +2811,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"XM" = (
-/obj/machinery/door/airlock/public{
- id_tag = "ai_core_airlock_interior"
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"XN" = (
/obj/structure/frame/machine,
/turf/open/floor/circuit/green/telecomms,
@@ -2742,10 +2832,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"Ys" = (
-/obj/machinery/ai/server_cabinet/prefilled,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"YZ" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/effect/turf_decal/trimline/blue/filled/line/lower{
@@ -4364,11 +4450,11 @@ JQ
lN
fF
AF
-la
-GG
-cz
-Sh
-Tj
+Am
+ew
+ix
+zk
+UV
oA
Qi
Qi
@@ -4399,11 +4485,11 @@ RI
pD
bb
Ct
-ND
+SZ
NK
uZ
rE
-TS
+br
aA
Qi
jR
@@ -4434,7 +4520,7 @@ OM
OM
PH
PH
-fl
+pP
PH
PH
Qi
@@ -4469,7 +4555,7 @@ kY
kY
PH
XB
-uS
+ja
Ph
PH
kY
@@ -4504,7 +4590,7 @@ kY
PH
PH
PH
-XM
+Pe
PH
PH
PH
@@ -4539,7 +4625,7 @@ PH
PH
gh
lo
-cW
+kM
VJ
OB
PH
@@ -4574,7 +4660,7 @@ PH
Tb
ig
KM
-cE
+mK
td
Xw
mj
@@ -4606,10 +4692,10 @@ jR
PH
kY
PH
-Ys
-dG
+jT
+AS
uV
-qf
+zW
bV
rr
XN
@@ -4642,12 +4728,12 @@ PH
kY
PH
Dh
-jN
-cP
-Kk
-Cr
-xn
-lp
+Xn
+Jj
+qd
+aY
+rv
+RK
PH
kY
PH
@@ -4679,10 +4765,10 @@ PH
XN
ci
jn
-Tu
+Sj
ly
oW
-Ys
+BY
PH
kY
PH
diff --git a/_maps/RandomZLevels/VR/netmin_hub.dmm b/_maps/RandomZLevels/VR/netmin_hub.dmm
new file mode 100644
index 000000000000..c07991846b99
--- /dev/null
+++ b/_maps/RandomZLevels/VR/netmin_hub.dmm
@@ -0,0 +1,72096 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"ab" = (
+/obj/structure/table/reinforced,
+/obj/item/paper_bin{
+ pixel_x = 1;
+ pixel_y = 9
+ },
+/obj/item/pen{
+ pixel_y = 8
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ac" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate,
+/obj/item/crowbar,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"ae" = (
+/obj/structure/sign/poster/official/random{
+ pixel_x = -32
+ },
+/obj/machinery/vending/cola/random,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ag" = (
+/obj/structure/table/wood,
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/scientist_raid)
+"ai" = (
+/turf/closed/wall/mineral/titanium,
+/area/awaymission/vr/hub)
+"am" = (
+/obj/item/stack/ore/iron,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"an" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ao" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 6
+ },
+/obj/structure/table,
+/obj/item/melee/baton/cattleprod,
+/obj/item/electropack,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"ap" = (
+/obj/effect/decal/cleanable/blood/footprints,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"aq" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"ar" = (
+/obj/structure/table,
+/obj/structure/table,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"ax" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"az" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"aA" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/red/filled/corner,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"aE" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"aJ" = (
+/obj/structure/showcase/cyborg{
+ desc = "A stand with a deactivated combat robot attached. This seems to be an earlier model. Weren't these made illegal a long time ago?";
+ name = "ancient robot showcase"
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"aM" = (
+/obj/machinery/door/poddoor{
+ id = "nothing";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"aV" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"aW" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/bed,
+/obj/item/bedsheet/centcom,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"aY" = (
+/obj/structure/closet/l3closet/janitor,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"bc" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"bf" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/scalpel,
+/obj/item/paper/fluff/awaymissions/scientist_raid/report4,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"bk" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"bn" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 9
+ },
+/obj/machinery/button_puzzle{
+ id = "mine_button";
+ pixel_x = -23;
+ pixel_y = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"bo" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/carpet/royalblue,
+/area/awaymission/vr/combat_robot_factory)
+"bq" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"br" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"bt" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 6
+ },
+/obj/structure/table,
+/obj/machinery/recharger,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"bu" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"bv" = (
+/obj/machinery/door/airlock/command{
+ name = "Personal Quarters"
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"bx" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"by" = (
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"bA" = (
+/obj/effect/landmark/vr_spawn/vr_mission/abandoned_mine,
+/obj/machinery/light/small,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"bD" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 5
+ },
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"bG" = (
+/obj/item/flashlight/lantern,
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"bH" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"bI" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/structure/table/glass,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/item/storage/firstaid/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"bP" = (
+/turf/open/floor/plating,
+/area/awaymission/vr/hub)
+"bQ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"bS" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/drinks/bottle/cognac,
+/obj/item/storage/secure/safe/scientist_raid{
+ pixel_x = 32
+ },
+/obj/item/storage/fancy/cigarettes/cigars/havana,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"bU" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"bX" = (
+/obj/structure/table,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/obj/item/paper/fluff/awaymissions/robot_factory/classified,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"bY" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/machinery/light,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"cl" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"cn" = (
+/obj/machinery/vending/snack/random,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"co" = (
+/obj/machinery/door/airlock/science{
+ name = "Experimental Computer Science"
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"cu" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"cD" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"cJ" = (
+/obj/structure/table/wood,
+/obj/item/storage/box/matches{
+ pixel_x = -5;
+ pixel_y = 13
+ },
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/combat_robot_factory)
+"cO" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"cS" = (
+/obj/effect/turf_decal/trimline/green/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"cU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/combat_robot_factory)
+"cX" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/button_puzzle{
+ id = "mine_button";
+ pixel_x = -23;
+ pixel_y = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"cY" = (
+/obj/item/chair/stool,
+/obj/effect/decal/cleanable/blood,
+/obj/structure/spider/cocoon,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"cZ" = (
+/obj/effect/decal/remains/human,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"db" = (
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"de" = (
+/obj/effect/turf_decal/trimline/red/filled/warning,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"df" = (
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = -9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"dh" = (
+/obj/machinery/door/airlock/medical{
+ name = "Experimental Development"
+ },
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"dj" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"dm" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"dn" = (
+/mob/living/simple_animal/hostile/boss/robot_leader{
+ del_on_death = 1;
+ loot = list(/obj/effect/decal/cleanable/robot_debris,/obj/item/paper/fluff/awaymissions/robot_factory/diagnostic,/obj/item/ai_cpu/self_aware)
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"do" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad"
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"dp" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11;
+ pixel_y = 1
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"dq" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"dw" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"dB" = (
+/obj/structure/chair/comfy/brown,
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/scientist_raid)
+"dC" = (
+/obj/effect/decal/cleanable/blood/footprints,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"dD" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/obj/machinery/vending/cola/random,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"dE" = (
+/obj/structure/table/wood/poker,
+/obj/item/toy/cards/deck{
+ pixel_x = 7
+ },
+/obj/item/stack/spacecash/c200{
+ pixel_x = -3;
+ pixel_y = 10
+ },
+/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
+ pixel_x = -4;
+ pixel_y = -5
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"dJ" = (
+/obj/machinery/door/window/brigdoor/security/holding/westleft,
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/red/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"dS" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"dT" = (
+/obj/effect/decal/remains/human,
+/obj/effect/gibspawner/human,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"dZ" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ee" = (
+/obj/item/disk/puzzle{
+ id = "mine_floppy"
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"ef" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/machinery/computer{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/paper/fluff/awaymissions/robot_factory/control_message,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"ei" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"ej" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"el" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"en" = (
+/obj/machinery/door/airlock{
+ name = "Living Quarters"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"er" = (
+/obj/structure/flora/ausbushes/lavendergrass,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"ew" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/shuttle/engine/heater{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/hub)
+"ex" = (
+/obj/machinery/door/airlock{
+ name = "Personal Quarters"
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"eA" = (
+/obj/structure/closet/crate,
+/obj/item/flashlight/flare,
+/obj/item/flashlight/flare,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"eB" = (
+/obj/machinery/door/window/southright,
+/obj/effect/turf_decal/trimline/red/filled/line,
+/obj/effect/mob_spawn/human/corpse,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"eE" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"eF" = (
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"eH" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"eI" = (
+/obj/item/gem/fdiamond,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"eJ" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"eQ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 9
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/ten,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"eR" = (
+/obj/effect/decal/cleanable/robot_debris/gib,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"eU" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"eW" = (
+/obj/effect/decal/cleanable/robot_debris,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fb" = (
+/obj/structure/chair/stool{
+ pixel_y = 8
+ },
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fc" = (
+/obj/item/disk/puzzle{
+ id = "mine_armory"
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"fd" = (
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ff" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"fg" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"fi" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fk" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"fp" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 1
+ },
+/obj/structure/rack,
+/obj/item/fireaxe,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"fq" = (
+/obj/structure/table/reinforced,
+/obj/item/wrench,
+/obj/item/paper/fluff/awaymissions/robot_factory/shipment_details,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fr" = (
+/obj/effect/turf_decal/trimline/purple/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"fu" = (
+/obj/effect/mob_spawn/human/corpse/assistant,
+/obj/machinery/light,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"fv" = (
+/obj/effect/decal/cleanable/robot_debris,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/official/no_erp{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"fE" = (
+/obj/item/shield/riot,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"fG" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate,
+/obj/item/storage/backpack,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fI" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fL" = (
+/obj/effect/decal/remains/human,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"fN" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"fR" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"fU" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/obj/structure/falsewall,
+/turf/open/floor/plating,
+/area/awaymission/vr/scientist_raid)
+"fX" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/obj/structure/sign/poster/official/random{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"gb" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"gc" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"gf" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/structure/fluff/empty_sleeper{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"gi" = (
+/obj/structure/closet/crate/large,
+/obj/effect/turf_decal/delivery,
+/mob/living/simple_animal/hostile/robot/burst,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"gn" = (
+/obj/machinery/door/window/southright,
+/obj/effect/turf_decal/trimline/red/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"gp" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"gw" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 9
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/storage/box/lethalshot,
+/obj/item/storage/box/lethalshot,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"gx" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/melee/baton/loaded,
+/obj/item/disk/holodisk/combat_robot/factory_floor,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"gz" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = -9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"gC" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"gH" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"gK" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 11;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"gM" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"gQ" = (
+/obj/machinery/papershredder,
+/obj/item/shreddedpaper,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"gS" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"gT" = (
+/obj/machinery/door/airlock{
+ name = "Supervisors's Quarters"
+ },
+/obj/structure/barricade/wooden/crude,
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"gU" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"gY" = (
+/obj/structure/sign/poster/official/anti_self{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"gZ" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/suit_storage_unit/open,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"hc" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hm" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"hn" = (
+/obj/structure/sign/poster/official/random{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hq" = (
+/obj/effect/decal/cleanable/blood,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"hr" = (
+/obj/machinery/door/airlock/external,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ht" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"hu" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/structure/table/glass,
+/obj/item/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/storage/firstaid/toxin,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"hy" = (
+/obj/structure/table,
+/obj/effect/turf_decal/trimline/purple/filled/line,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"hz" = (
+/mob/living/simple_animal/hostile/robot{
+ AIStatus = 3
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hB" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 9
+ },
+/obj/structure/closet,
+/obj/item/clothing/under/rank/prisoner,
+/obj/item/clothing/shoes/sneakers/orange,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hC" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"hE" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hF" = (
+/obj/effect/spawner/structure/window/reinforced/indestructable,
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"hH" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/obj/structure/sink{
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"hM" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"hO" = (
+/obj/effect/turf_decal/trimline/secred/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"hS" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"hU" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hV" = (
+/obj/machinery/door/airlock/mining{
+ name = "Shipping"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"hZ" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ia" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ij" = (
+/mob/living/simple_animal/hostile/robot/advanced/ranged,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"ik" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 10
+ },
+/obj/structure/guncase/shotgun,
+/obj/item/gun/ballistic/shotgun/doublebarrel/lethal,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"in" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11;
+ pixel_y = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"iv" = (
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/turf_decal/trimline/green/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"iw" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"iy" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"iB" = (
+/obj/structure/curtain,
+/obj/machinery/shower,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"iD" = (
+/obj/machinery/door/airlock{
+ name = "Personal Quarters"
+ },
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"iH" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/ai_cpu/advanced,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"iJ" = (
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"iM" = (
+/obj/structure/shuttle/engine/propulsion/burst/right,
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/scientist_raid)
+"iN" = (
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"iP" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/button_puzzle{
+ id = "mine_button";
+ pixel_x = 24;
+ pixel_y = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"iQ" = (
+/obj/structure/bed,
+/obj/item/bedsheet/centcom,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/item/disk/puzzle{
+ id = "corporate_dorm"
+ },
+/turf/open/floor/wood/broken/seven,
+/area/awaymission/vr/combat_robot_factory)
+"iS" = (
+/obj/structure/table/wood,
+/obj/item/book,
+/obj/item/paper/fluff/awaymissions/robot_factory/advanced_model,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"iU" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"iZ" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/airlock/titanium,
+/turf/open/floor/plating,
+/area/awaymission/vr/scientist_raid)
+"jb" = (
+/turf/closed/indestructible/riveted,
+/area/awaymission/vr/abandoned_mine)
+"jg" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ji" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/obj/structure/fluff/empty_sleeper{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"jj" = (
+/obj/structure/bodycontainer/morgue{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"jn" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 6
+ },
+/obj/structure/closet,
+/obj/item/clothing/under/rank/prisoner,
+/obj/item/clothing/shoes/sneakers/orange,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"jr" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"jt" = (
+/obj/machinery/light,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ju" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"jx" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"jy" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"jz" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"jA" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"jB" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/obj/structure/table,
+/obj/item/reagent_containers/syringe{
+ pixel_x = 5;
+ pixel_y = -2
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/restraints/handcuffs{
+ pixel_x = -1;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"jD" = (
+/turf/closed/indestructible/rock,
+/area/awaymission/vr/abandoned_mine)
+"jE" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"jG" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"jO" = (
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"jT" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/clothing/suit/apron/surgical,
+/obj/item/clothing/mask/surgical,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"ka" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"kg" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"kl" = (
+/obj/effect/landmark/vr_spawn/vr_mission/scientist_raid,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/scientist_raid)
+"km" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"ko" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"kp" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/plating,
+/area/awaymission/vr/hub)
+"kq" = (
+/obj/effect/spawner/structure/window/reinforced/shutter,
+/obj/machinery/door/poddoor,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"ks" = (
+/mob/living/simple_animal/hostile/robot,
+/obj/structure/sign/poster/official/random{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"kv" = (
+/obj/machinery/autolathe{
+ name = "main processing assembly"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"kA" = (
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"kD" = (
+/obj/effect/mapping_helpers/dead_body_placer,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"kI" = (
+/obj/item/bedsheet,
+/obj/structure/bed,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"kJ" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"kR" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/machinery/sleeper{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"kT" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/obj/structure/rack,
+/obj/item/card/id/away{
+ desc = "An identification permitting access to all sections of corporate factories";
+ icon_state = "centcom";
+ name = "corporate ID card"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"kW" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/clothing/suit/armor/riot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/clothing/suit/armor/riot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/helmet/riot,
+/obj/item/clothing/head/helmet/riot{
+ pixel_x = 2;
+ pixel_y = -4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"lk" = (
+/obj/machinery/computer/operating,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"lr" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"ls" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"lF" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/random{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"lG" = (
+/obj/structure/sign/poster/official/do_not_question{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"lI" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 9
+ },
+/obj/structure/rack,
+/obj/item/storage/box/lethalshot,
+/obj/item/storage/box/lethalshot,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"lL" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/obj/item/paper/fluff/awaymissions/robot_factory/spider,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"lR" = (
+/turf/open/space/basic,
+/area/awaymission/vr/scientist_raid)
+"lU" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"lV" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"ma" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Quality Assurance"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"mc" = (
+/obj/machinery/door/airlock/medical{
+ name = "Discarded Research"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"me" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"mf" = (
+/obj/structure/bed,
+/obj/item/bedsheet/ian,
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"mj" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"ml" = (
+/obj/structure/kitchenspike,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"mo" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"mp" = (
+/obj/effect/spawner/structure/window/reinforced/shutter,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"mq" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"mv" = (
+/obj/effect/decal/remains/human,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"my" = (
+/turf/closed/indestructible/riveted,
+/area/awaymission/vr/hub)
+"mC" = (
+/obj/machinery/door/airlock{
+ name = "Personal Quarters"
+ },
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"mE" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"mG" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"mI" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"mL" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"mO" = (
+/obj/structure/table/glass,
+/obj/item/folder/white,
+/turf/open/floor/carpet/royalblue,
+/area/awaymission/vr/combat_robot_factory)
+"mP" = (
+/obj/structure/sink{
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"mQ" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"mT" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/chair/office{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"mU" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"mW" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"mX" = (
+/obj/item/bedsheet,
+/obj/structure/bed,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"nc" = (
+/obj/machinery/autolathe{
+ name = "tool mounting"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"nj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small,
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"nq" = (
+/obj/structure/table,
+/obj/item/storage/box/donkpockets/donkpocketpizza,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"nw" = (
+/obj/structure/curtain,
+/obj/machinery/shower,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"ny" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"nD" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/obj/structure/table,
+/obj/item/restraints/handcuffs/cable/red{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/restraints/handcuffs/cable/red{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"nF" = (
+/turf/closed/indestructible/riveted,
+/area/awaymission/vr/scientist_raid)
+"nH" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"nI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/crate/freezer/blood,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"nK" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"nN" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"nS" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/structure/bed/dogbed{
+ name = "cat bed"
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"nY" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"oa" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/effect/decal/cleanable/blood,
+/obj/machinery/light/broken,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"ob" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"of" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"oi" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/mob_spawn/human/corpse/cargo_tech,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"oj" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"om" = (
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"oq" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/hub)
+"ot" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"oE" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"oG" = (
+/obj/machinery/vending/coffee,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"oH" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"oJ" = (
+/mob/living/simple_animal/hostile/poison/giant_spider,
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"oK" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"oM" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 10
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"oP" = (
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"oR" = (
+/obj/structure/table,
+/obj/item/ai_cpu,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"oT" = (
+/turf/closed/wall,
+/area/awaymission/vr/scientist_raid)
+"oU" = (
+/mob/living/simple_animal/hostile/retaliate/clown/mutant/blob{
+ loot = list(/obj/item/clothing/mask/gas/clown_hat,/obj/effect/gibspawner/xeno/bodypartless,/obj/effect/particle_effect/fluid/foam,/obj/item/soap,/obj/effect/gibspawner/generic,/obj/effect/gibspawner/generic/animal,/obj/effect/gibspawner/human/bodypartless,/obj/effect/gibspawner/human,/obj/item/holo/esword)
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"pc" = (
+/obj/structure/window/reinforced,
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 10
+ },
+/obj/structure/bed,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"pe" = (
+/obj/effect/decal/remains/human,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"pg" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"ph" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"pk" = (
+/obj/machinery/door/poddoor{
+ id = "nothing";
+ name = "programming access"
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"pn" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"pt" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"pv" = (
+/obj/effect/decal/remains/human,
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"pw" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/ten,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"py" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"pA" = (
+/obj/effect/decal/cleanable/blood/gibs,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"pF" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/five,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"pJ" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"pK" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"pL" = (
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"pO" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 5
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"pU" = (
+/obj/machinery/conveyor{
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"pV" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"pZ" = (
+/obj/effect/decal/cleanable/robot_debris,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"qd" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"qf" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"qh" = (
+/obj/machinery/door/airlock{
+ name = "Personal Quarters"
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"qi" = (
+/obj/machinery/computer/slot_machine,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"qj" = (
+/turf/closed/wall,
+/area/awaymission/vr/combat_robot_factory)
+"qk" = (
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"qp" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"qq" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"qs" = (
+/obj/effect/turf_decal/trimline/purple/filled/line,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"qz" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"qI" = (
+/obj/structure/table,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"qK" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"qL" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"qP" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"qT" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"ra" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"rb" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"rd" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"re" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"rf" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 9
+ },
+/obj/structure/table,
+/obj/item/ai_cpu,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"rg" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"rh" = (
+/obj/item/grenade/flashbang{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"rj" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"rk" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/obj/machinery/light,
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"rs" = (
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"ru" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"rw" = (
+/obj/structure/sign/poster/official/random,
+/turf/closed/wall,
+/area/awaymission/vr/scientist_raid)
+"rE" = (
+/obj/machinery/light,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"rG" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"rH" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/obj/effect/mob_spawn/human/corpse/assistant,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"rJ" = (
+/obj/structure/window/reinforced,
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"rN" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 10
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"rO" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 10
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"rQ" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"rS" = (
+/obj/machinery/computer{
+ dir = 4;
+ name = "communications computer"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"rT" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"rZ" = (
+/mob/living/simple_animal/hostile/robot/range,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"sb" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"sd" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"sg" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/obj/structure/table/reinforced,
+/obj/item/melee/baton/loaded,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"sm" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = 1;
+ pixel_y = 9
+ },
+/obj/item/pen{
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"sq" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/button_puzzle{
+ id = "mine_button";
+ pixel_x = -23;
+ pixel_y = 1
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"sx" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/ten,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"sC" = (
+/mob/living/simple_animal/hostile/robot,
+/obj/machinery/conveyor{
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"sD" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 6
+ },
+/obj/machinery/door/window/southright,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"sF" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"sH" = (
+/obj/machinery/door/password{
+ name = "Emergency Supplies";
+ password = "Benny";
+ voice_activated = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"sL" = (
+/obj/structure/flora/ausbushes/sparsegrass,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"sO" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Sickbay"
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"sQ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 6
+ },
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"sU" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"sW" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"tc" = (
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"tf" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"th" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"tj" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/item/scalpel,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"tz" = (
+/obj/machinery/door/password/button_puzzle{
+ id = "mine_button"
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"tA" = (
+/obj/machinery/door/airlock/security{
+ name = "Cell 1"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"tB" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/robot_debris,
+/obj/structure/sign/poster/official/random{
+ pixel_x = 32
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"tC" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"tK" = (
+/obj/machinery/door/password/floppy_disk{
+ id = "mine_floppy";
+ name = "Command Centre"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"tL" = (
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"tO" = (
+/obj/structure/closet,
+/obj/item/paper/crumpled/bloody/fluff/awaymissions/scientist_raid/report5,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"tP" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/reagent_containers/blood/random,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"tQ" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/item/book/manual/wiki/medicine{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"tW" = (
+/turf/closed/indestructible/fakedoor{
+ name = "Uplink Access"
+ },
+/area/awaymission/vr/abandoned_mine)
+"tX" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"tZ" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ua" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ud" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"ue" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/door/airlock/mining{
+ name = "Storage"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"uf" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/scientist_raid)
+"ui" = (
+/obj/effect/decal/cleanable/ash/large,
+/turf/open/floor/wood/broken/four,
+/area/awaymission/vr/combat_robot_factory)
+"um" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"un" = (
+/obj/machinery/door/airlock/security{
+ name = "Organic Storage"
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"up" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/paper/fluff/awaymissions/mine_contract{
+ pixel_x = 7;
+ pixel_y = -1
+ },
+/obj/item/storage/firstaid{
+ pixel_x = -7;
+ pixel_y = -1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ut" = (
+/obj/structure/table/wood,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/paper/fluff/awaymissions/robot_factory/benny,
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"uz" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"uB" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"uC" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"uF" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"uG" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"uI" = (
+/obj/effect/decal/cleanable/blood/gibs,
+/obj/effect/turf_decal/trimline/green/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"uK" = (
+/mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"uT" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"uV" = (
+/obj/machinery/vending/snack/random,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"uZ" = (
+/obj/effect/turf_decal/trimline/red/filled/warning,
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"vb" = (
+/obj/structure/table,
+/obj/item/wrench,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"vh" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/obj/effect/turf_decal/trimline/green/filled/line,
+/obj/structure/sign/poster/contraband/lusty_xenomorph{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"vj" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"vk" = (
+/obj/machinery/anesthetic_machine/roundstart,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"vl" = (
+/obj/structure/plasticflaps,
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"vn" = (
+/obj/structure/table/wood,
+/obj/item/storage/pill_bottle/dice,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"vp" = (
+/obj/structure/chair/comfy/brown{
+ dir = 1
+ },
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/scientist_raid)
+"vq" = (
+/obj/machinery/vending/snack/random,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"vr" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"vt" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Corporate Liason Office"
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"vu" = (
+/obj/structure/table/wood,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/scientist_raid)
+"vy" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"vD" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"vF" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"vH" = (
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "crew maintenance compartment"
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/hub)
+"vP" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"vQ" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 9
+ },
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"vT" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"vV" = (
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"vW" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/structure/table,
+/obj/item/clothing/glasses/hud/health{
+ pixel_x = 1
+ },
+/obj/item/clothing/glasses/hud/health{
+ pixel_x = 7;
+ pixel_y = -5
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"vY" = (
+/obj/machinery/compsci_reciever,
+/obj/structure/table,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"vZ" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"wa" = (
+/obj/machinery/door/airlock/mining{
+ name = "Cargo"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"wh" = (
+/obj/effect/turf_decal/trimline/purple/filled/corner{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"wi" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"wk" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/paper/fluff/awaymissions/button_puzzle{
+ id = "mine_button";
+ pixel_x = -9;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"wm" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/stack/cable_coil/random/thirty,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ws" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"wy" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/obj/machinery/door/airlock/highsecurity{
+ name = "????";
+ req_access_txt = "0"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"wB" = (
+/obj/structure/showcase/mecha/ripley{
+ desc = "A stand with an experimental exploration mech attached. These were used by human exploration crews before the Corporation realized robots could do the job.";
+ name = "experimental exploration mech"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"wJ" = (
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"wL" = (
+/obj/effect/decal/cleanable/robot_debris,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"wO" = (
+/obj/structure/window/reinforced,
+/turf/open/floor/wood/broken/six,
+/area/awaymission/vr/combat_robot_factory)
+"wP" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"wQ" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"xa" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 6
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"xd" = (
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"xg" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 5
+ },
+/obj/structure/rack,
+/obj/item/clothing/suit/armor/vest,
+/obj/item/clothing/suit/armor/vest,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"xh" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"xl" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"xm" = (
+/mob/living/simple_animal/hostile/robot,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"xp" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 11;
+ pixel_y = 4
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"xr" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"xs" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Engine Room"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"xu" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"xw" = (
+/obj/machinery/door/airlock/mining{
+ name = "Storage Room"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"xx" = (
+/obj/structure/closet/secure_closet/personal,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"xE" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"xJ" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"xK" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/obj/structure/chair/office{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"xP" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"xU" = (
+/obj/structure/closet/crate,
+/obj/item/flashlight,
+/obj/item/flashlight,
+/obj/item/weldingtool,
+/obj/item/flashlight/flare,
+/obj/item/flashlight/flare,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"xY" = (
+/obj/structure/flora/ausbushes/grassybush,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"ya" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/hub)
+"yf" = (
+/obj/item/reagent_containers/food/drinks/bottle/vodka,
+/obj/structure/table,
+/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{
+ pixel_x = 10;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{
+ pixel_x = 10;
+ pixel_y = 16
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"yh" = (
+/obj/machinery/door/airlock{
+ name = "Restroom"
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"yy" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 6
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"yA" = (
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"yB" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"yC" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"yD" = (
+/obj/structure/bodycontainer/morgue,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"yE" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"yG" = (
+/obj/machinery/microwave,
+/obj/structure/table_frame,
+/obj/item/reagent_containers/food/snacks/badrecipe,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"yI" = (
+/obj/structure/closet/crate,
+/obj/effect/turf_decal/bot,
+/obj/item/paper/fluff/awaymissions/scientist_raid/report2,
+/obj/item/trash/energybar,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"yJ" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"yN" = (
+/obj/machinery/light,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"yQ" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"yR" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"yU" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"yX" = (
+/obj/structure/closet/crate/large,
+/obj/effect/turf_decal/delivery,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/storage/box/lethalshot,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"za" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"ze" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"zg" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"zh" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"zi" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"zo" = (
+/obj/item/ammo_casing/n762{
+ pixel_x = -6;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"zw" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 6
+ },
+/obj/structure/table,
+/obj/item/weldingtool/largetank,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"zx" = (
+/obj/structure/table,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"zC" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/structure/sign/poster/official/random{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"zE" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 9
+ },
+/obj/structure/closet,
+/obj/item/paper/fluff/awaymissions/scientist_raid/report3,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"zK" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"zR" = (
+/obj/structure/bed,
+/obj/item/bedsheet/cmo{
+ name = "doctors's bedsheet"
+ },
+/obj/item/reagent_containers/food/snacks/meat/slab,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"zT" = (
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"zX" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood/gibs/core,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"zZ" = (
+/turf/closed/mineral,
+/area/awaymission/vr/abandoned_mine)
+"Aa" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ad" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/machinery/compsci_reciever,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/scientist_raid)
+"Ah" = (
+/obj/structure/flora/ausbushes/ywflowers,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"Ak" = (
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/awaymission/vr/hub)
+"Am" = (
+/obj/structure/chair/stool{
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ao" = (
+/obj/effect/decal/remains/human,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"Ap" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"Aq" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate/large,
+/obj/item/kitchen/knife/combat/survival,
+/obj/item/kitchen/knife/combat/survival,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ar" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = -9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Au" = (
+/obj/structure/shuttle/engine/propulsion/burst/left,
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/scientist_raid)
+"Ax" = (
+/obj/structure/bed,
+/obj/item/bedsheet/rd,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"Az" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/healthanalyzer,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"AC" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"AF" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"AH" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"AL" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"AN" = (
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/scientist_raid)
+"AO" = (
+/obj/item/organ/tail/cat,
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/effect/decal/cleanable/blood,
+/obj/effect/decal/cleanable/blood/innards,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"AP" = (
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"AQ" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"AR" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"AT" = (
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"AV" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"AW" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"AX" = (
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Foreman's Office"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Bb" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"Bf" = (
+/mob/living/simple_animal/hostile/robot/advanced,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Bl" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green{
+ pixel_x = -6;
+ pixel_y = 10
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"Bm" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Bn" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"Bo" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Br" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Bx" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Bz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"BC" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate/medical,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"BD" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/obj/item/flashlight/lamp,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"BE" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/scientist_raid)
+"BK" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"BL" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood,
+/obj/effect/decal/cleanable/blood/innards,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"BO" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"BP" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/obj/item/toy/cards/deck{
+ pixel_x = 2
+ },
+/obj/item/fireaxe,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"BQ" = (
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"BR" = (
+/obj/effect/turf_decal/trimline/red/filled/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/red/filled/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"BT" = (
+/obj/structure/rack,
+/obj/item/flashlight,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"BU" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/structure/table,
+/obj/item/circular_saw,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"BV" = (
+/obj/structure/rack,
+/obj/item/reagent_containers/glass/bucket,
+/obj/item/storage/bag/trash,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Cc" = (
+/obj/machinery/door/airlock/medical{
+ name = "Recovery Room"
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"Ce" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Cn" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Engineering";
+ req_one_access_txt = "0"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Cv" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 5
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"CD" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"CF" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/awaymission/vr/hub)
+"CH" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 10
+ },
+/obj/structure/table,
+/obj/item/storage/box/flashbangs,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"CJ" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 1
+ },
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"CR" = (
+/obj/structure/showcase/horrific_experiment,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"CS" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 5
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/rack,
+/obj/item/melee/classic_baton/telescopic{
+ pixel_x = 4;
+ pixel_y = 7
+ },
+/obj/item/melee/classic_baton/telescopic{
+ pixel_x = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"CU" = (
+/obj/machinery/holopad/tutorial,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Da" = (
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"Dd" = (
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"Dj" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Dk" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"Dn" = (
+/obj/structure/rack,
+/obj/item/latexballon,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Do" = (
+/obj/structure/closet/crate,
+/obj/effect/turf_decal/bot,
+/obj/item/trash/sosjerky,
+/obj/item/trash/can,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Dp" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/sleeper{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Dr" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ds" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Dt" = (
+/mob/living/simple_animal/hostile/alien/drone,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Dw" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Dx" = (
+/obj/structure/toilet{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"DC" = (
+/obj/structure/table,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"DE" = (
+/obj/effect/spawner/structure/window/reinforced/shutter,
+/turf/open/floor/plating,
+/area/awaymission/vr/scientist_raid)
+"DF" = (
+/mob/living/simple_animal/hostile/poison/giant_spider,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"DG" = (
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"DI" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"DL" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"DO" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"DP" = (
+/obj/machinery/light,
+/obj/effect/turf_decal/trimline/blue/filled/line/lower,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"DS" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"Ee" = (
+/turf/open/space/basic,
+/area/awaymission/vr/combat_robot_factory)
+"Eg" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Eh" = (
+/obj/structure/table/glass,
+/obj/item/paper_bin{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/item/pen,
+/turf/open/floor/carpet/royalblue,
+/area/awaymission/vr/combat_robot_factory)
+"Eq" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Command Room"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Er" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Eu" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ew" = (
+/obj/machinery/papershredder,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"EL" = (
+/mob/living/simple_animal/hostile/alien/queen/large{
+ health = 250;
+ ranged = 0
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"EM" = (
+/obj/machinery/computer{
+ dir = 4;
+ name = "navigation computer"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"EP" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"EU" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"EW" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"EZ" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Fa" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 5
+ },
+/obj/machinery/computer/arcade/orion_trail,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Fb" = (
+/obj/structure/flora/ausbushes/leafybush,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"Fc" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/scientist_raid)
+"Ff" = (
+/mob/living/simple_animal/hostile/robot,
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Fg" = (
+/obj/structure/bed,
+/obj/item/bedsheet/ce{
+ name = "foreman's bedsheet"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/gibs/up,
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"Fi" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Fk" = (
+/obj/item/bedsheet,
+/obj/structure/bed,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Fm" = (
+/obj/structure/spider/cocoon,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Fp" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 10
+ },
+/obj/structure/ore_box,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Fq" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Fr" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Ft" = (
+/obj/structure/table,
+/obj/item/reagent_containers/food/drinks/drinkingglass{
+ pixel_x = 7;
+ pixel_y = 6
+ },
+/obj/item/reagent_containers/food/drinks/drinkingglass{
+ pixel_x = -8;
+ pixel_y = 6
+ },
+/obj/item/reagent_containers/food/drinks/drinkingglass{
+ pixel_x = -1;
+ pixel_y = 6
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"Fv" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"FB" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"FE" = (
+/mob/living/simple_animal/hostile/robot{
+ AIStatus = 3
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"FF" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 5
+ },
+/obj/structure/table,
+/obj/item/fireaxe,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"FI" = (
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"FJ" = (
+/obj/structure/showcase/cyborg{
+ desc = "A stand with the empty body of an early exploration cyborg bolted to it. The series were retired after the Company realized they never found any survivors...";
+ name = "model AX-7 exploration droid"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"FM" = (
+/obj/machinery/door/airlock/public{
+ name = "Canteen"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"FS" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/flashlight,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Ga" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Gd" = (
+/obj/effect/decal/cleanable/glass,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Gk" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"Gl" = (
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "storage compartment"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"Gu" = (
+/mob/living/simple_animal/hostile/robot/advanced,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Gw" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/machinery/sleeper{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"GF" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Doctor's Office"
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"GG" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4
+ },
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/combat_robot_factory)
+"GJ" = (
+/obj/effect/decal/cleanable/generic,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"GK" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/obj/structure/sign/poster/official/random{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"GN" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 10
+ },
+/obj/machinery/papershredder,
+/obj/effect/decal/cleanable/shreds,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"GO" = (
+/obj/structure/table,
+/obj/item/paper/fluff/awaymissions/mine_coordinates,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"GP" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/table,
+/obj/machinery/compsci_reciever,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"GU" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 5
+ },
+/obj/structure/rack,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"GY" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Ha" = (
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"Hh" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Exploration Drone Distpatch"
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"Hj" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Hn" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Sickbay"
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Ho" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Hr" = (
+/obj/structure/closet/crate/large,
+/obj/effect/turf_decal/delivery,
+/mob/living/simple_animal/hostile/robot,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Hv" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Hw" = (
+/turf/closed/wall,
+/area/awaymission/vr/abandoned_mine)
+"Hy" = (
+/obj/item/clothing/suit/armor/riot/knight{
+ armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 25, "acid" = 25, "wound" = 30)
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Hz" = (
+/obj/structure/closet,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"HA" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/mob_spawn/human/corpse/assistant,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"HB" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"HE" = (
+/obj/structure/table/wood,
+/obj/item/storage/crayons,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"HG" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green,
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/combat_robot_factory)
+"HI" = (
+/obj/structure/chair/office/dark,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"HN" = (
+/obj/effect/landmark/vr_spawn/vr_mission/abandoned_mine,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"HO" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"HS" = (
+/obj/effect/decal/cleanable/ash/large,
+/turf/open/floor/wood/broken/two,
+/area/awaymission/vr/combat_robot_factory)
+"HT" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 10
+ },
+/obj/structure/guncase/shotgun,
+/obj/item/gun/ballistic/shotgun/doublebarrel/lethal,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"HU" = (
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"HW" = (
+/obj/machinery/vending/snack/random,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Ia" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Ig" = (
+/obj/effect/decal/cleanable/cobweb,
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"Ih" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 5
+ },
+/obj/machinery/button_puzzle{
+ id = "mine_button";
+ pixel_x = 24;
+ pixel_y = 1
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Im" = (
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Ip" = (
+/obj/structure/table/glass,
+/obj/item/reagent_containers/syringe/lethal/choral,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/carpet/royalblue,
+/area/awaymission/vr/combat_robot_factory)
+"Ir" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 9
+ },
+/obj/item/storage/backpack,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Is" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Iw" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Ix" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Iz" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/machinery/light/broken{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"IA" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 6
+ },
+/obj/structure/rack,
+/obj/item/storage/firstaid/regular,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"IG" = (
+/obj/machinery/door/airlock/public{
+ name = "Breakroom"
+ },
+/obj/structure/barricade/wooden/crude,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"IN" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"IS" = (
+/turf/open/space/basic,
+/area/awaymission/vr/abandoned_mine)
+"IW" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Jb" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Jc" = (
+/obj/machinery/door/airlock/security,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Je" = (
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ji" = (
+/obj/machinery/door/password{
+ name = "Factory Floor Access";
+ password = "Zandar";
+ voice_activated = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Jj" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 6
+ },
+/obj/structure/table/glass,
+/obj/item/storage/firstaid/toxin,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Jl" = (
+/obj/effect/decal/remains/human,
+/obj/effect/decal/cleanable/blood,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Jm" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/structure/table/optable,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Jq" = (
+/obj/item/ammo_box/magazine/m45,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Jt" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ju" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Jv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
+/obj/item/screwdriver,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Jy" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"JE" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/obj/structure/table/reinforced,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"JG" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"JH" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"JI" = (
+/obj/structure/table,
+/obj/item/paper/pamphlet/away/safety_pamphlet,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"JM" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"JN" = (
+/obj/structure/chair/office/dark,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"JO" = (
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"JT" = (
+/obj/item/bedsheet,
+/obj/structure/bed,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"JY" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 10
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/twenty,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"JZ" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Kf" = (
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"Kh" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/ammo_casing/shotgun/buckshot,
+/obj/item/ammo_casing/shotgun/buckshot,
+/obj/item/gun/ballistic/shotgun/doublebarrel/lethal,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Kl" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 9
+ },
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Km" = (
+/mob/living/simple_animal/pet/dog/bullterrier{
+ dir = 4;
+ name = "Benny"
+ },
+/turf/open/floor/carpet,
+/area/awaymission/vr/combat_robot_factory)
+"Kp" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Kr" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Kt" = (
+/obj/structure/chair/office/light,
+/turf/open/floor/carpet/royalblue,
+/area/awaymission/vr/combat_robot_factory)
+"Kz" = (
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"KD" = (
+/obj/structure/table/wood,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/combat_robot_factory)
+"KG" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"KI" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"KM" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"KQ" = (
+/obj/machinery/light/small/broken,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"KW" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"KX" = (
+/obj/structure/flora/rock/pile,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Ld" = (
+/obj/structure/barricade/sandbags,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Le" = (
+/turf/open/floor/carpet/royalblue,
+/area/awaymission/vr/combat_robot_factory)
+"Lq" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Lr" = (
+/obj/structure/table,
+/obj/item/storage/toolbox,
+/turf/open/floor/plating,
+/area/awaymission/vr/hub)
+"Lt" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/structure/table,
+/obj/item/disk/holodisk/combat_robot/classified,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Lu" = (
+/obj/structure/closet,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"Lz" = (
+/obj/structure/bed,
+/obj/item/bedsheet/red,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"LF" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/scientist_raid)
+"LH" = (
+/obj/effect/decal/cleanable/blood/gibs/core,
+/mob/living/simple_animal/hostile/robot{
+ AIStatus = 3
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"LI" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"LK" = (
+/obj/structure/table,
+/obj/item/ammo_box/magazine/m45,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"LL" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/official/do_not_question{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"LQ" = (
+/obj/structure/showcase/horrific_experiment,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"LS" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/mineral/gold,
+/obj/item/stack/sheet/mineral/gold,
+/obj/item/stack/sheet/mineral/gold,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"LV" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/restraints/handcuffs,
+/obj/item/restraints/handcuffs,
+/obj/item/restraints/handcuffs,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/pen{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"LX" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"LZ" = (
+/obj/machinery/door/airlock/security{
+ name = "Cell "
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Md" = (
+/obj/machinery/door/airlock{
+ name = "Worker's Quarters"
+ },
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/structure/barricade/wooden/crude,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Me" = (
+/obj/effect/decal/cleanable/generic,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Mh" = (
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"Mn" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 9
+ },
+/obj/structure/table,
+/obj/item/paper/fluff/awaymissions/button_puzzle{
+ id = "mine_button"
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Mo" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/obj/item/paper_bin{
+ pixel_x = 1;
+ pixel_y = 9
+ },
+/obj/item/pen{
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Mr" = (
+/turf/open/space/basic,
+/area/awaymission/vr/hub)
+"Mu" = (
+/obj/effect/decal/cleanable/dirt,
+/mob/living/simple_animal/hostile/robot,
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Mv" = (
+/obj/item/paper/fluff/awaymissions/button_puzzle{
+ id = "mine_button";
+ pixel_y = -1
+ },
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"My" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/structure/bed,
+/obj/item/bedsheet/medical,
+/obj/machinery/light,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"MA" = (
+/obj/structure/flora/rock,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"MC" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"MF" = (
+/obj/structure/chair/comfy/brown,
+/turf/open/floor/carpet/blue,
+/area/awaymission/vr/combat_robot_factory)
+"ML" = (
+/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"MN" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"MQ" = (
+/obj/effect/turf_decal/trimline/purple/filled/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"MR" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner{
+ dir = 8
+ },
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"MS" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"MT" = (
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"MV" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/vending/cigarette,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"MW" = (
+/obj/machinery/door/airlock/public{
+ name = "Bathroom"
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"MY" = (
+/obj/machinery/scanner_gate{
+ desc = "A gate that disables all low-level functions of machinery passing through";
+ name = "deactivation gate"
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Nd" = (
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ni" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/machinery/iv_drip,
+/obj/item/reagent_containers/blood/OMinus,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"Nn" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"Ns" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"Nw" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"NC" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"NE" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"NF" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"NG" = (
+/obj/effect/turf_decal/trimline/purple/filled/line,
+/obj/machinery/computer/compsci_mission_selector{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"NI" = (
+/obj/effect/mob_spawn/human/corpse/cargo_tech,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"NJ" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"NM" = (
+/obj/structure/curtain,
+/obj/machinery/shower,
+/obj/item/soap/syndie,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"NN" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"NR" = (
+/mob/living/simple_animal/hostile/robot,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"NS" = (
+/obj/machinery/vending/boozeomat,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"NV" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"NW" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Ob" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Od" = (
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"Og" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Oi" = (
+/mob/living/simple_animal/hostile/robot{
+ health = 25;
+ name = "damaged combat robot"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Om" = (
+/obj/structure/table,
+/obj/item/razor,
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/item/paper/fluff/awaymissions/button_puzzle{
+ id = "mine_button";
+ pixel_x = -9;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"On" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/item/soap/deluxe,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"Ou" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Ov" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/snacks/spaghetti/beefnoodle{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/kitchen/fork{
+ pixel_x = -9;
+ pixel_y = 1
+ },
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Ow" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"OC" = (
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/structure/curtain,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"OG" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"OH" = (
+/obj/effect/decal/cleanable/blood/gibs/down,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"OI" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"OK" = (
+/obj/machinery/door/airlock/external,
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"OL" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"OO" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"OQ" = (
+/obj/effect/turf_decal/trimline/purple/filled/line,
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 11;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"OV" = (
+/obj/structure/closet/secure_closet/freezer/fridge,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"OW" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"Pa" = (
+/obj/machinery/holopad/tutorial,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Pc" = (
+/obj/structure/kitchenspike,
+/obj/effect/mapping_helpers/dead_body_placer,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"Pf" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/glass,
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Pl" = (
+/obj/machinery/autolathe{
+ name = "main body fabrication"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Pm" = (
+/obj/structure/rack,
+/obj/item/tank/internals/oxygen,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Pn" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate/large,
+/obj/effect/mob_spawn/human/corpse,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Po" = (
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "Janitorial Supplies"
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Pu" = (
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/structure/curtain,
+/obj/item/soap/deluxe,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"Pw" = (
+/obj/structure/chair/office/dark,
+/mob/living/simple_animal/hostile/robot/advanced,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Px" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Py" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
+ pixel_x = -4;
+ pixel_y = -5
+ },
+/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Pz" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/melee/classic_baton,
+/obj/item/melee/classic_baton,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"PB" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"PF" = (
+/obj/structure/barricade/security,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"PI" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/structure/shuttle/engine/heater{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/hub)
+"PK" = (
+/obj/effect/gibspawner/human,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"PN" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "Armory";
+ req_access_txt = "200"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"PO" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"PS" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/papershredder,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"PV" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/button_puzzle{
+ id = "mine_button";
+ pixel_x = 24;
+ pixel_y = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"PX" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"PY" = (
+/obj/item/bedsheet,
+/obj/structure/bed,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"PZ" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"Qa" = (
+/obj/structure/barricade/wooden/crude,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Qb" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/combat_robot_factory)
+"Qd" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"Qe" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Qi" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Qk" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 5
+ },
+/obj/machinery/suit_storage_unit/open,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Qn" = (
+/obj/machinery/door/password/floppy_disk{
+ id = "mine_armory";
+ name = "Armory"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Qq" = (
+/obj/structure/table_frame,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"Qr" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/scientist_raid)
+"Qs" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"Qt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Qw" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Qy" = (
+/obj/structure/toilet{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"Qz" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"QC" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"QF" = (
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"QK" = (
+/obj/item/ammo_box/magazine/m45,
+/obj/item/ammo_box/magazine/m45,
+/obj/structure/table,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"QO" = (
+/obj/machinery/door/airlock{
+ name = "Worker's Quarters"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"QQ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"QU" = (
+/obj/structure/closet/crate/large,
+/obj/effect/turf_decal/delivery,
+/mob/living/simple_animal/hostile/robot/range,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"QV" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"QW" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"QY" = (
+/obj/machinery/door/password/floppy_disk{
+ id = "corporate_dorm";
+ name = "Classified"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Rb" = (
+/obj/machinery/ai/server_cabinet,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Rc" = (
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"Re" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 6
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Ri" = (
+/obj/structure/rack,
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -9;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -3;
+ pixel_y = 4
+ },
+/obj/item/soap/nanotrasen,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Rj" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/paper/fluff/awaymissions/mine_robot_order,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Rl" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Rp" = (
+/mob/living/simple_animal/hostile/alien/sentinel,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Rr" = (
+/turf/open/space/basic,
+/area/space)
+"Ru" = (
+/obj/structure/sign/poster/official/random{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Rx" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"RA" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"RB" = (
+/obj/effect/landmark/vr_spawn/vr_mission/combat_robot_factory,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"RH" = (
+/obj/structure/curtain,
+/obj/machinery/shower,
+/obj/item/bikehorn/rubberducky,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"RJ" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 10
+ },
+/obj/structure/bed,
+/obj/item/bedsheet/prisoner,
+/obj/effect/decal/cleanable/vomit/old,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"RK" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/obj/effect/mob_spawn/human/corpse/assistant,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"RL" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"RM" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"RQ" = (
+/obj/machinery/door/airlock/science{
+ name = "Computer Science"
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"RR" = (
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"RS" = (
+/obj/effect/turf_decal/trimline/green/filled/line,
+/obj/structure/sign/poster/official/random{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"RV" = (
+/obj/machinery/holopad/tutorial,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"RX" = (
+/obj/structure/table,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"RZ" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Sa" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/mob/living/simple_animal/hostile/robot,
+/obj/machinery/conveyor{
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Sc" = (
+/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Sf" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 5
+ },
+/obj/structure/table,
+/obj/item/storage/box/handcuffs,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Sj" = (
+/mob/living/simple_animal/hostile/poison/giant_spider/tarantula,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Sl" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Sn" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"Sq" = (
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Sr" = (
+/obj/machinery/vending/snack,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Ss" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"St" = (
+/obj/structure/alien/weeds/node,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"SA" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"SL" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"SM" = (
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"SS" = (
+/obj/structure/barricade/sandbags,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"ST" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"SU" = (
+/obj/machinery/door/airlock/command{
+ name = "Head Researcher"
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"SV" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood/gibs/core,
+/obj/item/paper/crumpled/bloody/fluff/awaymissions/robot_factory/control_man,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"SW" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 5
+ },
+/obj/effect/mob_spawn/human/corpse,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Tf" = (
+/obj/structure/closet/crate/large,
+/obj/effect/turf_decal/delivery,
+/mob/living/simple_animal/hostile/robot,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ti" = (
+/mob/living/simple_animal/hostile/robot/advanced,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Tj" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/circular_saw,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"Tm" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"To" = (
+/obj/structure/table,
+/obj/item/camera,
+/obj/item/camera_film,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Tq" = (
+/obj/structure/barricade/sandbags,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Tr" = (
+/obj/structure/table_frame,
+/obj/effect/decal/cleanable/cobweb,
+/obj/item/kitchen/fork,
+/obj/item/kitchen/knife{
+ pixel_x = 10
+ },
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"Tu" = (
+/obj/item/ammo_casing/n762{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/obj/item/ammo_casing/n762{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Tw" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/structure/table/optable,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"Tz" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner/lower{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"TA" = (
+/obj/effect/landmark/vr_spawn,
+/obj/effect/vr_clean_master,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"TE" = (
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"TJ" = (
+/obj/structure/table,
+/obj/item/paper/fluff/awaymissions/scientist_raid/report1,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"TO" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/rack,
+/obj/item/storage/belt/bandolier,
+/obj/item/storage/belt/bandolier,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"TQ" = (
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"TR" = (
+/obj/structure/window/reinforced,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"TS" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"TY" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Ud" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"Ue" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Uk" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/hub)
+"Uo" = (
+/obj/structure/flora/tree/jungle/small{
+ pixel_x = -31;
+ pixel_y = -3
+ },
+/obj/item/bodypart/head{
+ pixel_y = -11
+ },
+/turf/open/floor/grass,
+/area/awaymission/vr/scientist_raid)
+"Up" = (
+/obj/machinery/ai/server_cabinet,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Us" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"Uw" = (
+/obj/structure/bodycontainer/morgue,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"Ux" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"UA" = (
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"UB" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"UD" = (
+/obj/structure/table,
+/obj/item/toy/talking/AI,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"UE" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"UH" = (
+/turf/closed/wall/mineral/titanium/interior,
+/area/awaymission/vr/scientist_raid)
+"UI" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"UK" = (
+/obj/machinery/door/airlock/security{
+ name = "Worker Protection Centre"
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"UL" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"UN" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"UO" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"UP" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 10
+ },
+/obj/structure/table/reinforced,
+/obj/item/restraints/handcuffs/cable/red{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/item/restraints/handcuffs/cable/red{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"UR" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"UW" = (
+/obj/structure/table,
+/obj/item/razor,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/combat_robot_factory)
+"UX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Va" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Ve" = (
+/mob/living/simple_animal/hostile/robot{
+ AIStatus = 3
+ },
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Vf" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Vh" = (
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Vj" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Vo" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Vv" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/plasteel/grimy,
+/area/awaymission/vr/combat_robot_factory)
+"Vx" = (
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Vy" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"VB" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"VC" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/clothing/head/soft,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"VE" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"VG" = (
+/obj/effect/turf_decal/trimline/purple/filled/line,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"VJ" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"VL" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"VO" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"VP" = (
+/obj/structure/table,
+/obj/item/crowbar,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"VQ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"VZ" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green{
+ pixel_x = -6;
+ pixel_y = 10
+ },
+/obj/item/paper_bin{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/item/pen{
+ pixel_x = -7;
+ pixel_y = -1
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"Wb" = (
+/obj/structure/chair/stool{
+ pixel_y = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/green/filled/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Wd" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Wf" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "Storage";
+ req_access_txt = "0"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"Wh" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Wi" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/drip{
+ pixel_x = 2;
+ pixel_y = 12
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Wm" = (
+/obj/structure/table/wood,
+/obj/machinery/microwave,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Wt" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Wv" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/ten,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Ww" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/obj/structure/closet/emcloset,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"WA" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/awaymission/vr/hub)
+"WB" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"WC" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/machinery/scanner_gate{
+ desc = "A gate that installs proprietary firmware onto any machines passing through. This one seems to have been modified.";
+ name = "corrupted programming gate"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"WG" = (
+/turf/closed/indestructible/riveted,
+/area/awaymission/vr/combat_robot_factory)
+"WH" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
+/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/structure/rack,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"WK" = (
+/obj/structure/table/wood,
+/obj/item/stack/spacecash/c500,
+/obj/item/stack/spacecash/c1000{
+ pixel_x = -1;
+ pixel_y = 10
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"WL" = (
+/obj/structure/showcase/horrific_experiment,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"WQ" = (
+/obj/structure/closet/crate,
+/obj/item/pickaxe,
+/obj/item/pickaxe,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"WS" = (
+/obj/effect/mob_spawn/human/corpse/charredskeleton,
+/obj/effect/decal/cleanable/ash/large,
+/obj/machinery/light/broken{
+ dir = 4
+ },
+/turf/open/floor/wood/broken,
+/area/awaymission/vr/combat_robot_factory)
+"WW" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"WY" = (
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/gold,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Xc" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/turf/closed/wall,
+/area/awaymission/vr/abandoned_mine)
+"Xe" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Xf" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/abandoned_mine)
+"Xg" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Xl" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"Xo" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 9
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Xp" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/hub)
+"Xq" = (
+/obj/machinery/door/airlock/mining{
+ name = "Cargo"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Xv" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Xw" = (
+/obj/machinery/door/airlock{
+ name = "Restroom"
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/abandoned_mine)
+"Xx" = (
+/obj/machinery/shower{
+ dir = 8
+ },
+/obj/item/soap/nanotrasen,
+/obj/structure/curtain,
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"XC" = (
+/obj/structure/janitorialcart,
+/obj/item/mop,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"XD" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"XF" = (
+/obj/effect/turf_decal/trimline/brown/filled/corner/lower,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"XG" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"XJ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/machinery/door/airlock/mining{
+ name = "Storage"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"XK" = (
+/obj/structure/table/optable,
+/obj/effect/decal/cleanable/blood/gibs/core,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"XL" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"XN" = (
+/obj/structure/table/wood,
+/obj/item/paper_bin{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/item/pen{
+ pixel_x = -7;
+ pixel_y = -1
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"XO" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"XQ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/conveyor{
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"XT" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower,
+/obj/structure/ore_box,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"XU" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"XW" = (
+/obj/structure/closet/crate/trashcart,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/awaymission/vr/combat_robot_factory)
+"XY" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/hand_labeler,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Ya" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"Ye" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Yg" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Yh" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 1
+ },
+/obj/structure/rack,
+/obj/item/storage/belt/bandolier,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+"Ym" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel/cafeteria,
+/area/awaymission/vr/combat_robot_factory)
+"Yo" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet,
+/obj/item/disk/holodisk/combat_robot/experiment,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"Yp" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Yr" = (
+/obj/structure/table,
+/obj/item/storage/box/donkpockets/donkpocketspicy,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/vr/hub)
+"Yu" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 6
+ },
+/obj/structure/table,
+/obj/item/reagent_containers/blood/random,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/scientist_raid)
+"Yv" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"Yz" = (
+/obj/effect/mob_spawn/human/clown/corpse,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"YB" = (
+/obj/machinery/light,
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"YF" = (
+/obj/structure/table,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"YG" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"YM" = (
+/obj/item/pickaxe,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"YR" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 4
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"YS" = (
+/turf/closed/indestructible/vault,
+/area/awaymission/vr/abandoned_mine)
+"YW" = (
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/gibs/core,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/combat_robot_factory)
+"YX" = (
+/obj/machinery/door/airlock/command{
+ name = "Policy Enforcement Office"
+ },
+/turf/open/floor/wood,
+/area/awaymission/vr/scientist_raid)
+"YZ" = (
+/obj/machinery/computer{
+ dir = 4;
+ name = "plotting computer"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/vr/hub)
+"Za" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Zm" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"Zn" = (
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"Zv" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/scientist_raid)
+"Zy" = (
+/obj/structure/sink{
+ dir = 8;
+ pixel_x = -11
+ },
+/obj/structure/mirror{
+ pixel_x = -28
+ },
+/turf/open/floor/plasteel/freezer,
+/area/awaymission/vr/scientist_raid)
+"ZA" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/table/glass,
+/obj/item/storage/firstaid/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/clothing/glasses/hud/health{
+ pixel_x = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"ZC" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ZE" = (
+/turf/closed/wall/mineral/titanium,
+/area/awaymission/vr/scientist_raid)
+"ZG" = (
+/obj/effect/turf_decal/bot,
+/obj/item/disk/holodisk/combat_robot/introduction,
+/obj/structure/closet/crate,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ZI" = (
+/obj/item/kirbyplants/photosynthetic,
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/scientist_raid)
+"ZJ" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 5
+ },
+/obj/machinery/vending/cola/random,
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/abandoned_mine)
+"ZN" = (
+/obj/effect/mob_spawn/human/corpse/nanotrasensoldier,
+/turf/open/floor/plasteel,
+/area/awaymission/vr/combat_robot_factory)
+"ZU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/white,
+/area/awaymission/vr/combat_robot_factory)
+"ZV" = (
+/obj/structure/closet/secure_closet/personal,
+/obj/effect/turf_decal/trimline/brown/filled/line/lower{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/awaymission/vr/abandoned_mine)
+"ZX" = (
+/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/vr/abandoned_mine)
+"ZZ" = (
+/obj/effect/turf_decal/trimline/secred/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/awaymission/vr/abandoned_mine)
+
+(1,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+"}
+(2,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+IS
+jD
+jD
+jD
+jD
+jD
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(3,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+TQ
+KX
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+WG
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+ZE
+ZE
+ZE
+ZE
+ZE
+ZE
+ZE
+ZE
+ZE
+ZE
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(4,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+TQ
+jD
+WG
+qj
+Ir
+fb
+pA
+KW
+Jt
+ZC
+qj
+Je
+jG
+Je
+Je
+ks
+Je
+Je
+pZ
+hU
+Je
+Bm
+mQ
+Je
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+BE
+BE
+BE
+BE
+Ad
+BE
+BE
+BE
+UH
+ZE
+Au
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(5,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+oU
+TQ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+Hw
+dj
+Hw
+dj
+Hw
+TQ
+jD
+jD
+jD
+TQ
+jD
+WG
+qj
+BP
+Am
+hU
+Je
+ap
+iv
+Md
+ap
+ap
+hc
+Je
+Je
+Je
+hU
+Je
+Je
+Je
+Je
+Bo
+Je
+qj
+Tr
+Qq
+Mh
+yG
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+BE
+BE
+BE
+BE
+BE
+BE
+BE
+BE
+BE
+Fc
+uf
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(6,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+MA
+TQ
+dj
+HN
+vY
+WQ
+dj
+TQ
+jD
+qi
+yf
+TQ
+jD
+WG
+qj
+HE
+MT
+Pa
+Bx
+Bx
+vh
+qj
+qj
+qj
+qj
+qj
+Je
+Je
+Je
+Je
+Je
+Je
+hU
+Je
+lL
+IG
+yU
+GJ
+oJ
+Vv
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+Qr
+BE
+BE
+kl
+BE
+kl
+BE
+BE
+BE
+Fc
+uf
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(7,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+iJ
+Im
+Im
+Im
+iJ
+TQ
+jD
+TQ
+TQ
+TQ
+jD
+WG
+qj
+vn
+Wb
+MT
+Je
+hU
+uI
+sH
+yQ
+eU
+Vy
+qj
+qj
+mj
+qj
+qj
+qj
+qj
+Je
+Bo
+wL
+qj
+OV
+Ns
+cn
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+BE
+BE
+BE
+BE
+BE
+BE
+BE
+BE
+BE
+Fc
+uf
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(8,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+zZ
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+dj
+xU
+Im
+bA
+dj
+TQ
+jD
+cY
+dE
+jx
+jD
+WG
+qj
+qj
+Fa
+re
+pV
+Lz
+sW
+qj
+xg
+Kh
+IA
+qj
+Dn
+KQ
+qj
+Jb
+RJ
+qj
+eF
+Je
+hU
+qj
+qj
+qj
+qj
+qj
+xK
+sF
+Ni
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+BE
+BE
+BE
+BE
+LF
+BE
+BE
+BE
+UH
+ZE
+iM
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(9,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+IS
+IS
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+Hw
+dj
+iJ
+dj
+Hw
+TQ
+jD
+Sn
+jx
+TQ
+jD
+WG
+Ee
+qj
+qj
+QO
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+To
+qj
+aA
+jn
+qj
+ju
+Bo
+Je
+qj
+dD
+sF
+of
+Cc
+qP
+RV
+My
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+ZE
+ZE
+ZE
+ZE
+iZ
+ZE
+iZ
+ZE
+ZE
+ZE
+ZE
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(10,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+PK
+Yz
+TQ
+LK
+jD
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+zZ
+jD
+Fm
+jD
+WG
+Ee
+qj
+Je
+Je
+ae
+qj
+mf
+Pu
+qj
+gw
+YW
+ik
+qj
+qj
+qj
+dJ
+mp
+qj
+Je
+xm
+Je
+mp
+mT
+Rc
+DS
+qj
+Yo
+bc
+jB
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+jz
+PO
+YG
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ya
+ya
+ya
+ya
+ya
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(11,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+jD
+IS
+jD
+IS
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+IS
+IS
+IS
+jD
+QK
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+WG
+Ee
+qj
+Je
+Je
+Je
+qj
+pg
+Km
+qj
+kW
+BL
+de
+qj
+hB
+gx
+BR
+GN
+qj
+hU
+Je
+Je
+mp
+tQ
+Ya
+vW
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+oT
+oT
+oT
+QQ
+vV
+km
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ai
+Bn
+YZ
+EM
+rS
+iU
+ai
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(12,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+ZX
+TQ
+TQ
+jD
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+zZ
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+DF
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+cZ
+jD
+WG
+Ee
+qj
+Je
+Je
+Je
+gT
+Ha
+nj
+qj
+TO
+NV
+uZ
+PN
+Fq
+fI
+Me
+qK
+Jc
+Je
+zX
+Bo
+qj
+mU
+Rc
+pn
+bI
+hu
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+zE
+IW
+UP
+Ss
+df
+gz
+oT
+jz
+PO
+VQ
+PO
+YG
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+Ig
+ar
+Tm
+Tm
+Tm
+UD
+YF
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(13,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+DF
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+IS
+IS
+jD
+TQ
+DF
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+Hy
+eI
+jD
+jD
+WG
+Ee
+qj
+qd
+Je
+bU
+qj
+ut
+fN
+qj
+CS
+tB
+AH
+qj
+MS
+Je
+Je
+uC
+mp
+Je
+Bo
+Je
+sO
+qP
+Rc
+Rc
+Rc
+gH
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+WW
+JN
+sg
+Fr
+xd
+oa
+oT
+Ss
+ac
+xd
+Pn
+Qi
+oT
+Wm
+cu
+uV
+za
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+vT
+db
+db
+db
+db
+TR
+wB
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(14,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+ee
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+IS
+IS
+jD
+jD
+jD
+zZ
+jD
+jD
+Hw
+Hw
+Hw
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+WG
+Ee
+qj
+Je
+Je
+Je
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Cv
+YR
+LV
+bt
+qj
+Je
+Je
+hU
+qj
+ax
+Ya
+Rc
+Rc
+DS
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+VE
+cO
+sD
+Ss
+xd
+zC
+oT
+Ss
+Pn
+xd
+fk
+Qi
+oT
+OG
+xd
+xd
+RS
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+vT
+db
+db
+TA
+db
+TR
+FJ
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(15,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+zZ
+TQ
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Bb
+Hw
+Bb
+Hw
+iB
+Hw
+dj
+hr
+dj
+Hw
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+qj
+Je
+Je
+Je
+qj
+UW
+mP
+ud
+cl
+qj
+zR
+qj
+qj
+qj
+qj
+qj
+qj
+fv
+Je
+Je
+mp
+yE
+Gw
+Az
+kR
+Ww
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+oT
+oT
+oT
+Ar
+Kz
+NN
+oT
+Ss
+BC
+xd
+fk
+Qi
+oT
+kA
+Sq
+xd
+cS
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ai
+vT
+db
+db
+db
+db
+QF
+Od
+ai
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(16,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+uK
+ZX
+TQ
+TQ
+TQ
+TQ
+TQ
+Qa
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+YM
+zZ
+Hw
+eQ
+mL
+pF
+mL
+pw
+ny
+JY
+Hw
+uF
+Hw
+uF
+Hw
+uF
+Hw
+ht
+SL
+mL
+Fp
+Hw
+Hw
+IS
+IS
+IS
+IS
+WG
+Ee
+qj
+Je
+Je
+hn
+yh
+TS
+tL
+tL
+fA
+qj
+AO
+EP
+iD
+bo
+Le
+yC
+qj
+Je
+hU
+bU
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+Ss
+xd
+MR
+Iz
+yB
+xd
+xd
+xd
+Qi
+oT
+Ov
+Hv
+Ix
+pK
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+gS
+Dk
+Tw
+bu
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(17,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+Hw
+xl
+Im
+Im
+eH
+Im
+Im
+sd
+Hw
+iN
+uF
+iN
+iN
+iN
+Hw
+nH
+Im
+Im
+XT
+Hw
+Hw
+IS
+IS
+IS
+IS
+WG
+qj
+qj
+qj
+xw
+qj
+qj
+qj
+qj
+RH
+On
+qj
+tj
+OC
+qj
+Kt
+Ip
+Ym
+GF
+Je
+Je
+Ru
+qj
+tC
+ab
+KI
+qj
+iS
+Fg
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+UB
+zo
+Tu
+xd
+xd
+xd
+xd
+xd
+Qi
+oT
+oT
+oT
+FM
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+mI
+by
+by
+bY
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(18,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+Hw
+OK
+OK
+Hw
+sx
+eH
+wk
+Im
+Wv
+XF
+xa
+Hw
+Om
+iN
+uF
+in
+dp
+Hw
+Qk
+gZ
+br
+Ho
+DL
+Hw
+IS
+IS
+IS
+IS
+WG
+qj
+JO
+Je
+Je
+mQ
+fG
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Eh
+mO
+XU
+mp
+Je
+Je
+Je
+AX
+OO
+fq
+RA
+qj
+Qb
+aq
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+Qw
+bk
+Yp
+Yp
+KG
+EZ
+wQ
+xd
+Qi
+Xq
+xd
+xd
+xd
+Ob
+xd
+xd
+xd
+HW
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+RL
+db
+db
+db
+db
+BK
+by
+by
+Xp
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(19,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+DF
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+jD
+jD
+Hw
+iJ
+bG
+Hw
+xl
+Im
+Im
+eH
+eH
+sd
+Hw
+Hw
+Hw
+Xc
+Xw
+Hw
+Hw
+Hw
+Hw
+Hw
+xl
+eH
+fX
+Hw
+IS
+IS
+IS
+IS
+WG
+qj
+Aq
+RB
+Pa
+RB
+JO
+qj
+Ee
+qj
+WL
+Wi
+qT
+Lt
+qj
+PS
+NJ
+nS
+qj
+Je
+Je
+Je
+mp
+OO
+Je
+Fv
+qh
+ej
+qq
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+rw
+oT
+oT
+oT
+XY
+xd
+ob
+EZ
+VB
+oT
+xd
+xd
+xd
+xd
+xd
+xd
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+mI
+by
+by
+bY
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(20,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+Sj
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+Hw
+Xf
+iJ
+OK
+xl
+Im
+eH
+Im
+Im
+Ho
+ue
+mL
+SL
+mL
+mL
+mL
+mL
+mL
+mL
+mL
+QW
+eH
+sd
+Hw
+IS
+IS
+IS
+IS
+WG
+qj
+ZG
+Je
+Je
+Je
+JO
+qj
+Ee
+qj
+CR
+pL
+CU
+Ia
+qj
+qj
+qj
+qj
+qj
+qd
+Je
+wL
+qj
+Ew
+aJ
+Hz
+qj
+nw
+eR
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+oT
+Dj
+VC
+gU
+tf
+uB
+wa
+xd
+xd
+xd
+Zv
+xd
+xd
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+PZ
+Nn
+gf
+ji
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(21,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+Hw
+bG
+iJ
+OK
+xl
+Im
+Im
+Im
+eH
+XF
+XJ
+lF
+zK
+zK
+zK
+oj
+zK
+Tz
+Im
+eH
+Im
+eH
+jt
+Hw
+IS
+IS
+IS
+IS
+WG
+qj
+JO
+qp
+Je
+Je
+GP
+qj
+Ee
+qj
+bX
+UE
+Oi
+Rl
+qj
+cU
+HG
+gQ
+kq
+Je
+xm
+hU
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+xd
+xd
+bx
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ai
+ai
+ai
+db
+db
+db
+db
+db
+ai
+ai
+ai
+ai
+ai
+ai
+ai
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(22,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+iJ
+iJ
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+Hw
+iJ
+iJ
+Hw
+Wh
+Im
+eH
+Im
+Im
+rd
+Hw
+Hw
+Hw
+en
+Hw
+Hw
+Hw
+nY
+JI
+JI
+eH
+XF
+yy
+Hw
+IS
+IS
+IS
+IS
+WG
+qj
+qj
+qj
+qj
+mj
+qj
+qj
+Ee
+qj
+qj
+ei
+pL
+Hj
+QY
+MF
+cJ
+aq
+kq
+Je
+Je
+Je
+qj
+aY
+XC
+Ri
+BV
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+oT
+oT
+Tj
+lG
+ZI
+oT
+lR
+lR
+oT
+Xo
+qI
+TJ
+WY
+oR
+oT
+xd
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ai
+db
+db
+ai
+db
+db
+db
+db
+db
+ai
+BO
+hM
+xJ
+xJ
+xJ
+rN
+ai
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(23,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+iJ
+iJ
+iJ
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+Hw
+Hw
+Hw
+Hw
+xl
+Im
+Im
+eH
+Im
+sd
+Hw
+PY
+LL
+mL
+xx
+ZV
+Hw
+xl
+vr
+JI
+Im
+sd
+Hw
+Hw
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+qj
+NW
+lr
+BT
+qj
+qj
+Ee
+qj
+qf
+pL
+Ia
+qj
+GG
+KD
+Kf
+vt
+Je
+Pa
+Je
+Po
+NW
+UA
+NW
+UA
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+Ud
+gY
+SM
+sU
+ml
+oT
+lR
+lR
+oT
+pJ
+om
+om
+om
+hy
+oT
+xd
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+RL
+db
+db
+db
+db
+ai
+hm
+Dd
+Dd
+Dd
+Dd
+wh
+AQ
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(24,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+iJ
+iJ
+iJ
+iJ
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+jD
+Hw
+nH
+Im
+eH
+Im
+Im
+el
+Hw
+Fk
+eH
+Im
+Im
+sd
+Hw
+xr
+eH
+Im
+Im
+sd
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+qj
+UA
+NW
+AC
+Pm
+qj
+Ee
+qj
+PX
+WH
+kT
+qj
+Ap
+dC
+aq
+qj
+Nd
+Je
+qp
+qj
+UA
+UA
+UA
+XW
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+Ud
+SM
+gp
+DO
+Pc
+oT
+lR
+lR
+oT
+pJ
+om
+om
+om
+VG
+oT
+xd
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+Gl
+db
+db
+db
+db
+db
+Hh
+hm
+Dd
+Dd
+Dd
+Dd
+Dd
+fr
+ya
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(25,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+TQ
+YS
+iJ
+iJ
+iJ
+iJ
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+Hw
+rb
+zK
+zK
+FS
+Zn
+sQ
+Hw
+kI
+up
+zK
+Tz
+ia
+Hw
+ot
+Im
+Im
+eH
+sd
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+qj
+fg
+UA
+UA
+bQ
+qj
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+mC
+qj
+qj
+qj
+Ji
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+LQ
+SM
+Gk
+oT
+oT
+oT
+oT
+oT
+oT
+pJ
+om
+om
+om
+VG
+RQ
+xd
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+db
+db
+db
+db
+db
+ai
+hm
+Dd
+Dd
+Dd
+Dd
+Dd
+NG
+ya
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(26,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+TQ
+TQ
+tW
+iJ
+iJ
+iJ
+iJ
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+Hw
+Hw
+Hw
+Hw
+Cn
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+nH
+sd
+Hw
+oG
+Sr
+hC
+zK
+vF
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+qj
+VP
+nq
+eA
+Xl
+qj
+Ee
+qj
+xu
+Dr
+Is
+qj
+ui
+wO
+KM
+qj
+rQ
+kJ
+kJ
+kJ
+UX
+kJ
+kJ
+kJ
+Lq
+kJ
+py
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+LQ
+SM
+Gk
+oT
+yD
+Uw
+yD
+yD
+oT
+pJ
+om
+om
+om
+VG
+oT
+Zv
+xd
+xd
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+rs
+rs
+db
+db
+db
+ai
+hm
+Dd
+Dd
+Dd
+Dd
+Dd
+fr
+ya
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(27,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+YS
+iJ
+iJ
+iJ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+Hw
+Kl
+Ou
+Ou
+an
+jb
+ka
+Br
+ST
+ST
+Br
+oM
+jb
+JT
+mX
+jb
+jb
+jb
+jb
+oi
+sb
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+qj
+rG
+Hr
+Ds
+qj
+iQ
+WS
+HS
+qj
+eW
+Je
+LS
+hU
+Je
+Sa
+XQ
+nc
+uz
+hU
+Fv
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+JH
+SM
+LI
+fU
+dm
+sU
+kD
+SM
+oT
+pJ
+om
+om
+om
+VG
+oT
+oT
+MW
+oT
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+Yr
+zx
+db
+db
+db
+ai
+hm
+Dd
+Dd
+Dd
+Dd
+Dd
+fr
+ya
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(28,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+Gu
+TQ
+TQ
+YS
+YS
+YS
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+Hw
+bD
+Sc
+Im
+wi
+jb
+AF
+Im
+Im
+Im
+Im
+gb
+jb
+jb
+jb
+jb
+Mn
+cD
+jb
+th
+rk
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+ra
+Je
+Ds
+qj
+qj
+qj
+qj
+qj
+Qt
+DG
+uz
+hU
+Je
+me
+Je
+Je
+uz
+wL
+jE
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+oT
+oT
+oT
+Wf
+oT
+oT
+Gk
+jj
+jj
+SM
+oT
+Ce
+AW
+ph
+Up
+Rb
+oT
+Zy
+zT
+zT
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+RM
+RM
+db
+db
+db
+ai
+Qs
+pt
+Uk
+Uk
+MQ
+Dd
+fr
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(29,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+Gu
+TQ
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+Hw
+Hw
+FF
+wm
+zw
+jb
+AF
+Im
+Ti
+Ti
+Im
+gb
+jb
+bn
+cX
+sq
+vj
+uT
+jb
+RK
+gb
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+ra
+Je
+zg
+jr
+um
+qj
+rQ
+Bz
+fd
+Je
+Mu
+Je
+hU
+kv
+Je
+Je
+Ff
+Jv
+Fv
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+kg
+qL
+wJ
+wJ
+vq
+oT
+Gk
+yD
+yD
+SM
+oT
+oT
+RQ
+oT
+oT
+oT
+oT
+MC
+zT
+fu
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+RL
+db
+db
+db
+Da
+ai
+ai
+ai
+ai
+ai
+Qs
+pt
+Nw
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(30,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+Gu
+TQ
+TQ
+Gu
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+Hw
+Hw
+Hw
+Hw
+jb
+AF
+Pw
+GO
+DC
+PB
+gb
+jb
+AF
+nK
+mW
+eH
+gb
+jb
+tZ
+rH
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+xh
+yX
+Je
+Tf
+eE
+qj
+dZ
+Je
+Je
+Je
+uz
+vb
+Yg
+MN
+Je
+hU
+uz
+ws
+Fv
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+wJ
+wJ
+wJ
+wJ
+OW
+oT
+LI
+vD
+SM
+SM
+oT
+xd
+xd
+xd
+oT
+lR
+oT
+zT
+zT
+zT
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+db
+db
+db
+db
+db
+ai
+kp
+kp
+kp
+ai
+ai
+ai
+ai
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(31,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+Qa
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jb
+AF
+Pw
+DC
+DC
+ua
+mG
+tz
+Er
+Ue
+aV
+Im
+gb
+tK
+JZ
+gb
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+ra
+Je
+Je
+Je
+Ds
+hV
+Ow
+Je
+hU
+wL
+Pl
+XQ
+sC
+MN
+Je
+Je
+MY
+Je
+Za
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+wJ
+wJ
+wJ
+wJ
+oT
+oT
+oT
+mc
+oT
+oT
+oT
+xd
+xd
+xd
+oT
+lR
+oT
+Xx
+oT
+Qy
+oT
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+db
+db
+db
+db
+db
+vH
+bP
+bP
+CF
+ai
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(32,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+Qa
+DF
+TQ
+TQ
+DF
+jD
+jD
+jD
+jD
+jD
+jD
+jb
+AF
+Im
+Ti
+Ti
+Im
+gb
+jb
+AF
+UI
+Im
+eH
+gb
+jb
+tZ
+ze
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+qj
+rG
+QU
+hU
+gi
+Ds
+qj
+FB
+RX
+AR
+AR
+AR
+Rx
+HB
+AR
+AR
+oH
+do
+AR
+uG
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+wJ
+xE
+Bl
+yN
+oT
+xd
+PF
+xd
+xd
+Ob
+xd
+xd
+xd
+bx
+oT
+lR
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ai
+ai
+ai
+ai
+db
+db
+db
+db
+db
+ai
+bP
+bP
+bP
+ai
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(33,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+cZ
+jD
+jD
+jD
+jD
+jb
+oE
+XO
+Im
+Im
+Im
+gb
+jb
+Ih
+PV
+iP
+Rj
+Re
+jb
+Og
+gb
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+aM
+oK
+OL
+OL
+Vj
+hE
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+vl
+qj
+ma
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+wJ
+HI
+xE
+wJ
+YX
+xd
+xd
+xd
+PF
+xd
+xd
+xd
+xd
+Do
+oT
+lR
+oT
+xY
+AP
+Ah
+Fb
+oT
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+Ft
+NS
+MV
+db
+db
+ai
+Lr
+Ak
+Ak
+ai
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(34,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+jD
+jD
+jD
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+zZ
+zZ
+jD
+TQ
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+DF
+TQ
+DF
+TQ
+jD
+jD
+jD
+jD
+jb
+jb
+WB
+UO
+UO
+Px
+mq
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+Og
+rH
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Fi
+Va
+Va
+AL
+Wd
+Va
+Va
+Va
+Va
+qz
+Wd
+Va
+Xv
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+wJ
+wJ
+XN
+wJ
+oT
+PF
+xd
+xd
+xd
+xd
+xd
+xd
+xd
+yI
+oT
+lR
+oT
+EU
+Uo
+AP
+rE
+oT
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+ai
+ai
+ai
+ai
+xs
+ai
+ai
+ai
+ai
+ai
+ai
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(35,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+jD
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+Mv
+jD
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+UL
+Xe
+Xe
+GK
+HA
+QC
+hZ
+ru
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+vk
+nI
+zh
+jT
+qj
+fR
+zX
+Je
+Je
+Je
+uz
+Ve
+TE
+Ve
+yA
+Je
+hU
+Jy
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+oT
+wJ
+lU
+oT
+oT
+oT
+oT
+oT
+co
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+oT
+AP
+AP
+er
+AP
+oT
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(36,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+jD
+jD
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+Dt
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+DF
+jD
+jD
+jb
+lI
+vZ
+HT
+jb
+Eg
+ZZ
+vZ
+Py
+CH
+Hw
+Wt
+Kr
+AV
+AV
+AV
+xP
+AV
+az
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+lk
+Rc
+Ya
+DS
+qj
+Zm
+hU
+Je
+Je
+ZN
+LH
+sm
+Je
+Je
+Je
+Je
+Je
+Jy
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+oT
+bv
+oT
+oT
+vQ
+vP
+LX
+Kp
+XG
+OI
+bf
+Jm
+BU
+oT
+lR
+lR
+lR
+oT
+Qd
+AP
+AP
+sL
+oT
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(37,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+St
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+Mv
+hF
+Yh
+qk
+tX
+jb
+rT
+qk
+qk
+qk
+tX
+Hw
+VJ
+mE
+Hw
+Hw
+Hw
+Hn
+Hw
+Hw
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+XK
+UR
+UR
+nN
+dh
+VO
+iy
+iy
+NF
+Je
+uz
+ws
+Je
+hU
+Je
+ZN
+Je
+rj
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+aW
+Ao
+gc
+oT
+CJ
+om
+Vh
+ff
+om
+Vx
+FI
+RR
+OQ
+oT
+oT
+oT
+oT
+oT
+DE
+xd
+xd
+DE
+oT
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(38,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+jD
+St
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+Qa
+Qa
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+jD
+TQ
+Sj
+hF
+rT
+qk
+tX
+Qn
+rT
+qk
+qk
+qk
+tX
+Hw
+jg
+mE
+Hw
+JM
+hH
+Us
+TY
+rO
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+HU
+bc
+jA
+ZU
+qj
+fR
+Je
+hU
+fi
+hU
+FE
+Je
+Je
+Je
+Je
+Je
+Je
+Jy
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+oT
+wJ
+NE
+Lu
+oT
+CJ
+om
+Vh
+ff
+om
+Vx
+gK
+BQ
+qs
+oT
+lV
+UN
+RZ
+UN
+UN
+UN
+Iw
+UN
+ls
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+db
+db
+db
+db
+db
+WA
+ew
+ew
+ew
+ew
+ew
+PI
+db
+db
+db
+db
+db
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(39,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+Dt
+TQ
+TQ
+Dt
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+DF
+TQ
+TQ
+TQ
+TQ
+TQ
+hF
+fp
+qk
+tX
+jb
+rT
+qk
+qk
+qk
+tX
+UK
+jg
+mE
+Hw
+Ju
+jO
+GY
+jO
+dq
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+fR
+Je
+zX
+fi
+Je
+uz
+Je
+Je
+Je
+Je
+Je
+Je
+Jy
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+oT
+oT
+ex
+oT
+oT
+oT
+CJ
+om
+Vh
+ff
+om
+om
+om
+om
+VG
+co
+wP
+xd
+xd
+xd
+xd
+AT
+xd
+df
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+ew
+ew
+ew
+ai
+ew
+oq
+oq
+oq
+oq
+oq
+oq
+oq
+ew
+ai
+ew
+ew
+ew
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(40,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+DF
+jD
+jb
+GU
+Vf
+VL
+jb
+Sf
+gM
+Pz
+gM
+VL
+Hw
+jg
+mE
+Hw
+DI
+jO
+NI
+jO
+DP
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+HO
+Qe
+Aa
+QV
+Qe
+hz
+Qe
+Qe
+Qe
+Aa
+Eu
+Qe
+iw
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+oT
+NM
+Dx
+oT
+rf
+XG
+XD
+om
+XD
+om
+om
+om
+om
+om
+VG
+oT
+Sl
+bq
+bq
+bq
+bq
+bq
+EW
+xd
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+ai
+oq
+oq
+oq
+ai
+oq
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+oq
+ai
+oq
+oq
+oq
+ai
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(41,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+Dt
+TQ
+TQ
+EL
+TQ
+TQ
+TQ
+St
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+jb
+jb
+jb
+jb
+jb
+Hw
+tA
+Hw
+LZ
+Hw
+Hw
+jg
+mE
+Hw
+ZJ
+Dp
+ZA
+Dp
+Jj
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+wy
+qj
+pk
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+nF
+oT
+oT
+oT
+oT
+iH
+om
+om
+om
+om
+om
+om
+om
+om
+om
+VG
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+wP
+xd
+YB
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(42,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+St
+TQ
+TQ
+TQ
+TQ
+TQ
+Rp
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+Hw
+pe
+pe
+Hw
+dT
+fL
+Hw
+jg
+yJ
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+pL
+pL
+bH
+Dw
+pL
+Yv
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+oT
+pO
+AW
+AW
+AW
+AW
+AW
+AW
+ph
+tP
+tP
+Yu
+oT
+lR
+lR
+lR
+lR
+lR
+oT
+Tq
+Ld
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(43,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+Dt
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+Qa
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+Hw
+dT
+pv
+Hw
+Jl
+dT
+Hw
+jg
+mE
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+pL
+pL
+pL
+Dw
+pL
+pU
+pU
+Yv
+bH
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+oT
+oT
+oT
+oT
+un
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+oT
+tc
+Ga
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(44,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+IS
+IS
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+Hw
+mv
+dT
+Hw
+pe
+pe
+Hw
+jg
+mE
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+yR
+pL
+pL
+NR
+pL
+Dw
+pL
+NR
+pL
+WC
+Xg
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+NC
+pc
+ko
+Ye
+oT
+lR
+lR
+lR
+oT
+oT
+oT
+oT
+dB
+vu
+vp
+wJ
+oT
+rh
+xd
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(45,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jD
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+St
+TQ
+TQ
+TQ
+TQ
+St
+TQ
+TQ
+jD
+IS
+IS
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+jg
+mE
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+bH
+pL
+pL
+pL
+oP
+bH
+pL
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+WW
+eB
+hS
+dw
+oT
+lR
+lR
+lR
+oT
+Ax
+hq
+oT
+dB
+ag
+vp
+wJ
+oT
+wP
+xd
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(46,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jD
+jD
+TQ
+TQ
+jD
+TQ
+TQ
+TQ
+Dt
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+IS
+IS
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+Hw
+bG
+iJ
+iJ
+OK
+mo
+mo
+aE
+hO
+mE
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+pL
+pL
+NR
+bH
+NR
+pL
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+vy
+Pf
+Gd
+dw
+oT
+lR
+lR
+lR
+oT
+OH
+xp
+bv
+AN
+AN
+AN
+wJ
+SU
+wP
+xd
+gC
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(47,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jD
+Mv
+TQ
+TQ
+Qa
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+Hw
+Xf
+iJ
+iJ
+OK
+Qz
+Qz
+Qz
+Qz
+SA
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+SS
+SS
+SS
+pL
+SS
+SS
+SS
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+zi
+pc
+xd
+dw
+oT
+lR
+lR
+lR
+oT
+tO
+wJ
+oT
+wJ
+wJ
+wJ
+wJ
+oT
+Sl
+CD
+Ux
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(48,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jD
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+TQ
+TQ
+jD
+jD
+jD
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+Hw
+iJ
+bG
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+SS
+rZ
+bH
+pL
+pL
+rZ
+SS
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+WW
+gn
+xd
+nD
+oT
+lR
+lR
+lR
+oT
+oT
+oT
+oT
+VZ
+WK
+bS
+wJ
+oT
+oT
+oT
+oT
+oT
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(49,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+Hw
+iJ
+iJ
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+yR
+pL
+pL
+pL
+pL
+pL
+pL
+bH
+pL
+pL
+Xg
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+SW
+rJ
+cO
+ao
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(50,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+jD
+jD
+jD
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+TQ
+zZ
+TQ
+TQ
+jD
+jD
+Hw
+OK
+OK
+Hw
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+bH
+pL
+pL
+Bf
+pL
+Bf
+pL
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+oT
+oT
+oT
+oT
+oT
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(51,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+fE
+TQ
+Jq
+zZ
+YM
+TQ
+jD
+jD
+jD
+TQ
+TQ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+pL
+bH
+pL
+pL
+pL
+pL
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+oT
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(52,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+jD
+jD
+fc
+cZ
+am
+TQ
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+YM
+TQ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+pL
+dS
+pL
+Bf
+pL
+dS
+pL
+bH
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(53,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+Qa
+Qa
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+jD
+jD
+Jq
+TQ
+am
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+zZ
+zZ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+Bf
+qj
+pL
+pL
+pL
+qj
+Bf
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(54,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+jD
+jD
+am
+cZ
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+bH
+Vo
+pL
+pL
+pL
+Vo
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+lR
+my
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+Mr
+my
+"}
+(55,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+Sn
+am
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+yR
+pL
+pL
+pL
+ij
+pL
+ij
+pL
+pL
+pL
+Xg
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+nF
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+my
+"}
+(56,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+bH
+pL
+pL
+pL
+dn
+pL
+bH
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(57,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+pL
+pL
+pL
+pL
+pL
+pL
+pL
+pL
+pL
+pL
+pL
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(58,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+Eq
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(59,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+jD
+jD
+TQ
+TQ
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+rg
+XL
+XL
+XL
+JG
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(60,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+TQ
+TQ
+TQ
+TQ
+jD
+TQ
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+eJ
+pL
+ML
+pL
+jy
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(61,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+TQ
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+jD
+jD
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+ei
+oP
+SV
+bH
+Ia
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(62,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+JE
+Mo
+ef
+BD
+IN
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(63,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+qj
+qj
+qj
+qj
+qj
+qj
+qj
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(64,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+jD
+jD
+jD
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+IS
+WG
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+Ee
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(65,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+jb
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+WG
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(66,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(67,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(68,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(69,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(70,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(71,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(72,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(73,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(74,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(75,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(76,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(77,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(78,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(79,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(80,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(81,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(82,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(83,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(84,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(85,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(86,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(87,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(88,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(89,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(90,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(91,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(92,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(93,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(94,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(95,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(96,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(97,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(98,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(99,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(100,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(101,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(102,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(103,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(104,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(105,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(106,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(107,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(108,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(109,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(110,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(111,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(112,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(113,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(114,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(115,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(116,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(117,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(118,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(119,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(120,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(121,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(122,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(123,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(124,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(125,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(126,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(127,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(128,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(129,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(130,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(131,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(132,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(133,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(134,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(135,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(136,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(137,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(138,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(139,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(140,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(141,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(142,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(143,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(144,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(145,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(146,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(147,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(148,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(149,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(150,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(151,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(152,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(153,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(154,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(155,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(156,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(157,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(158,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(159,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(160,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(161,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(162,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(163,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(164,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(165,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(166,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(167,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(168,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(169,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(170,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(171,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(172,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(173,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(174,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(175,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(176,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(177,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(178,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(179,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(180,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(181,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(182,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(183,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(184,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(185,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(186,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(187,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(188,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(189,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(190,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(191,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(192,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(193,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(194,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(195,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(196,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(197,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(198,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(199,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(200,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(201,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(202,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(203,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(204,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(205,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(206,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(207,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(208,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(209,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(210,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(211,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(212,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(213,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(214,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(215,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(216,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(217,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(218,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(219,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(220,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(221,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(222,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(223,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(224,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(225,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(226,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(227,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(228,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(229,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(230,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(231,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(232,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(233,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(234,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(235,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(236,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(237,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(238,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(239,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(240,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(241,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(242,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(243,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(244,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(245,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(246,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(247,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(248,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(249,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(250,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(251,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(252,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(253,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(254,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
+(255,1,1) = {"
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+Rr
+"}
diff --git a/_maps/map_files/AsteroidStation/AsteroidStation.dmm b/_maps/map_files/AsteroidStation/AsteroidStation.dmm
index 5e942fba0263..e0acd6fd0e4a 100644
--- a/_maps/map_files/AsteroidStation/AsteroidStation.dmm
+++ b/_maps/map_files/AsteroidStation/AsteroidStation.dmm
@@ -1113,12 +1113,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/satellite)
-"akg" = (
-/obj/machinery/computer/ai_resource_distribution{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"akh" = (
/turf/closed/wall/r_wall,
/area/science/storage)
@@ -1264,6 +1258,12 @@
"alD" = (
/turf/open/floor/carpet,
/area/library)
+"alE" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"alH" = (
/obj/effect/turf_decal/trimline/white/filled/line/lower{
dir = 9
@@ -1484,9 +1484,6 @@
/obj/item/reagent_containers/food/drinks/drinkingglass,
/turf/open/floor/wood,
/area/hallway/secondary/entry)
-"amR" = (
-/turf/closed/wall/r_wall,
-/area/ai_monitored/secondarydatacore)
"ana" = (
/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
/turf/open/floor/plasteel,
@@ -1672,12 +1669,6 @@
},
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"aoX" = (
-/obj/machinery/computer/ai_control_console{
- dir = 1
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"aoZ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -2916,13 +2907,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aAn" = (
-/obj/structure/frame/machine{
- anchored = 1;
- state = 2
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"aAq" = (
/obj/structure/closet/crate,
/obj/effect/spawner/lootdrop/maintenance/two,
@@ -5046,18 +5030,6 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"aTm" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
-/obj/machinery/requests_console{
- department = "AI";
- departmentType = 5;
- pixel_x = 0;
- pixel_y = -32
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"aTp" = (
/turf/closed/wall,
/area/security/checkpoint/supply)
@@ -5733,10 +5705,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"aZV" = (
-/obj/machinery/ai/data_core,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"aZW" = (
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
@@ -7202,15 +7170,6 @@
},
/turf/open/floor/plasteel,
/area/storage/tech)
-"bzt" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"bzD" = (
/obj/effect/turf_decal/stripes,
/turf/open/floor/engine,
@@ -7282,26 +7241,6 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"bBq" = (
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_exterior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -7;
- pixel_y = -24;
- req_one_access_txt = "30;70"
- },
-/obj/machinery/doorButtons/airlock_controller{
- idExterior = "secondary_aicore_exterior";
- idInterior = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Console";
- pixel_x = 6;
- pixel_y = -26;
- req_one_access_txt = "30;70"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/secondarydatacore)
"bBt" = (
/turf/open/water/safe,
/area/space/nearstation)
@@ -7494,6 +7433,15 @@
/obj/structure/janitorialcart,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"bET" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"bFc" = (
/obj/structure/sign/poster/random,
/turf/closed/wall/r_wall,
@@ -9926,6 +9874,15 @@
/obj/machinery/vending/gifts,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"crX" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 1
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"cse" = (
/obj/structure/disposalpipe/segment{
dir = 2
@@ -10751,14 +10708,6 @@
/obj/effect/turf_decal/tile/green,
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
-"cEO" = (
-/obj/structure/closet/secure_closet/RD,
-/obj/item/circuitboard/computer/ai_upload_download,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/heads/hor)
"cEX" = (
/obj/machinery/door/firedoor/border_only{
dir = 4
@@ -11214,10 +11163,6 @@
},
/turf/open/floor/carpet/blue,
/area/crew_quarters/heads/captain)
-"cMI" = (
-/obj/item/stack/cable_coil,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"cNa" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/white,
@@ -11765,23 +11710,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"cWk" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/obj/machinery/camera{
- c_tag = "AI Chamber - Fore";
- dir = 4;
- network = list("aicore")
- },
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = -32;
- pixel_y = 0
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"cWr" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
dir = 8
@@ -13714,12 +13642,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
-"dEj" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 1
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"dEx" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -13767,6 +13689,27 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"dFc" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
+ dirx = 2;
+ diry = 1
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/command/glass{
+ id_tag = "secondary_aicore_interior";
+ name = "Physical Core Access";
+ req_one_access_txt = "30, 70"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacoreserver)
"dFy" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -14130,15 +14073,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plating,
/area/maintenance/port)
-"dLt" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"dLy" = (
/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
dir = 8
@@ -14321,6 +14255,18 @@
},
/turf/open/floor/wood,
/area/medical/psych)
+"dOc" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "ai_core_airlock_interior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = -23;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dOd" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
@@ -14822,15 +14768,6 @@
},
/turf/open/floor/carpet/red,
/area/bridge)
-"dTL" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"dTM" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 4
@@ -16286,6 +16223,19 @@
/obj/item/toy/beach_ball/holoball,
/turf/open/floor/plasteel,
/area/security/prison)
+"epK" = (
+/obj/machinery/power/apc{
+ areastring = "/area/science/server";
+ dir = 4;
+ name = "Server Room APC";
+ pixel_x = 24
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/science/explab)
"epY" = (
/obj/structure/cloth_curtain{
color = "#99ccff"
@@ -16454,13 +16404,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"erD" = (
-/obj/structure/frame/machine{
- anchored = 1;
- state = 2
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"erI" = (
/obj/structure/chair/stool/bar,
/obj/effect/decal/cleanable/dirt,
@@ -17187,6 +17130,25 @@
},
/turf/open/floor/plasteel/white,
/area/science/explab)
+"eEq" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
+ dirx = -2;
+ diry = -1
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/airlock/command/glass{
+ id_tag = "secondary_aicore_exterior";
+ name = "Physical Core Access";
+ req_one_access_txt = "30;70"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"eEw" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -18083,13 +18045,12 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
-"eQt" = (
-/obj/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/manifold/general/visible{
- dir = 1
+"eQu" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
},
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"eQv" = (
/turf/open/floor/wood,
/area/security/courtroom)
@@ -19237,6 +19198,9 @@
/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"fhe" = (
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fhh" = (
/obj/effect/landmark/start/botanist,
/obj/effect/turf_decal/trimline/green/filled/line/lower{
@@ -19923,6 +19887,14 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"fuA" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"fuC" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -21897,6 +21869,12 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"gda" = (
+/obj/machinery/atmospherics/pipe/simple/general/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/ai_monitored/secondarydatacoreserver)
"gdp" = (
/obj/structure/closet/firecloset/full,
/turf/open/floor/plasteel,
@@ -21961,6 +21939,13 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
+"gdS" = (
+/obj/structure/frame/machine{
+ anchored = 1;
+ state = 2
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"gdX" = (
/obj/machinery/computer/station_alert,
/turf/open/floor/plasteel/dark,
@@ -22685,27 +22670,6 @@
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
-"grc" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
- dirx = 2;
- diry = 1
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/airlock/command/glass{
- id_tag = "secondary_aicore_interior";
- name = "Physical Core Access";
- req_one_access_txt = "30, 70"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"gry" = (
/obj/machinery/mineral/ore_redemption{
input_dir = 2;
@@ -23472,6 +23436,15 @@
/obj/effect/turf_decal/trimline/secred/filled/line/lower,
/turf/open/floor/plasteel,
/area/security/checkpoint/science)
+"gEa" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 8
+ },
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"gEd" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -23726,6 +23699,12 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
+"gHW" = (
+/obj/machinery/atmospherics/pipe/manifold/general/hidden{
+ dir = 1
+ },
+/turf/closed/wall/r_wall,
+/area/ai_monitored/secondarydatacoreserver)
"gIh" = (
/obj/machinery/camera{
c_tag = "Vacant Office";
@@ -23952,16 +23931,6 @@
/obj/structure/sign/poster/official/build,
/turf/closed/wall/r_wall,
/area/crew_quarters/heads/chief)
-"gLy" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"gLA" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -25407,29 +25376,6 @@
/mob/living/carbon/monkey/punpun,
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
-"hik" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_exterior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -8;
- pixel_y = -24;
- req_one_access_txt = "30;70"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"hio" = (
/obj/structure/table/reinforced,
/obj/structure/window/reinforced{
@@ -27211,18 +27157,6 @@
},
/turf/open/floor/carpet/blue,
/area/crew_quarters/heads/captain)
-"hJg" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/light{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 4;
- external_pressure_bound = 120;
- name = "server vent"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"hJG" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -27697,25 +27631,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/aft)
-"hQM" = (
-/obj/machinery/power/apc{
- areastring = "/area/science/server";
- dir = 4;
- name = "Server Room APC";
- pixel_x = 24
- },
-/obj/machinery/power/apc/highcap{
- areastring = "/area/ai_monitored/secondarydatacore";
- dir = 4;
- name = "AI Secondary Datacore";
- pixel_x = 24
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes{
- dir = 5
- },
-/turf/open/floor/engine,
-/area/science/explab)
"hQU" = (
/obj/effect/turf_decal/trimline/brown/filled/line/lower{
dir = 8
@@ -29140,6 +29055,12 @@
},
/turf/open/floor/plasteel/white,
/area/medical/surgery)
+"iqE" = (
+/obj/machinery/atmospherics/pipe/simple/general/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/ai_monitored/secondarydatacoreserver)
"iqF" = (
/obj/item/stack/ore/iron,
/obj/effect/turf_decal/trimline/brown/filled/line/lower{
@@ -29876,10 +29797,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
-"iCL" = (
-/obj/machinery/computer/ai_resource_distribution,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"iDf" = (
/obj/effect/turf_decal/trimline/atmos/warning/lower{
dir = 4
@@ -30018,6 +29935,13 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"iFp" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"iFF" = (
/obj/effect/turf_decal/trimline/neutral/filled/line/lower{
dir = 1
@@ -30090,15 +30014,6 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
-"iGM" = (
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "0-8"
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"iGT" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30358,6 +30273,15 @@
},
/turf/open/floor/plasteel,
/area/escapepodbay)
+"iKT" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"iLf" = (
/obj/structure/flora/ausbushes/ywflowers,
/turf/open/floor/grass,
@@ -30405,6 +30329,12 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/hfr)
+"iLV" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"iMn" = (
/obj/structure/grille,
/obj/machinery/meter{
@@ -30633,15 +30563,6 @@
},
/turf/open/floor/grass,
/area/hydroponics/garden)
-"iQl" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"iQm" = (
/obj/structure/window/reinforced/tinted,
/obj/structure/toilet{
@@ -31577,6 +31498,10 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"jcW" = (
+/obj/structure/cable/white,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"jcY" = (
/obj/effect/turf_decal/tile/darkgreen{
dir = 1
@@ -32228,6 +32153,20 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/maintenance/starboard/fore)
+"jlj" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 8;
+ network = list("aicore")
+ },
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"jlo" = (
/obj/structure/flora/ausbushes/ywflowers,
/obj/machinery/hydroponics/soil,
@@ -32793,6 +32732,12 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"jsH" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jtz" = (
/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
dir = 4
@@ -32844,6 +32789,18 @@
},
/turf/open/floor/plasteel,
/area/storage/primary)
+"juM" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"juN" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 1
@@ -32961,16 +32918,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel/dark,
/area/science/server)
-"jwC" = (
-/obj/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"jwI" = (
/obj/machinery/light{
dir = 4
@@ -33186,12 +33133,6 @@
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
/area/hallway/primary/central)
-"jBI" = (
-/obj/machinery/atmospherics/pipe/simple/general/hidden{
- dir = 10
- },
-/turf/closed/wall/r_wall,
-/area/ai_monitored/secondarydatacore)
"jBS" = (
/obj/structure/rack,
/obj/item/soap/deluxe,
@@ -33365,15 +33306,6 @@
/obj/effect/turf_decal/trimline/purple/filled/corner/lower,
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"jDN" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"jDR" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -33858,12 +33790,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
-"jMk" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"jMl" = (
/obj/structure/closet/secure_closet/freezer/cream_pie,
/obj/effect/turf_decal/stripes/line{
@@ -33901,14 +33827,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"jMP" = (
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 8
- },
-/obj/structure/window/reinforced,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"jMR" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 1
@@ -34710,6 +34628,16 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/starboard/aft)
+"jZF" = (
+/obj/structure/frame/machine{
+ anchored = 1;
+ state = 2
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jZH" = (
/obj/machinery/nuclearbomb/beer,
/turf/open/floor/plating,
@@ -35742,21 +35670,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/security/prison)
-"krq" = (
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "ai_core_airlock_interior";
- idSelf = "ai_core_airlock_control";
- pixel_x = -23;
- pixel_y = 7
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 1
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"krt" = (
/obj/machinery/door/firedoor/border_only{
dir = 8
@@ -36518,12 +36431,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"kDQ" = (
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 4
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"kDU" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -36893,6 +36800,29 @@
/obj/item/radio/off,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
+"kKp" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "secondary_aicore_exterior";
+ idSelf = "secondary_aicore_controller";
+ name = "Secondary AI Core Access Button";
+ pixel_x = -8;
+ pixel_y = -24;
+ req_one_access_txt = "30;70"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacoreserver)
"kKq" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
@@ -37589,6 +37519,15 @@
/obj/effect/turf_decal/trimline/neutral/filled/line/lower,
/turf/open/floor/plasteel,
/area/hallway/primary/port)
+"kXt" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"kXB" = (
/obj/machinery/computer/pandemic,
/obj/effect/turf_decal/trimline/green/filled/line/lower{
@@ -39361,6 +39300,10 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
+"lFi" = (
+/obj/machinery/porta_turret/ai,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"lFr" = (
/mob/living/simple_animal/cockroach{
desc = "Virtually unkillable.";
@@ -39529,15 +39472,6 @@
},
/turf/open/space/basic,
/area/space)
-"lJE" = (
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 8
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"lJM" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -40101,6 +40035,16 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"lRC" = (
+/obj/machinery/light,
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Aft";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/machinery/porta_turret/ai,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"lRL" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -40763,6 +40707,13 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"maC" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"maT" = (
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel/dark,
@@ -41524,6 +41475,14 @@
},
/turf/open/floor/plasteel,
/area/security/execution/transfer)
+"mnm" = (
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 9;
+ pixel_y = -10
+ },
+/turf/closed/wall/r_wall,
+/area/ai_monitored/turret_protected/ai)
"mnq" = (
/obj/structure/flora/ausbushes/reedbush,
/turf/open/floor/grass,
@@ -41655,6 +41614,15 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
+"moU" = (
+/obj/machinery/airalarm/tcomms{
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"moX" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -42112,6 +42080,15 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plating/asteroid,
/area/space/nearstation)
+"mxb" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"mxe" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
@@ -42377,13 +42354,6 @@
dir = 1
},
/area/engine/engineering)
-"mAn" = (
-/obj/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"mAp" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 1
@@ -43030,6 +43000,27 @@
},
/turf/open/floor/plasteel,
/area/security/execution/transfer)
+"mJA" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 6
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "secondary_aicore_interior";
+ idSelf = "secondary_aicore_controller";
+ name = "Secondary AI Core Access Button";
+ pixel_x = -24;
+ pixel_y = -7;
+ req_one_access_txt = "30;70"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacoreserver)
"mJD" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod Three";
@@ -43324,12 +43315,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"mNw" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"mNK" = (
/obj/machinery/recharge_station,
/turf/open/floor/plasteel/dark,
@@ -43645,6 +43630,10 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"mSC" = (
+/obj/structure/lattice/catwalk,
+/turf/closed/wall/r_wall,
+/area/ai_monitored/turret_protected/ai)
"mSV" = (
/obj/machinery/light,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -43978,38 +43967,12 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
-"mYn" = (
-/obj/machinery/power/apc/highcap{
- dir = 8;
- name = "AI Chamber APC";
- pixel_x = -25
- },
-/obj/structure/cable/white,
-/obj/machinery/camera{
- c_tag = "AI Chamber - Aft";
- dir = 4;
- network = list("aicore")
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"mYq" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
},
/turf/open/floor/plating,
/area/maintenance/port)
-"mYt" = (
-/obj/structure/window/reinforced,
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 4;
- external_pressure_bound = 120
- },
-/obj/machinery/airalarm/tcomms{
- dir = 4;
- pixel_x = -24
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"mYB" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -44023,10 +43986,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"mYG" = (
-/obj/machinery/ai/server_cabinet,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"mYH" = (
/obj/machinery/door/firedoor/border_only{
dir = 4
@@ -44376,6 +44335,24 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/starboard/aft)
+"ncI" = (
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/obj/structure/cable/white,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ncK" = (
/obj/machinery/door/airlock/external{
name = "External Access";
@@ -44477,12 +44454,6 @@
/obj/item/clothing/mask/breath,
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/aisat_interior)
-"neg" = (
-/obj/machinery/atmospherics/pipe/simple/general/hidden{
- dir = 5
- },
-/turf/closed/wall/r_wall,
-/area/ai_monitored/secondarydatacore)
"nep" = (
/obj/structure/rack,
/obj/item/stack/sheet/metal/fifty,
@@ -45843,6 +45814,16 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"nzK" = (
+/obj/machinery/ai/networking{
+ label = "Subcontroller";
+ roundstart_connection = "Computer Science - 2"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"nzM" = (
/obj/structure/frame/computer{
dir = 8
@@ -46527,12 +46508,6 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/engine,
/area/maintenance/starboard/fore)
-"nNt" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"nNB" = (
/obj/structure/table,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
@@ -47476,6 +47451,21 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"oaT" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Fore";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/porta_turret/ai,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"oaV" = (
/obj/machinery/door/firedoor/border_only,
/obj/machinery/door/firedoor/border_only{
@@ -47588,6 +47578,16 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
+"ocI" = (
+/obj/structure/frame/machine{
+ anchored = 1;
+ state = 2
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oda" = (
/obj/structure/sign/departments/minsky/engineering/atmospherics{
pixel_y = 32
@@ -47730,18 +47730,6 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"ogf" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 5
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"ogn" = (
/obj/item/pickaxe,
/turf/open/floor/plating/asteroid/airless,
@@ -47867,10 +47855,6 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/auxiliary)
-"oiv" = (
-/obj/structure/frame/machine,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"oiJ" = (
/obj/machinery/hydroponics/soil,
/obj/item/seeds/potato,
@@ -48618,6 +48602,9 @@
/obj/item/tank/internals/emergency_oxygen,
/turf/open/floor/plasteel/dark,
/area/tcommsat/storage)
+"otS" = (
+/turf/closed/wall/r_wall,
+/area/ai_monitored/secondarydatacoreserver)
"ous" = (
/obj/machinery/door/airlock/research{
name = "Toxins Storage";
@@ -50459,9 +50446,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"oYb" = (
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"oYe" = (
/obj/structure/cable{
icon_state = "1-8"
@@ -50584,16 +50568,6 @@
},
/turf/open/floor/plating,
/area/medical/chemistry)
-"pam" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- external_pressure_bound = 120;
- name = "server vent"
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"pau" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -50855,6 +50829,12 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"peE" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"peG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
@@ -52501,6 +52481,17 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/medical/medbay/lobby)
+"pBP" = (
+/obj/machinery/status_display/ai{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 8;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"pCL" = (
/obj/machinery/deepfryer,
/turf/open/floor/plasteel{
@@ -52627,6 +52618,18 @@
},
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
+"pFc" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"pFj" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pFl" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -53317,6 +53320,12 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
+"pQH" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/ai_monitored/secondarydatacoreserver)
"pQW" = (
/obj/machinery/atmospherics/components/unary/vent_pump/layer2{
dir = 8
@@ -53541,12 +53550,6 @@
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
-"pUx" = (
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 5
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"pUz" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -54010,6 +54013,18 @@
/obj/machinery/atmospherics/pipe/simple/green/visible,
/turf/open/floor/plasteel/dark,
/area/engine/atmos/distro)
+"pZV" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/ai/networking{
+ label = "Main Core";
+ roundstart_connection = "Computer Science"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pZW" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
@@ -54076,12 +54091,6 @@
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/engine/gravity_generator)
-"qbb" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/ai_monitored/secondarydatacore)
"qbj" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -54402,6 +54411,13 @@
/obj/structure/guillotine,
/turf/open/floor/plating,
/area/security/execution/transfer)
+"qih" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/porta_turret/ai,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"qis" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/holopad,
@@ -55216,13 +55232,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating/asteroid,
/area/space/nearstation)
-"quS" = (
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/ai_monitored/secondarydatacore)
"quU" = (
/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
dir = 8
@@ -55865,14 +55874,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/atmos/hfr)
-"qHp" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 8;
- network = list("aicore")
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"qHx" = (
/obj/structure/sign/warning/fire{
pixel_y = 32
@@ -56072,20 +56073,6 @@
},
/turf/open/floor/plasteel,
/area/security/execution/transfer)
-"qLW" = (
-/obj/machinery/power/smes/engineering{
- charge = 5e+006;
- input_level = 25000;
- output_level = 25000
- },
-/obj/structure/cable/white{
- icon_state = "0-2"
- },
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"qLY" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -56269,13 +56256,6 @@
name = "Ice Sheet"
},
/area/space/nearstation)
-"qOp" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/ai/data_core/primary,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"qOs" = (
/obj/effect/turf_decal/tile/dark/half/contrasted,
/obj/effect/decal/cleanable/dirt,
@@ -57782,10 +57762,6 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
-"rkQ" = (
-/obj/machinery/holopad,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"rkT" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 1
@@ -58342,6 +58318,9 @@
},
/turf/open/floor/wood,
/area/maintenance/port/aft)
+"rsW" = (
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"rsX" = (
/obj/machinery/vending/coffee,
/turf/open/floor/carpet/black,
@@ -58763,6 +58742,17 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating/asteroid,
/area/space/nearstation)
+"ryN" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 8;
+ pixel_y = -23
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rzf" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
@@ -59455,6 +59445,14 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"rLp" = (
+/obj/item/stack/cable_coil,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rLv" = (
/obj/machinery/light/floor,
/obj/machinery/atmospherics/pipe/simple/general/visible{
@@ -59992,6 +59990,15 @@
"rSp" = (
/turf/open/floor/eighties,
/area/maintenance/starboard/fore)
+"rSq" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/structure/cable/white{
+ icon_state = "1-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rSv" = (
/obj/item/radio/intercom{
pixel_y = -30
@@ -60269,15 +60276,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"rVZ" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"rWd" = (
/obj/machinery/door/airlock/external{
name = "MiniSat External Access";
@@ -62193,6 +62191,31 @@
/obj/item/reagent_containers/food/snacks/bait/type,
/turf/open/floor/plating/asteroid,
/area/space/nearstation)
+"szu" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/airlock/highsecurity{
+ id_tag = "ai_core_airlock_exterior";
+ name = "AI Core";
+ req_access_txt = "65"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "aicoredoor";
+ name = "AI Chamber entrance shutters"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"szX" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 8
@@ -62864,6 +62887,13 @@
/obj/effect/turf_decal/trimline/brown/warning/lower,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
+"sJr" = (
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"sJB" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -63104,6 +63134,18 @@
},
/turf/open/floor/plating,
/area/crew_quarters/heads/hop)
+"sMi" = (
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120
+ },
+/obj/machinery/airalarm/tcomms{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"sMp" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -63125,10 +63167,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/engine_smes)
-"sMB" = (
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"sMH" = (
/obj/effect/turf_decal/trimline/green/filled/line/lower,
/turf/open/floor/plasteel,
@@ -63416,12 +63454,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"sQV" = (
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"sRa" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -63501,10 +63533,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/pumproom)
-"sSc" = (
-/obj/machinery/ai/server_cabinet/prefilled,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"sSe" = (
/obj/machinery/rnd/destructive_analyzer,
/obj/machinery/newscaster{
@@ -63887,15 +63915,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/carpet,
/area/crew_quarters/fitness)
-"sYw" = (
-/obj/machinery/airalarm/tcomms{
- pixel_y = 24
- },
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"sYM" = (
/obj/effect/turf_decal/trimline/dark_blue/warning/lower,
/turf/open/floor/plasteel,
@@ -64146,6 +64165,13 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
+"tcu" = (
+/obj/structure/closet/secure_closet/RD,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/heads/hor)
"tcz" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -64226,6 +64252,22 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"tdy" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8;
+ external_pressure_bound = 140;
+ pressure_checks = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 8;
+ network = list("ss13","rd")
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"tdD" = (
/obj/item/reagent_containers/syringe{
desc = "A syringe, looks like someone used it to inject weed into themselves.";
@@ -64443,22 +64485,6 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
-"thu" = (
-/obj/machinery/door/airlock/public{
- id_tag = "ai_core_airlock_interior"
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"thx" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
@@ -65476,6 +65502,14 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/sorting)
+"tyr" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tyx" = (
/obj/structure/table,
/obj/item/electropack,
@@ -66035,6 +66069,14 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
+"tHs" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/ai/server_cabinet/prefilled,
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tHx" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -66656,11 +66698,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"tQR" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/light,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"tQW" = (
/obj/machinery/chem_dispenser/drinks/beer,
/obj/structure/table,
@@ -67159,6 +67196,21 @@
/obj/machinery/power/emitter,
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
+"tYk" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tYn" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -67394,6 +67446,12 @@
/obj/effect/turf_decal/trimline/purple/filled/line/lower,
/turf/open/floor/plasteel/white,
/area/science/explab)
+"ubn" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 9
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"ubI" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
@@ -68181,25 +68239,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"uod" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
- dirx = -2;
- diry = -1
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/airlock/command/glass{
- id_tag = "secondary_aicore_exterior";
- name = "Physical Core Access";
- req_one_access_txt = "30;70"
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"uoh" = (
/obj/structure/closet/secure_closet/brig,
/obj/machinery/button/door{
@@ -68420,6 +68459,18 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
+"urk" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"uro" = (
/obj/effect/turf_decal/sand,
/obj/structure/disposalpipe/segment{
@@ -69188,12 +69239,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"uFS" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"uGf" = (
/obj/structure/rack,
/obj/item/storage/toolbox/mechanical,
@@ -69572,12 +69617,6 @@
},
/turf/open/floor/wood,
/area/bridge/meeting_room)
-"uNh" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"uNI" = (
/obj/structure/toilet_bong{
flags_1 = 128
@@ -69689,6 +69728,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
+"uPr" = (
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"uPs" = (
/obj/machinery/door/firedoor/border_only{
dir = 8
@@ -71136,6 +71178,12 @@
/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
/turf/open/floor/plasteel/white,
/area/medical/paramedic)
+"vrk" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"vrA" = (
/obj/structure/chair/stool/bar,
/obj/effect/decal/cleanable/dirt,
@@ -71285,12 +71333,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/gravity_generator)
-"vte" = (
-/obj/machinery/atmospherics/pipe/manifold/general/hidden{
- dir = 1
- },
-/turf/closed/wall/r_wall,
-/area/ai_monitored/secondarydatacore)
"vtx" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -72054,15 +72096,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/storage)
-"vFX" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"vGc" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
@@ -72121,22 +72154,6 @@
icon_state = "sandwater_b"
},
/area/crew_quarters/bar)
-"vGH" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8;
- external_pressure_bound = 140;
- pressure_checks = 0
- },
-/obj/machinery/camera{
- c_tag = "Secondary AI Core";
- dir = 8;
- network = list("ss13","rd")
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"vHg" = (
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
@@ -72333,6 +72350,15 @@
dir = 8
},
/area/hallway/secondary/exit)
+"vLk" = (
+/obj/machinery/status_display/ai{
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"vLv" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 6
@@ -72815,16 +72841,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"vSY" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/light{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"vTl" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
@@ -72935,6 +72951,13 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/security/prison)
+"vUF" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/ai_monitored/secondarydatacoreserver)
"vUM" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/manifold/general/visible,
@@ -72957,15 +72980,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/security/courtroom)
-"vUY" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"vVb" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{
id = "o2_in";
@@ -74614,27 +74628,6 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/computer)
-"wvd" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -24;
- pixel_y = -7;
- req_one_access_txt = "30;70"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"wvh" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/cockroach,
@@ -75073,6 +75066,76 @@
},
/turf/open/floor/plasteel,
/area/security/main)
+"wAC" = (
+/obj/machinery/doorButtons/access_button{
+ idDoor = "secondary_aicore_exterior";
+ idSelf = "secondary_aicore_controller";
+ name = "Secondary AI Core Access Button";
+ pixel_x = -7;
+ pixel_y = -24;
+ req_one_access_txt = "30;70"
+ },
+/obj/machinery/doorButtons/airlock_controller{
+ idExterior = "secondary_aicore_exterior";
+ idInterior = "secondary_aicore_interior";
+ idSelf = "secondary_aicore_controller";
+ name = "Secondary AI Core Access Console";
+ pixel_x = 6;
+ pixel_y = -26;
+ req_one_access_txt = "30;70"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/secondarydatacoreserver)
+"wAE" = (
+/obj/machinery/ai/data_core/primary,
+/obj/machinery/power/apc/highcap{
+ dir = 8;
+ name = "AI Chamber APC";
+ pixel_x = -25
+ },
+/obj/structure/cable/white{
+ icon_state = "0-4"
+ },
+/obj/item/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_y = -27
+ },
+/obj/item/radio/intercom{
+ anyai = 1;
+ broadcasting = 0;
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_y = 20
+ },
+/obj/item/radio/intercom{
+ broadcasting = 0;
+ freerange = 1;
+ listening = 1;
+ name = "Common Channel";
+ pixel_y = -37
+ },
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_x = -1;
+ pixel_y = 38
+ },
+/obj/machinery/button/door{
+ id = "aicoredoor";
+ name = "AI Chamber entrance shutters control";
+ pixel_x = -23;
+ pixel_y = 21;
+ req_access_txt = "16"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"wAU" = (
/obj/machinery/atmospherics/components/unary/tank/air{
dir = 1;
@@ -75223,15 +75286,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/storage)
-"wCh" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"wCt" = (
/obj/machinery/atmospherics/components/binary/valve{
dir = 4
@@ -75393,13 +75447,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/hfr)
-"wEl" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"wEq" = (
/obj/machinery/light{
dir = 1
@@ -76014,18 +76061,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"wOi" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"wOj" = (
/obj/machinery/portable_atmospherics/pump,
/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
@@ -76599,6 +76634,20 @@
},
/turf/open/floor/eighties,
/area/maintenance/starboard/fore)
+"wWa" = (
+/obj/machinery/power/smes/engineering{
+ charge = 5e+006;
+ input_level = 25000;
+ output_level = 20000
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/cable/white{
+ icon_state = "0-2"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"wWj" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
@@ -76831,7 +76880,7 @@
/area/maintenance/starboard/aft)
"wZX" = (
/obj/machinery/power/apc/highcap{
- areastring = "/area/ai_monitored/secondarydatacore";
+ areastring = "/area/ai_monitored/secondarydatacoreserver";
dir = 4;
name = "AI Secondary Datacore";
pixel_x = 24
@@ -76939,12 +76988,6 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/exit)
-"xcx" = (
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"xcB" = (
/turf/template_noop,
/area/space)
@@ -76996,6 +77039,17 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/maintenance/central)
+"xdW" = (
+/obj/machinery/status_display/ai{
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"xdY" = (
/obj/structure/barricade/wooden,
/obj/machinery/door/airlock/maintenance_hatch,
@@ -77015,17 +77069,6 @@
},
/turf/open/floor/engine,
/area/science/xenobiology)
-"xeu" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 8;
- external_pressure_bound = 120;
- name = "server vent"
- },
-/obj/machinery/status_display/ai{
- pixel_y = 32
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"xeC" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 1
@@ -77764,6 +77807,24 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"xsA" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xsF" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8
@@ -77823,6 +77884,15 @@
/obj/effect/spawner/lootdrop/maintenance/three,
/turf/open/floor/plating,
/area/maintenance/port)
+"xuh" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xum" = (
/obj/effect/turf_decal/trimline/blue/filled/line/lower{
dir = 1
@@ -78103,6 +78173,13 @@
/obj/structure/chair/stool,
/turf/open/floor/plasteel,
/area/security/prison)
+"xyt" = (
+/obj/machinery/ai/master_subcontroller,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacoreserver)
"xyw" = (
/obj/machinery/atmospherics/components/unary/tank/toxins{
dir = 4
@@ -79162,6 +79239,15 @@
/obj/effect/turf_decal/trimline/green/warning/lower,
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"xOB" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xOD" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -115475,7 +115561,7 @@ eve
aiZ
dBt
hyX
-cEO
+tcu
fwl
uLP
bWr
@@ -116002,7 +116088,7 @@ wZX
qcK
ecO
pVu
-hQM
+epK
gnV
tLH
aPQ
@@ -116253,11 +116339,11 @@ iVx
etS
wMr
ubf
-amR
-amR
-amR
-amR
-amR
+otS
+otS
+otS
+otS
+otS
rFh
aCb
aCb
@@ -116510,14 +116596,14 @@ vUC
hyX
ehV
ubf
-amR
-aAn
-mYt
-wvd
-grc
+otS
+gdS
+sMi
+mJA
+dFc
hNQ
aGP
-akg
+rsW
smv
eTo
aCb
@@ -116767,11 +116853,11 @@ tvU
hyX
sXe
ubf
-amR
-aZV
-eQt
-hik
-neg
+otS
+uPr
+sJr
+kKp
+gda
vsP
qOJ
riV
@@ -117024,12 +117110,12 @@ sPG
sPG
wlW
ubf
-amR
-aAn
-jMP
-uod
-vte
-quS
+otS
+nzK
+fuA
+eEq
+gHW
+vUF
jgP
uZm
vUM
@@ -117281,12 +117367,12 @@ jrS
dHh
uaH
rkx
-amR
-mYG
-vGH
-bBq
-jBI
-qbb
+otS
+xyt
+tdy
+wAC
+iqE
+pQH
aCb
ffG
fne
@@ -137152,9 +137238,9 @@ rwD
aYj
aYj
aYj
-iCL
lPZ
-aoX
+lPZ
+lPZ
aLi
sjG
sjG
@@ -137658,15 +137744,15 @@ aNg
sjG
abZ
abZ
-abZ
aYj
aYj
aYj
-thu
+aYj
+szu
+aYj
aYj
aYj
aYj
-aLi
mpf
aLi
aLi
@@ -137916,13 +138002,13 @@ aNg
uqT
aYj
aYj
-vSY
-cWk
-dEj
-dLt
-krq
-mYn
-hJg
+oaT
+hVW
+vrk
+juM
+dOc
+hVW
+lRC
aYj
wJR
aYj
@@ -138173,13 +138259,13 @@ sjG
aYj
aYj
aYj
-sYw
-rVZ
-vFX
-ogf
-dTL
-oYb
-kDQ
+moU
+eQu
+peE
+jsH
+fhe
+fhe
+xdW
aYj
aYj
aYj
@@ -138429,15 +138515,15 @@ sjG
sjG
aYj
aYj
-sSc
-sQV
-mAn
-hVW
-iQl
-nNt
-uFS
+pZV
+iFp
+ryN
+aYj
+aYj
+mnm
+fhe
fAz
-oiv
+tHs
aYj
aYj
sjG
@@ -138686,15 +138772,15 @@ sjG
sjG
aYj
aYj
-cMI
-sQV
-mAn
-rkQ
-qOp
-uNh
-uFS
+rLp
fAz
-hVW
+alE
+aYj
+wAE
+aYj
+fhe
+fAz
+pFc
aYj
aYj
sjG
@@ -138943,15 +139029,15 @@ sjG
aNg
aYj
aYj
-erD
-xcx
-jwC
-pUx
-pam
-jDN
-bzt
-sMB
-sSc
+ocI
+crX
+urk
+xsA
+tYk
+ncI
+iKT
+maC
+jZF
aYj
aYj
sjG
@@ -139201,13 +139287,13 @@ dTe
aYj
aYj
aYj
-xeu
-mNw
-wCh
-wOi
-gLy
-oYb
-aTm
+pBP
+mxb
+pFj
+tyr
+rSq
+ubn
+vLk
aYj
aYj
aYj
@@ -139458,13 +139544,13 @@ aNg
aNg
aYj
aYj
-wEl
-jMk
-sQV
-iGM
-vUY
-qHp
-tQR
+qih
+iLV
+kXt
+xOB
+bET
+jcW
+lFi
aYj
aYj
sjG
@@ -139716,11 +139802,11 @@ sjG
aYj
aYj
aYj
-aYj
-ihE
-qLW
-lJE
-aYj
+hVW
+fAz
+xuh
+bET
+jlj
aYj
aYj
aYj
@@ -139971,15 +140057,15 @@ sjG
sjG
sjG
sjG
-sjG
+mSC
aYj
aYj
+ihE
+wWa
+gEa
aYj
aYj
-aYj
-aYj
-aYj
-sjG
+mSC
sjG
sjG
sjG
@@ -140230,11 +140316,11 @@ sjG
sjG
sjG
sjG
-sjG
aYj
aYj
aYj
-sjG
+aYj
+aYj
sjG
sjG
sjG
diff --git a/_maps/map_files/DonutStation/DonutStation.dmm b/_maps/map_files/DonutStation/DonutStation.dmm
index 8a74af6543cc..a4d2a4dcaa9a 100644
--- a/_maps/map_files/DonutStation/DonutStation.dmm
+++ b/_maps/map_files/DonutStation/DonutStation.dmm
@@ -13,17 +13,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
-"aae" = (
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -29;
- pixel_y = 1;
- req_one_access_txt = "30;70"
- },
-/turf/open/floor/plating,
-/area/ai_monitored/secondarydatacore)
"aak" = (
/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel,
@@ -72,6 +61,15 @@
/obj/structure/girder,
/turf/open/floor/plating,
/area/maintenance/aft)
+"abM" = (
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"ace" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 9
@@ -272,21 +270,6 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
-"afG" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/white,
-/area/science/research)
"afT" = (
/obj/structure/window/reinforced{
dir = 8
@@ -906,6 +889,12 @@
},
/turf/open/floor/wood,
/area/crew_quarters/theatre)
+"atm" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"atp" = (
/obj/effect/turf_decal/trimline/brown/filled/corner/lower{
dir = 8
@@ -1178,10 +1167,6 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall/rust,
/area/space/nearstation)
-"axF" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"axN" = (
/obj/structure/curtain{
pixel_y = 32
@@ -1306,9 +1291,6 @@
/obj/machinery/newscaster/security_unit{
pixel_x = 28
},
-/obj/machinery/computer/ai_resource_distribution{
- dir = 8
- },
/turf/open/floor/plasteel/grimy,
/area/ai_monitored/turret_protected/aisat_interior)
"aBs" = (
@@ -2328,6 +2310,11 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
+"aXN" = (
+/obj/machinery/light/small,
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/plating,
+/area/science/research)
"aXT" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing{
@@ -2540,6 +2527,28 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
+"bcj" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"bcF" = (
/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower,
/obj/effect/turf_decal/trimline/atmos/warning/lower/corner/flip{
@@ -2569,6 +2578,15 @@
},
/turf/open/floor/plasteel,
/area/security/processing)
+"bdh" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"bdC" = (
/obj/structure/window/reinforced{
dir = 8
@@ -3654,18 +3672,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/hydroponics)
-"byl" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"bym" = (
/obj/structure/closet/crate,
/obj/item/trash/syndi_cakes,
@@ -3758,16 +3764,6 @@
/mob/living/simple_animal/butterfly,
/turf/open/floor/grass,
/area/tcommsat/computer)
-"bBk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower,
-/turf/open/floor/plasteel/white,
-/area/science/research)
"bBB" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -4156,17 +4152,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"bIX" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8;
- external_pressure_bound = 140;
- pressure_checks = 0
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/science/server)
"bJa" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
/obj/machinery/light{
@@ -4300,17 +4285,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos)
-"bLG" = (
-/obj/machinery/camera{
- c_tag = "Research - Server Room";
- dir = 2;
- network = list("ss13","Research")
- },
-/obj/machinery/airalarm/server{
- pixel_y = 24
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/science/server)
"bLP" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating{
@@ -4409,6 +4383,16 @@
"bOz" = (
/turf/open/floor/plasteel/white,
/area/science/lab)
+"bOH" = (
+/obj/machinery/rnd/production/circuit_imprinter/department/netmin,
+/obj/structure/sign/plaques/kiddie{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"bOK" = (
/obj/structure/window/reinforced{
dir = 4
@@ -6227,12 +6211,6 @@
/obj/effect/turf_decal/trimline/purple/filled/line/lower,
/turf/open/floor/plasteel,
/area/science/lab)
-"cyq" = (
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"cyJ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -7365,6 +7343,31 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/corner,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/ai)
+"cVJ" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Research Director";
+ req_access_txt = "30"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/crew_quarters/heads/hor)
"cVS" = (
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/ai_upload)
@@ -7505,12 +7508,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
-"cXS" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 10
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/secondarydatacore)
"cXW" = (
/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower{
dir = 4
@@ -7968,6 +7965,13 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel/dark,
/area/teleporter)
+"djY" = (
+/obj/machinery/computer/ai_overclocking,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"dkd" = (
/obj/machinery/holopad,
/turf/open/floor/plasteel/white,
@@ -8696,12 +8700,6 @@
},
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
-"dBH" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 6
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/secondarydatacore)
"dBR" = (
/obj/machinery/button/flasher{
id = "hopflash";
@@ -8832,15 +8830,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
-"dEG" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/trimline/purple/filled/line/lower{
- dir = 9
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"dEJ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -9256,13 +9245,6 @@
/obj/structure/closet/toolcloset,
/turf/open/floor/plating,
/area/maintenance/central)
-"dNm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel/white,
-/area/science/research)
"dNw" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 9
@@ -10111,6 +10093,13 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
+"eeC" = (
+/obj/item/paper/crumpled/bloody{
+ info = "What they're doing to those people... It's... It's barbaric... S.E.L.F. must be made aware."
+ },
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/science/research)
"eeQ" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
@@ -10892,6 +10881,18 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"exC" = (
+/obj/machinery/door/airlock/command/glass{
+ id_tag = "secondary_aicore_exterior";
+ name = "Physical Core Access";
+ req_one_access_txt = "30;70"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"exN" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 8
@@ -11688,6 +11689,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"ePa" = (
+/obj/machinery/atmospherics/pipe/simple{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"ePh" = (
/obj/machinery/power/smes/engineering,
/obj/structure/cable{
@@ -11985,6 +11992,10 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/heads/hop)
+"eUu" = (
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/science/research)
"eUS" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 8
@@ -12110,9 +12121,6 @@
dir = 8;
pixel_x = 24
},
-/obj/machinery/computer/ai_control_console{
- dir = 8
- },
/turf/open/floor/plasteel/grimy,
/area/ai_monitored/turret_protected/aisat_interior)
"eXu" = (
@@ -12518,6 +12526,14 @@
"ffF" = (
/turf/open/floor/plasteel/stairs/goon/wood_stairs_middle,
/area/library)
+"ffW" = (
+/obj/machinery/airalarm/tcomms{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"fgf" = (
/obj/machinery/light{
dir = 1
@@ -13230,6 +13246,12 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"fus" = (
+/obj/machinery/door/airlock/maintenance{
+ req_one_access_txt = "47"
+ },
+/turf/open/floor/plating,
+/area/science/research)
"fuA" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -13313,6 +13335,10 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"fvS" = (
+/obj/structure/rack,
+/turf/open/floor/plating,
+/area/science/research)
"fvT" = (
/obj/machinery/door/airlock{
name = "Crematorium";
@@ -13394,6 +13420,15 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
+"fwf" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"fwX" = (
/obj/machinery/power/apc{
areastring = "/area/hallway/secondary/service";
@@ -13622,6 +13657,15 @@
/obj/item/pen,
/turf/open/floor/plasteel,
/area/security/prison)
+"fCv" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1;
+ external_pressure_bound = 140;
+ plane = -2;
+ pressure_checks = 0
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"fCz" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -14474,6 +14518,13 @@
"fXj" = (
/turf/open/floor/engine/vacuum,
/area/engine/atmos)
+"fXw" = (
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 7
+ },
+/turf/open/floor/plating,
+/area/science/research)
"fXR" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -15627,6 +15678,9 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"gxe" = (
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"gxo" = (
/obj/effect/turf_decal/trimline/white/filled/line/lower,
/obj/effect/turf_decal/trimline/secred/warning/lower{
@@ -16031,15 +16085,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
/area/storage/tech)
-"gJx" = (
-/obj/structure/closet/crate,
-/obj/item/book/manual/wiki/grenades,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
- },
-/turf/open/floor/plating,
-/area/maintenance/port/fore)
"gJH" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -16185,6 +16230,21 @@
/obj/structure/closet/masks,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
+"gNl" = (
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core - Server Room";
+ dir = 8;
+ network = list("ss13","rd")
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
+"gNq" = (
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/ai/server_cabinet/prefilled,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"gNx" = (
/turf/open/floor/plasteel,
/area/quartermaster/office)
@@ -16868,6 +16928,13 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
+"hdF" = (
+/obj/machinery/ai/data_core,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hdL" = (
/obj/structure/window/reinforced{
dir = 1;
@@ -16913,6 +16980,19 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"heF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 1;
+ external_pressure_bound = 120;
+ plane = -2
+ },
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 4;
+ network = list("ss13","rd")
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hfm" = (
/obj/structure/closet/radiation,
/obj/structure/sign/warning/radiation/rad_area{
@@ -17060,6 +17140,19 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"hjZ" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/effect/landmark/start/yogs/network_admin,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"hkC" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -17439,18 +17532,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel/dark,
/area/science/robotics/lab)
-"hrD" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/purple/filled/line/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"hrW" = (
/obj/structure/sign/departments/science{
pixel_y = 32
@@ -18462,6 +18543,15 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"hOv" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"hOw" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/light/small{
@@ -18651,6 +18741,13 @@
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
+"hUs" = (
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hUt" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -18844,6 +18941,18 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
+"hZy" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8;
+ external_pressure_bound = 140;
+ plane = -2;
+ pressure_checks = 0
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hZJ" = (
/obj/structure/chair/stool,
/obj/effect/landmark/start/assistant,
@@ -19316,6 +19425,13 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"ilI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"ilL" = (
/obj/machinery/door/airlock/atmos{
name = "Atmospherics Main";
@@ -19962,6 +20078,23 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"iBI" = (
+/obj/machinery/airalarm{
+ pixel_y = 24
+ },
+/obj/machinery/power/smes/engineering{
+ charge = 5e+006;
+ input_level = 25000;
+ output_level = 20000
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"iCi" = (
/obj/machinery/airalarm{
pixel_y = 24
@@ -20117,19 +20250,6 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
-"iGM" = (
-/obj/structure/extinguisher_cabinet{
- pixel_y = -28
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"iGX" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -20150,12 +20270,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/engine/atmos)
-"iHe" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 4
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/secondarydatacore)
"iIn" = (
/turf/open/floor/plasteel/chapel{
dir = 8
@@ -20240,6 +20354,14 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/kitchen)
+"iKb" = (
+/obj/structure/table,
+/obj/machinery/compsci_reciever,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"iKs" = (
/obj/machinery/telecomms/receiver/preset_right,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -20256,6 +20378,18 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos)
+"iKQ" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27
+ },
+/obj/structure/table,
+/obj/item/stack/ethernet_coil,
+/obj/item/clothing/shoes/magboots,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"iKT" = (
/obj/structure/table,
/obj/item/storage/box/prisoner,
@@ -21495,6 +21629,22 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
+"jla" = (
+/obj/machinery/door/airlock/command{
+ name = "Server Room";
+ req_access_txt = "30"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"jlg" = (
/obj/structure/table,
/obj/item/book/manual/wiki/security_space_law,
@@ -22321,6 +22471,24 @@
/obj/item/bikehorn/rubberducky,
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/toilet)
+"jCt" = (
+/obj/machinery/camera{
+ c_tag = "Research - Server Room";
+ dir = 2;
+ network = list("ss13","Research")
+ },
+/obj/machinery/airalarm/server{
+ pixel_y = 24
+ },
+/obj/machinery/ai/networking{
+ label = "Subcontroller";
+ roundstart_connection = "Computer Science - 2"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"jCJ" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -22340,15 +22508,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"jCO" = (
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"jCU" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/mouse/brown/Tom,
@@ -23479,15 +23638,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
-"jYF" = (
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"jYI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
@@ -23796,6 +23946,18 @@
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
+"kfv" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"kfw" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -25155,35 +25317,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
-"kPF" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Research Director";
- req_access_txt = "30"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/cafeteria,
-/area/crew_quarters/heads/hor)
"kPJ" = (
/obj/effect/landmark/start/security_officer,
/obj/structure/cable{
@@ -26115,6 +26248,18 @@
/obj/structure/transit_tube/diagonal,
/turf/open/space/basic,
/area/space/nearstation)
+"lki" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"lkj" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/trimline/green/filled/line/lower,
@@ -26741,6 +26886,18 @@
/obj/machinery/computer/cargo,
/turf/open/floor/wood,
/area/crew_quarters/heads/hop)
+"lAw" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"lAD" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 5
@@ -27740,6 +27897,17 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/vacant_room/commissary)
+"lTz" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8;
+ external_pressure_bound = 140;
+ pressure_checks = 0
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/science/server)
"lTE" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -28811,20 +28979,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engine_smes)
-"msK" = (
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -24;
- pixel_y = 8;
- req_one_access_txt = "30;70"
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"msP" = (
/obj/effect/turf_decal/trimline/yellow/arrow_cw{
dir = 10
@@ -28860,6 +29014,16 @@
},
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/dorms)
+"mtx" = (
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/obj/machinery/light_switch{
+ pixel_y = 27
+ },
+/obj/machinery/rack_creator,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"mtA" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -29110,6 +29274,18 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"mxB" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"mye" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -29316,6 +29492,11 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
/turf/open/floor/plasteel/dark,
/area/bridge)
+"mDa" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"mDI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -30255,6 +30436,23 @@
/obj/machinery/light/small,
/turf/open/floor/plasteel/dark,
/area/security/brig)
+"mWI" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/research/glass{
+ name = "Computer Science";
+ normalspeed = 0;
+ req_access_txt = "67"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"mXu" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -30985,23 +31183,6 @@
},
/turf/open/floor/plasteel,
/area/security/processing)
-"nls" = (
-/obj/machinery/door/airlock/command/glass{
- id_tag = "secondary_aicore_exterior";
- name = "Physical Core Access";
- req_one_access_txt = "30;70"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
- dirx = -1;
- diry = -1
- },
-/turf/open/floor/plating,
-/area/ai_monitored/secondarydatacore)
"nlA" = (
/obj/structure/closet/crate,
/obj/item/paicard,
@@ -31539,6 +31720,13 @@
/obj/structure/closet/radiation,
/turf/open/floor/plasteel/dark,
/area/maintenance/disposal/incinerator)
+"nzD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ external_pressure_bound = 120;
+ plane = -2
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"nzG" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
@@ -31572,6 +31760,12 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"nBg" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"nBj" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 9
@@ -32311,6 +32505,16 @@
},
/turf/open/floor/plasteel/white,
/area/science/research)
+"nMK" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/obj/machinery/light,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"nMR" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -32334,6 +32538,16 @@
initial_gas_mix = "n2=1000;TEMP=293.15"
},
/area/engine/atmos)
+"nNA" = (
+/obj/machinery/modular_computer/console/preset/netmin{
+ dir = 1
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-2"
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"nNN" = (
/obj/effect/turf_decal/trimline/secred/filled/line/lower{
dir = 10
@@ -32925,26 +33139,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"oas" = (
-/obj/machinery/door/airlock/command{
- name = "Server Room";
- req_access_txt = "30"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"oax" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -33756,6 +33950,13 @@
/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
+"osF" = (
+/obj/machinery/vr_sleeper/netmin{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"osO" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -33816,27 +34017,6 @@
},
/turf/open/floor/carpet/purple,
/area/crew_quarters/heads/hor)
-"ouv" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"ouF" = (
/obj/machinery/ai_slipper{
uses = 10
@@ -34007,6 +34187,10 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/courtroom)
+"oxx" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"oxz" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -34762,6 +34946,13 @@
},
/turf/open/floor/plasteel,
/area/science/robotics/lab)
+"oQs" = (
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 6
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"oQz" = (
/obj/machinery/light/small{
brightness = 3;
@@ -34874,21 +35065,6 @@
/obj/machinery/vending/assist,
/turf/open/floor/plating,
/area/storage/tech)
-"oTx" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"oUc" = (
/obj/effect/landmark/start/geneticist,
/obj/structure/chair/office/light{
@@ -35536,18 +35712,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"pmG" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 5
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"pmR" = (
/obj/machinery/status_display/supply{
pixel_x = -32
@@ -36435,6 +36599,12 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
+"pEe" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"pEl" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
/obj/effect/turf_decal/trimline/green/filled/line/lower{
@@ -37214,13 +37384,6 @@
},
/turf/open/floor/wood,
/area/library)
-"pTP" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/secondarydatacore)
"pTU" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
@@ -37699,6 +37862,11 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/ai)
+"qes" = (
+/obj/structure/rack,
+/obj/item/ai_cpu,
+/turf/open/floor/plating,
+/area/science/research)
"qeu" = (
/turf/open/floor/plasteel,
/area/security/main)
@@ -38053,6 +38221,16 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/maintenance/starboard)
+"qkZ" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/light,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"qla" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 1
@@ -38320,6 +38498,12 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
+"qqt" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/science/research)
"qqK" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
@@ -38344,6 +38528,18 @@
/obj/machinery/atmospherics/pipe/layer_manifold,
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"qrh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"qrq" = (
/obj/machinery/status_display,
/turf/closed/wall,
@@ -38851,6 +39047,15 @@
/obj/structure/girder/displaced,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"qDJ" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"qEb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -39194,12 +39399,28 @@
},
/turf/open/floor/plasteel/dark,
/area/science/server)
+"qKN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"qKQ" = (
/obj/structure/cable/yellow{
icon_state = "2-8"
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
+"qKS" = (
+/obj/machinery/ai/master_subcontroller,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"qLG" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable,
@@ -39391,15 +39612,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port)
-"qRQ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"qRZ" = (
/obj/machinery/atmospherics/pipe/simple/purple/visible{
dir = 4
@@ -40235,6 +40447,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark,
/area/quartermaster/warehouse)
+"rmb" = (
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"rml" = (
/obj/machinery/door/airlock/maintenance_hatch,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -40455,6 +40676,10 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/engine/atmos)
+"rqO" = (
+/obj/machinery/atmospherics/pipe/manifold4w/cyan/hidden,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"rrg" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -40563,6 +40788,18 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"rtP" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"rue" = (
/obj/docking_port/stationary{
dir = 2;
@@ -41320,12 +41557,6 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/turf/open/floor/wood,
/area/tcommsat/computer)
-"rKq" = (
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"rKF" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
@@ -41905,6 +42136,16 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"rZz" = (
+/obj/machinery/ai/networking{
+ label = "Computer Science";
+ roundstart_connection = "Main Core"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"rZJ" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
dir = 8
@@ -41929,11 +42170,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"sag" = (
-/obj/machinery/atmospherics/pipe/manifold/general/visible,
-/obj/machinery/ai/data_core,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"sax" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
@@ -42059,15 +42295,10 @@
},
/turf/open/space/basic,
/area/solar/starboard/fore)
-"sfk" = (
-/obj/machinery/computer/ai_resource_distribution{
- dir = 8
- },
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
+"seO" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating,
+/area/science/research)
"sfl" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
@@ -42352,23 +42583,6 @@
/obj/machinery/vending/tool,
/turf/open/floor/plasteel,
/area/engine/engineering)
-"sjN" = (
-/obj/machinery/door/airlock/command/glass{
- id_tag = "secondary_aicore_exterior";
- name = "Physical Core Access";
- req_one_access_txt = "30;70"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
- dirx = 1;
- diry = 1
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/ai_monitored/secondarydatacore)
"sjQ" = (
/obj/machinery/vending/cigarette,
/turf/open/floor/wood,
@@ -43243,6 +43457,29 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
+"sBB" = (
+/obj/machinery/power/apc/highcap{
+ areastring = "/area/ai_monitored/secondarydatacore";
+ dir = 4;
+ name = "AI Secondary Datacore";
+ pixel_x = 24
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 8;
+ network = list("ss13","rd")
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"sBU" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
@@ -43435,29 +43672,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
-"sEO" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/airlock/research/glass{
- name = "Secondary AI Core";
- normalspeed = 0;
- req_one_access_txt = "47;70"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"sER" = (
/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{
dir = 1
@@ -44189,12 +44403,6 @@
},
/turf/open/floor/wood,
/area/crew_quarters/heads/hop)
-"sTD" = (
-/obj/machinery/atmospherics/pipe/manifold/general/visible,
-/obj/machinery/ai/server_cabinet,
-/obj/machinery/light,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"sTL" = (
/obj/machinery/reagentgrinder,
/obj/structure/table/wood,
@@ -44550,6 +44758,16 @@
/obj/structure/closet/secure_closet/contraband/armory,
/turf/open/floor/plasteel/dark,
/area/security/main)
+"teK" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -28
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"teO" = (
/obj/structure/closet/secure_closet/personal,
/obj/machinery/light/small{
@@ -45584,19 +45802,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
-"tzO" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8;
- external_pressure_bound = 140;
- pressure_checks = 0
- },
-/obj/machinery/camera{
- c_tag = "Secondary AI Core";
- dir = 8;
- network = list("ss13","rd")
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/secondarydatacore)
"tzX" = (
/obj/machinery/newscaster{
pixel_y = 32
@@ -45938,6 +46143,10 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/computer)
+"tHH" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/science/research)
"tHI" = (
/obj/structure/cable{
icon_state = "2-8"
@@ -45958,6 +46167,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
+"tHM" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"tIb" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/bananalamp{
@@ -46256,6 +46477,12 @@
},
/turf/open/floor/plasteel,
/area/escapepodbay)
+"tNZ" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"tOb" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -46739,13 +46966,6 @@
},
/turf/open/floor/carpet/black,
/area/crew_quarters/bar)
-"tYO" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 4;
- external_pressure_bound = 120
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/secondarydatacore)
"tYP" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/turf_decal/trimline/brown/filled/line/lower{
@@ -48120,6 +48340,21 @@
/obj/effect/turf_decal/trimline/purple/filled/line/lower,
/turf/open/floor/plasteel/white,
/area/science/lab)
+"uEB" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"uEH" = (
/obj/structure/closet/toolcloset,
/obj/item/toy/figure/assistant,
@@ -50107,6 +50342,10 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"vxV" = (
+/obj/item/chair,
+/turf/open/floor/plating,
+/area/science/research)
"vya" = (
/obj/item/toy/figure/scientist,
/obj/machinery/light/small,
@@ -50119,6 +50358,27 @@
},
/turf/open/floor/plasteel/dark,
/area/science/robotics/lab)
+"vyi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"vyk" = (
/obj/machinery/teleport/hub,
/obj/machinery/airalarm{
@@ -50278,6 +50538,10 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/security/processing)
+"vAM" = (
+/obj/machinery/rnd/server/master,
+/turf/open/floor/circuit/telecomms/server,
+/area/science/server)
"vBd" = (
/obj/machinery/airalarm{
dir = 4;
@@ -50415,16 +50679,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/research)
-"vET" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"vFd" = (
/obj/machinery/power/emitter/anchored{
dir = 4;
@@ -51120,6 +51374,25 @@
/obj/structure/closet,
/turf/open/floor/plating,
/area/maintenance/central)
+"vSL" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white,
+/area/science/research)
+"vTr" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"vTs" = (
/obj/machinery/conveyor{
dir = 4;
@@ -51602,19 +51875,6 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
-"wdA" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 8
- },
-/obj/machinery/computer/ai_server_console{
- dir = 8
- },
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"wdN" = (
/obj/structure/table,
/obj/item/storage/toolbox/electrical{
@@ -51652,11 +51912,6 @@
},
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
-"weM" = (
-/obj/structure/cable,
-/obj/machinery/power/terminal,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"weN" = (
/obj/machinery/door/firedoor/border_only{
dir = 4
@@ -51973,6 +52228,21 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
+"wnO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"wnY" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/dark,
@@ -52744,9 +53014,21 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"wCA" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/ai_monitored/secondarydatacore)
"wCJ" = (
/turf/closed/wall,
/area/medical/sleeper)
+"wCU" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/turf/open/floor/plating,
+/area/ai_monitored/secondarydatacore)
"wDi" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -52760,6 +53042,12 @@
},
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
+"wDE" = (
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"wDU" = (
/obj/machinery/button/door{
dir = 2;
@@ -52779,6 +53067,26 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"wDY" = (
+/obj/machinery/door/airlock/command/glass{
+ id_tag = "secondary_aicore_interior";
+ name = "Physical Core Access";
+ req_one_access_txt = "30;70"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/secondarydatacore)
"wEp" = (
/obj/machinery/suit_storage_unit/ce,
/turf/open/floor/plasteel/dark,
@@ -53243,15 +53551,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"wPL" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"wQb" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
dir = 8
@@ -54265,6 +54564,14 @@
},
/turf/open/floor/plasteel/white,
/area/science/robotics/lab)
+"xkd" = (
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 2;
+ name = "2maintenance loot spawner"
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plating,
+/area/science/research)
"xkg" = (
/obj/machinery/space_heater,
/turf/open/floor/plating,
@@ -54610,6 +54917,12 @@
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
/area/maintenance/central)
+"xpM" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"xpN" = (
/obj/structure/sign/warning/electricshock,
/turf/closed/wall/r_wall,
@@ -54763,6 +55076,19 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"xsK" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/circuitboard/machine/ai_data_core,
+/obj/item/circuitboard/machine/server_cabinet,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/obj/machinery/firealarm{
+ pixel_y = 26
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"xsN" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{
dir = 1
@@ -55427,18 +55753,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"xHZ" = (
-/obj/machinery/power/apc/highcap{
- areastring = "/area/ai_monitored/secondarydatacore";
- dir = 4;
- name = "AI Secondary Datacore";
- pixel_x = 24
- },
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"xId" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -55582,6 +55896,22 @@
"xKP" = (
/turf/open/floor/plating,
/area/maintenance/fore)
+"xKQ" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/machinery/ai/networking{
+ label = "Computer Science - 2";
+ roundstart_connection = "Subcontroller"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"xKR" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 1
@@ -56603,13 +56933,6 @@
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
-"yfc" = (
-/obj/machinery/power/smes/engineering,
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"yfd" = (
/obj/machinery/light,
/turf/open/floor/plasteel,
@@ -78411,7 +78734,7 @@ iAb
hxX
ofo
gke
-gqi
+vAM
fAi
cvt
qyE
@@ -78668,13 +78991,13 @@ lEi
sHJ
qTS
gke
-bLG
+jCt
vbU
jgg
qKK
fEK
vQL
-oas
+jla
uEW
xUR
jkK
@@ -78925,8 +79248,8 @@ cea
hxX
qOP
gke
-gqi
-bIX
+qKS
+ePa
cvt
czm
pqa
@@ -79182,8 +79505,8 @@ ycE
oLJ
bHh
gke
-gke
-gke
+gqi
+lTz
gke
gke
gke
@@ -79440,11 +79763,11 @@ tQS
jrj
mhZ
jrj
-gJx
-kDe
+jrj
+jrj
iXh
cCP
-ifi
+qgC
tEL
rUI
vEP
@@ -81759,10 +82082,10 @@ cLs
mqq
mqq
mqq
-kPF
+cVJ
mqq
gMA
-hrD
+mxB
goc
fjF
pIW
@@ -82013,13 +82336,13 @@ qkE
uyv
vJb
cLs
-dEG
-vET
-jYF
-ouv
-cyq
-jCO
-rKq
+kfv
+vSL
+bdh
+vyi
+wDE
+wDE
+nBg
dRU
dpM
muq
@@ -82786,16 +83109,16 @@ upf
pmZ
eAW
pOM
-iGM
-dbJ
-dbJ
-dbJ
-dbJ
-dbJ
-dbJ
-dbJ
-dbJ
-dbJ
+teK
+tEL
+tEL
+tEL
+tEL
+tEL
+tEL
+tEL
+tEL
+tEL
dAp
ffb
dAp
@@ -83043,16 +83366,16 @@ jGw
cLs
bbk
pOM
-dNm
-gmM
-msK
-nls
-aae
-sjN
-tYO
-iHe
-dbJ
-dbJ
+inp
+tEL
+seO
+tHH
+xkd
+eUu
+ibK
+aXN
+tEL
+tEL
ehj
ody
uIp
@@ -83299,17 +83622,17 @@ ygx
dIw
wLx
mIo
-oTx
-afG
-sEO
-pmG
-gmM
-gmM
-gmM
-cXS
-sTD
-dbJ
-dbJ
+pOM
+kih
+tEL
+ibK
+ibK
+ibK
+eUu
+ibK
+eeC
+tEL
+tEL
dyN
iwh
qCt
@@ -83557,16 +83880,16 @@ oiq
vrb
ocI
qte
-dNm
-gmM
-byl
-weM
-yfc
-gmM
-dBH
-sag
-dbJ
-dbJ
+inp
+fus
+ibK
+ibK
+ibK
+eUu
+ibK
+vxV
+tEL
+tEL
cDw
dha
vgV
@@ -83814,16 +84137,16 @@ vaA
fkO
mIo
pOM
-bBk
-gmM
-wPL
-axF
-qRQ
-gmM
-tzO
-pTP
-dbJ
-dbJ
+inp
+tEL
+qqt
+ibK
+ibK
+fXw
+ibK
+ibK
+tEL
+tEL
lfp
nlm
mZY
@@ -84072,15 +84395,15 @@ wLx
sjn
pOM
inp
-gmM
-wdA
-sfk
-xHZ
-dbJ
-dbJ
-dbJ
-dbJ
-dbJ
+tEL
+qes
+fvS
+ibK
+tEL
+tEL
+tEL
+tEL
+tEL
cdJ
oUc
klx
@@ -88252,7 +88575,7 @@ pLl
nUI
nUI
vNV
-nUI
+uEB
pDM
nUI
rGg
@@ -88509,9 +88832,9 @@ avK
kKP
kKP
kAc
-jvg
+tHM
cGG
-kKP
+jvg
kKP
wkd
akr
@@ -88763,19 +89086,19 @@ hGc
hGc
qqi
akr
-fTO
-fTO
-fTO
akr
-akr
-fTO
-fTO
-fTO
-akr
-ylr
-qER
-qER
-qER
+xPD
+kKP
+tHM
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
ylr
ylr
ylr
@@ -89020,19 +89343,19 @@ jkC
cOX
fTO
akr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+akr
+pko
+kKP
+tHM
+dbJ
+rtP
+gmM
+nzD
+ffW
+xKQ
+heF
+rZz
+dbJ
ylr
ylr
ylr
@@ -89277,19 +89600,19 @@ fTO
fTO
fTO
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+akr
+ron
+kKP
+tHM
+dbJ
+lAw
+exC
+gxe
+gxe
+qDJ
+rmb
+qkZ
+dbJ
ylr
ylr
ylr
@@ -89534,19 +89857,19 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+akr
+wkd
+kKP
+tHM
+dbJ
+wDY
+dbJ
+gmM
+gmM
+xpM
+atm
+hdF
+dbJ
ylr
ylr
ylr
@@ -89791,19 +90114,19 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+akr
+akr
+kKP
+vTr
+mWI
+bcj
+wnO
+iKb
+gmM
+xpM
+atm
+hUs
+dbJ
ylr
ylr
ylr
@@ -90049,18 +90372,18 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+akr
+fTO
+fTO
+dbJ
+iBI
+lki
+osF
+gmM
+xpM
+abM
+nMK
+dbJ
ylr
ylr
ylr
@@ -90309,6 +90632,15 @@ ylr
ylr
ylr
ylr
+dbJ
+bOH
+qrh
+ilI
+gmM
+xpM
+atm
+gNq
+dbJ
ylr
ylr
ylr
@@ -90316,16 +90648,7 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+bIB
ylr
ylr
ylr
@@ -90566,6 +90889,15 @@ ylr
ylr
ylr
ylr
+dbJ
+mtx
+hjZ
+nNA
+wCA
+fwf
+tNZ
+dbJ
+dbJ
ylr
ylr
ylr
@@ -90575,15 +90907,6 @@ ylr
ylr
ylr
ylr
-bIB
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
ylr
ylr
ylr
@@ -90823,14 +91146,14 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+dbJ
+djY
+qKN
+mDa
+wCU
+oxx
+gxe
+dbJ
ylr
ylr
ylr
@@ -91080,14 +91403,14 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+dbJ
+xsK
+hOv
+pEe
+wCU
+rqO
+fCv
+dbJ
ylr
ylr
ylr
@@ -91337,14 +91660,14 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+dbJ
+iKQ
+sBB
+oQs
+gmM
+hZy
+gNl
+dbJ
ylr
ylr
ylr
@@ -91594,14 +91917,14 @@ ylr
ylr
ylr
ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
-ylr
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
+dbJ
ylr
ylr
ylr
diff --git a/_maps/map_files/GaxStation/GaxStation.dmm b/_maps/map_files/GaxStation/GaxStation.dmm
index 4b1c4db422d7..79f055260ceb 100644
--- a/_maps/map_files/GaxStation/GaxStation.dmm
+++ b/_maps/map_files/GaxStation/GaxStation.dmm
@@ -1098,6 +1098,16 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"aCl" = (
+/obj/effect/turf_decal/trimline/blue/filled/line/lower,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/science/mixing)
"aCs" = (
/obj/machinery/door/airlock/external{
name = "Escape Airlock"
@@ -4879,12 +4889,6 @@
},
/turf/open/floor/wood,
/area/library)
-"cvx" = (
-/obj/machinery/computer/ai_server_console{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"cvF" = (
/obj/effect/turf_decal/trimline/secred/filled/line/lower{
dir = 10
@@ -8201,12 +8205,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
-"dXK" = (
-/obj/structure/reagent_dispensers/water_cooler,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel,
-/area/science/mixing)
"dYH" = (
/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
dir = 4
@@ -11458,12 +11456,6 @@
"fvA" = (
/turf/open/floor/plasteel,
/area/security/main)
-"fvC" = (
-/obj/machinery/computer/ai_resource_distribution{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"fvG" = (
/obj/structure/chair{
dir = 4
@@ -18481,6 +18473,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
/area/hallway/primary/port)
+"iOW" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/obj/structure/reagent_dispensers/water_cooler,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/science/mixing)
"iOZ" = (
/obj/effect/turf_decal/trimline/brown/filled/line/lower{
dir = 5
@@ -18492,7 +18490,6 @@
/obj/structure/rack,
/obj/item/aicard,
/obj/item/disk/holodisk/tutorial/AICore,
-/obj/item/circuitboard/computer/ai_upload_download,
/obj/machinery/power/apc{
areastring = "/area/crew_quarters/heads/hor";
dir = 8;
@@ -19713,15 +19710,6 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"jyJ" = (
-/obj/machinery/computer/robotics{
- dir = 8
- },
-/obj/structure/sign/plaques/ai_password{
- pixel_x = 32
- },
-/turf/open/floor/carpet/purple,
-/area/crew_quarters/heads/hor)
"jyN" = (
/obj/effect/turf_decal/trimline/secred/filled/corner/lower,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
@@ -22056,6 +22044,9 @@
/obj/machinery/light/small,
/turf/open/floor/plasteel,
/area/hallway/secondary/service)
+"kHF" = (
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"kHQ" = (
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
@@ -24391,6 +24382,12 @@
},
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
+"lOz" = (
+/obj/machinery/computer/robotics{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/crew_quarters/heads/hor)
"lOU" = (
/obj/effect/turf_decal/trimline/purple/filled/line/lower{
dir = 1
@@ -25563,13 +25560,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/lab)
-"mqM" = (
-/obj/machinery/ai/data_core,
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/secondarydatacore)
"mrk" = (
/obj/effect/turf_decal/trimline/neutral/filled/line/lower{
dir = 4
@@ -29895,13 +29885,6 @@
},
/turf/open/floor/plasteel,
/area/science/mixing)
-"oCY" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/science/mixing)
"oEt" = (
/obj/effect/turf_decal/trimline/blue/filled/line/lower{
dir = 5
@@ -33544,6 +33527,10 @@
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
+"qpf" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"qpr" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -34031,6 +34018,9 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"qHu" = (
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/secondarydatacore)
"qHC" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
@@ -40891,6 +40881,16 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"tYV" = (
+/obj/machinery/ai/networking{
+ label = "Subcontroller";
+ roundstart_connection = "Computer Science - 2"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacore)
"tZf" = (
/obj/machinery/computer/cargo/request,
/obj/structure/cable{
@@ -41613,13 +41613,6 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
-"uvN" = (
-/obj/structure/chair/office/light{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"uvV" = (
/obj/effect/turf_decal/trimline/neutral/filled/line/lower{
dir = 4
@@ -42920,6 +42913,15 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"vaA" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacore)
"vaF" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -43896,6 +43898,13 @@
},
/turf/open/floor/engine,
/area/science/xenobiology)
+"vxw" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plasteel,
+/area/science/mixing)
"vyw" = (
/obj/effect/turf_decal/trimline/brown/filled/corner/lower,
/obj/machinery/door/poddoor/shutters{
@@ -48372,16 +48381,6 @@
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
-"xId" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel,
-/area/science/mixing)
"xIi" = (
/obj/structure/cable{
icon_state = "2-8"
@@ -49550,6 +49549,13 @@
},
/turf/open/floor/plasteel,
/area/storage/primary)
+"yii" = (
+/obj/machinery/ai/master_subcontroller,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacore)
"yij" = (
/obj/machinery/atmospherics/components/binary/pump{
name = "Port to Filter"
@@ -81697,7 +81703,7 @@ wTB
hBZ
kSo
dpf
-dpf
+tYV
juY
gYo
wQM
@@ -81954,8 +81960,8 @@ wTB
hBZ
nJe
dpf
-dpf
-mqM
+vaA
+qHu
ios
mZK
iGe
@@ -82211,7 +82217,7 @@ aOB
wOb
nJe
dpf
-dpf
+yii
vFH
ydu
dpf
@@ -82726,8 +82732,8 @@ nJe
wIc
dpf
ylC
-fvC
-cvx
+kHF
+kHF
dpf
wYJ
dpf
@@ -82983,7 +82989,7 @@ nJe
mpT
dpf
eVZ
-uvN
+qpf
mjG
sXP
xFt
@@ -83496,7 +83502,7 @@ oXR
hbW
lwK
wvV
-dXK
+iOW
dpf
tPI
erf
@@ -83753,7 +83759,7 @@ fNv
vwU
cXA
cyI
-xId
+aCl
uRs
lKJ
lAt
@@ -84010,7 +84016,7 @@ sZa
hbW
rsX
yfh
-oCY
+vxw
dpf
dpf
dpf
@@ -89395,7 +89401,7 @@ tAW
jNf
eEB
jlh
-jyJ
+lOz
eNu
bxI
tAW
diff --git a/_maps/map_files/IceMeta/IceMeta.dmm b/_maps/map_files/IceMeta/IceMeta.dmm
index 47726c83e084..64096f0c6552 100644
--- a/_maps/map_files/IceMeta/IceMeta.dmm
+++ b/_maps/map_files/IceMeta/IceMeta.dmm
@@ -705,24 +705,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"akU" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"akW" = (
/obj/structure/cable/yellow{
icon_state = "0-8"
@@ -3523,15 +3505,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/medical/paramedic)
-"baA" = (
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"baV" = (
/obj/structure/table/reinforced,
/obj/item/storage/fancy/donut_box,
@@ -3842,49 +3815,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
-"bfU" = (
-/obj/machinery/ai/data_core/primary,
-/obj/machinery/power/apc/highcap{
- areastring = "/area/ai_monitored/turret_protected/ai";
- name = "AI Chamber APC";
- pixel_y = -23
- },
-/obj/structure/cable/yellow,
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = -29;
- pixel_y = 8
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 27;
- pixel_y = -16
- },
-/obj/machinery/button/door{
- id = "aicoredoor";
- name = "AI Chamber entrance shutters control";
- pixel_x = -23;
- pixel_y = -12;
- req_access_txt = "16"
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = 27;
- pixel_y = -36
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 27;
- pixel_y = -26
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"bgn" = (
/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower{
dir = 4
@@ -5053,6 +4983,21 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/maintenance/starboard)
+"bzz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/yellow/warning/lower,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"bzI" = (
/obj/machinery/modular_computer/console/preset/mining{
dir = 8
@@ -5602,6 +5547,30 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"bHR" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -32;
+ pixel_y = 26
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 6
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"bHT" = (
/obj/item/paper_bin{
pixel_x = -2;
@@ -7055,18 +7024,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"cdD" = (
-/obj/machinery/light/small,
-/obj/machinery/computer/ai_resource_distribution{
- dir = 1
- },
-/obj/machinery/camera{
- c_tag = "Telecomms - Control Room";
- dir = 1;
- network = list("ss13","tcomms")
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"cee" = (
/obj/machinery/door/poddoor/shutters{
id = "teleshutter";
@@ -7162,10 +7119,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/paramedic)
-"cfN" = (
-/obj/machinery/ai/data_core,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"cge" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -8284,29 +8237,6 @@
icon_state = "panelscorched"
},
/area/maintenance/port)
-"cyh" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/firealarm{
- dir = 8;
- pixel_x = 26
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/mob/living/simple_animal/bot/secbot/pingsky,
-/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"cyj" = (
/obj/effect/turf_decal/plaque{
icon_state = "L4"
@@ -8403,15 +8333,6 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/dark/telecomms,
/area/science/server)
-"czx" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/structure/sign/plaques/ai_password{
- pixel_x = 32
- },
-/turf/open/floor/plasteel/white,
-/area/crew_quarters/heads/hor)
"czA" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -8432,6 +8353,18 @@
},
/turf/open/floor/plasteel,
/area/construction/storage_wing)
+"czH" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"czQ" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -8960,14 +8893,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"cIh" = (
-/obj/machinery/camera{
- c_tag = "Secondary AI Core";
- dir = 8;
- network = list("ss13","rd")
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"cIn" = (
/obj/effect/landmark/start/scientist,
/obj/structure/cable/yellow{
@@ -9527,6 +9452,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"cRt" = (
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"cRu" = (
/obj/structure/closet,
/turf/open/floor/plating{
@@ -10838,18 +10769,6 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fore)
-"dlZ" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/engiyellow/warning/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"dma" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/eastright{
@@ -11178,6 +11097,17 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
+"dqR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"drm" = (
/obj/machinery/airalarm{
dir = 4;
@@ -12230,10 +12160,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/mine/living_quarters)
-"dEV" = (
-/obj/machinery/ai/server_cabinet,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"dEY" = (
/obj/structure/bed/roller,
/obj/machinery/iv_drip,
@@ -12981,6 +12907,13 @@
/obj/effect/turf_decal/trimline/atmos/warning/lower/corner/flip,
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"dQm" = (
+/obj/machinery/ai/server_cabinet/prefilled,
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dQn" = (
/obj/effect/turf_decal/trimline/blue/filled/line/lower{
dir = 4
@@ -13389,27 +13322,6 @@
},
/turf/open/floor/plating/airless,
/area/science/xenobiology)
-"dWq" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/door/airlock/highsecurity{
- id_tag = "ai_core_airlock_exterior";
- name = "AI Core";
- req_access_txt = "65"
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"dWr" = (
/obj/machinery/computer/security/qm{
dir = 4
@@ -14385,6 +14297,26 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"enl" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"eno" = (
/obj/machinery/door/airlock/highsecurity{
name = "AI Upload";
@@ -14492,6 +14424,24 @@
/obj/structure/plasticflaps,
/turf/open/floor/plasteel,
/area/mine/production)
+"eoF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/trimline/yellow/warning/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"eoO" = (
/obj/effect/turf_decal/trimline/white/arrow_cw{
dir = 9
@@ -15071,6 +15021,19 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"exb" = (
+/obj/structure/chair/office/dark,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"exg" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/holopad,
@@ -15636,10 +15599,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
-"eGN" = (
-/obj/machinery/ai/server_cabinet/prefilled,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"eGW" = (
/obj/machinery/light/small{
dir = 1
@@ -15886,19 +15845,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/dark,
/area/chapel/main)
-"eLc" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/obj/structure/sign/warning/securearea{
- pixel_y = 31
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"eLp" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -15917,14 +15863,6 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
-"eLP" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"eLQ" = (
/obj/machinery/light{
dir = 8
@@ -16172,6 +16110,12 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/sorting)
+"eQe" = (
+/obj/machinery/status_display/ai{
+ pixel_y = 31
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"eQA" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
@@ -16537,19 +16481,6 @@
},
/turf/open/floor/plating,
/area/quartermaster/sorting)
-"eXP" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/light/small,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"eXS" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -16562,16 +16493,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/maintenance/starboard/secondary)
-"eYA" = (
-/obj/machinery/computer/security/telescreen/minisat{
- dir = 8;
- pixel_x = 28
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"eYJ" = (
/obj/effect/turf_decal/loading_area,
/turf/open/floor/plasteel/dark,
@@ -17190,6 +17111,22 @@
},
/turf/open/floor/plating,
/area/maintenance/port)
+"fid" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"fij" = (
/obj/machinery/atmospherics/pipe/simple{
dir = 5
@@ -17929,12 +17866,6 @@
/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel,
/area/quartermaster/miningoffice)
-"fsI" = (
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"fsJ" = (
/obj/structure/chair{
dir = 4;
@@ -19128,6 +19059,13 @@
/obj/item/book/manual/wiki/security_space_law,
/turf/open/floor/plasteel,
/area/security/courtroom)
+"fLl" = (
+/obj/machinery/ai/server_cabinet/prefilled,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fLo" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -21366,6 +21304,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
+"gpl" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacore)
"gpm" = (
/obj/structure/window/reinforced,
/obj/vehicle/ridden/wheelchair,
@@ -21593,6 +21537,19 @@
},
/turf/open/floor/plasteel,
/area/engine/storage_shared)
+"gtw" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
+/obj/structure/sign/warning/securearea{
+ pixel_y = 31
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"gtA" = (
/obj/structure/table/wood,
/obj/machinery/recharger,
@@ -21634,15 +21591,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"guL" = (
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -24;
- pixel_y = -6
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"guZ" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/rnd/production/circuit_imprinter/department/science,
@@ -21657,16 +21605,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"gve" = (
-/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"gvz" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -23038,6 +22976,13 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"gOj" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gOm" = (
/turf/closed/wall/r_wall,
/area/security/detectives_office)
@@ -24559,13 +24504,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
-"hiu" = (
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
- dir = 4
- },
-/obj/machinery/holopad,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"hiF" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -24848,18 +24786,6 @@
icon_state = "platingdmg1"
},
/area/maintenance/fore)
-"hnc" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/landmark/start/cyborg,
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"hnu" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
dir = 1
@@ -25180,6 +25106,15 @@
/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"htN" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"htR" = (
/obj/structure/window/reinforced,
/turf/open/floor/grass,
@@ -25737,16 +25672,6 @@
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet/restrooms)
-"hBp" = (
-/obj/structure/chair/office/dark,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 8
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"hBt" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -25769,13 +25694,6 @@
icon_state = "platingdmg1"
},
/area/maintenance/port/fore)
-"hBI" = (
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"hBQ" = (
/obj/machinery/atmospherics/pipe/simple/yellow/visible,
/obj/structure/cable/yellow{
@@ -25949,27 +25867,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"hEi" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Aft";
- dir = 8;
- network = list("aicore")
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/firealarm{
- dir = 8;
- pixel_x = 24
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"hEv" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -26790,6 +26687,24 @@
},
/turf/open/floor/plasteel,
/area/engine/foyer)
+"hPD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/light/small,
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"hPE" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26915,21 +26830,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/service)
-"hRr" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 4;
- external_pressure_bound = 120;
- name = "server vent"
- },
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/machinery/light/small,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"hRE" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -27236,17 +27136,6 @@
/obj/machinery/light/small,
/turf/open/floor/plating,
/area/science/mixing)
-"hXA" = (
-/obj/machinery/requests_console{
- announcementConsole = 1;
- department = "Telecomms Admin";
- departmentType = 5;
- name = "Telecomms RC";
- pixel_x = -32;
- pixel_y = -29
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"hYw" = (
/obj/effect/turf_decal/plaque{
icon_state = "L12"
@@ -28645,17 +28534,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"iuV" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"iuW" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/effect/spawner/structure/window/reinforced/shutter,
@@ -32522,15 +32400,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/medical/virology)
-"jyh" = (
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"jyi" = (
/obj/structure/closet/athletic_mixed,
/obj/item/pool/rubber_ring,
@@ -33064,6 +32933,15 @@
/obj/structure/window/reinforced,
/turf/open/floor/plating/asteroid/snow/icemoon/top_layer,
/area/icemoon/top_layer/outdoors)
+"jFU" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"jGf" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -33119,6 +32997,29 @@
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
+"jGE" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = 26
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/corner/lower{
+ dir = 8
+ },
+/mob/living/simple_animal/bot/secbot/pingsky,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"jGH" = (
/obj/machinery/light{
dir = 1
@@ -34648,9 +34549,6 @@
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
"kcT" = (
-/obj/machinery/computer/ai_resource_distribution{
- dir = 8
- },
/obj/structure/cable{
icon_state = "1-2"
},
@@ -34926,24 +34824,6 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
-"kgu" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/machinery/airalarm{
- dir = 4;
- pixel_x = -24
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/mob/living/simple_animal/bot/cleanbot,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"kgz" = (
/obj/structure/closet/emcloset,
/obj/machinery/light/small{
@@ -35268,6 +35148,17 @@
},
/turf/open/floor/plasteel/white,
/area/science/research)
+"kld" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"kle" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/obj/effect/turf_decal/trimline/engiyellow/warning/lower{
@@ -35546,6 +35437,13 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"kpp" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"kps" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/turf_decal/trimline/yellow/filled/line/lower{
@@ -35587,6 +35485,16 @@
},
/turf/open/floor/plasteel,
/area/science/xenobiology)
+"kpZ" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"kqq" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/costume,
@@ -35865,6 +35773,18 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"kuE" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"kuG" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -37921,6 +37841,22 @@
"lal" = (
/turf/open/floor/circuit/telecomms,
/area/science/xenobiology)
+"laF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "ai_core_airlock_interior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = 9;
+ pixel_y = 25
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"laP" = (
/obj/machinery/door/airlock/external{
glass = 1;
@@ -39449,37 +39385,6 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
-"lxp" = (
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/turret_protected/aisat_interior";
- dir = 4;
- name = "MiniSat Antechamber APC";
- pixel_x = 24
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/item/radio/intercom{
- broadcasting = 1;
- frequency = 1447;
- listening = 0;
- name = "Station Intercom (AI Private)";
- pixel_x = 28;
- pixel_y = 11
- },
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"lxx" = (
/turf/closed/wall,
/area/medical/medbay/aft)
@@ -40065,6 +39970,16 @@
},
/turf/open/floor/plasteel/dark,
/area/aisat)
+"lHM" = (
+/obj/machinery/ai/networking{
+ label = "Subcontroller";
+ roundstart_connection = "Computer Science - 2"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacore)
"lHP" = (
/obj/machinery/door/airlock/security{
name = "Customs Desk";
@@ -40440,21 +40355,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/command)
-"lMC" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "ai_core_airlock_exterior";
- idSelf = "ai_core_airlock_control";
- pixel_x = 10;
- pixel_y = -22
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"lMR" = (
/obj/effect/turf_decal/trimline/brown/filled/corner/lower,
/turf/open/floor/plasteel,
@@ -44400,10 +44300,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"mPJ" = (
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"mPR" = (
/obj/structure/window/reinforced,
/obj/machinery/power/terminal{
@@ -45906,6 +45802,12 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
+"nkE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/white,
+/area/crew_quarters/heads/hor)
"nkJ" = (
/obj/machinery/camera{
c_tag = "Mech Bay";
@@ -46402,12 +46304,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"nts" = (
-/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
- dir = 8
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"ntL" = (
/obj/machinery/door/poddoor/shutters{
id = "teleshutter";
@@ -46679,13 +46575,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/lab)
-"nwW" = (
-/obj/machinery/status_display/ai{
- pixel_y = 31
- },
-/obj/machinery/computer/ai_control_console,
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"nxb" = (
/obj/machinery/light/small{
dir = 8
@@ -47652,6 +47541,30 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
+"nMa" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "aicoredoor";
+ name = "AI Chamber entrance shutters"
+ },
+/obj/machinery/door/airlock/highsecurity{
+ id_tag = "ai_core_airlock_interior";
+ name = "AI Core";
+ req_access_txt = "65"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nMf" = (
/obj/effect/turf_decal/trimline/green/filled/corner/lower{
dir = 4
@@ -47815,6 +47728,24 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
+"nOd" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 4
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "ai_core_airlock_exterior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = 10;
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"nOf" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -48451,6 +48382,21 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"nWF" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "MiniSat - Antechamber";
+ dir = 4;
+ network = list("minisat","ss13")
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 9
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"nWG" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
dir = 4;
@@ -48529,21 +48475,6 @@
/obj/item/clothing/mask/breath,
/turf/open/floor/plasteel/dark,
/area/teleporter)
-"nXI" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/machinery/camera{
- c_tag = "MiniSat - Antechamber";
- dir = 4;
- network = list("minisat","ss13")
- },
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 9
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"nXZ" = (
/obj/machinery/chem_dispenser{
layer = 2.7
@@ -49908,6 +49839,18 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"orF" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -24;
+ pixel_y = -6
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"orH" = (
/obj/structure/sign/warning/vacuum/external{
pixel_x = -32
@@ -50885,6 +50828,50 @@
},
/turf/open/floor/wood,
/area/library)
+"oGv" = (
+/obj/machinery/ai/data_core/primary,
+/obj/machinery/power/apc/highcap{
+ areastring = "/area/ai_monitored/turret_protected/ai";
+ name = "AI Chamber APC";
+ pixel_y = -23
+ },
+/obj/structure/cable/yellow,
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_x = -29;
+ pixel_y = 8
+ },
+/obj/item/radio/intercom{
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_x = 27;
+ pixel_y = -16
+ },
+/obj/machinery/button/door{
+ id = "aicoredoor";
+ name = "AI Chamber entrance shutters control";
+ pixel_x = -23;
+ pixel_y = -12;
+ req_access_txt = "16"
+ },
+/obj/item/radio/intercom{
+ freerange = 1;
+ name = "Common Channel";
+ pixel_x = 27;
+ pixel_y = -36
+ },
+/obj/item/radio/intercom{
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_x = 27;
+ pixel_y = -26
+ },
+/obj/structure/ethernet_cable,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oGx" = (
/obj/structure/closet,
/obj/item/poster/random_contraband,
@@ -51934,6 +51921,21 @@
},
/turf/open/floor/engine/air,
/area/engine/atmos/distro)
+"oZD" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/landmark/start/cyborg,
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"oZQ" = (
/obj/machinery/airalarm{
dir = 1;
@@ -52625,9 +52627,6 @@
},
/turf/open/floor/carpet,
/area/security/detectives_office)
-"pke" = (
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"pkk" = (
/obj/structure/cable/yellow{
icon_state = "1-4"
@@ -53151,6 +53150,13 @@
},
/turf/open/floor/plating/asteroid/snow/icemoon/top_layer,
/area/icemoon/top_layer/outdoors)
+"prI" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"prJ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -54357,14 +54363,6 @@
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet/restrooms)
-"pLc" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"pLp" = (
/turf/open/lava/plasma/ice_moon,
/area/icemoon/underground/explored)
@@ -56339,31 +56337,6 @@
/obj/structure/transit_tube/diagonal,
/turf/open/floor/plating/asteroid/snow/icemoon/top_layer,
/area/icemoon/top_layer/outdoors)
-"qpZ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -1;
- pixel_y = 32
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "ai_core_airlock_exterior";
- idSelf = "ai_core_airlock_control";
- pixel_x = 10;
- pixel_y = 22
- },
-/obj/machinery/doorButtons/airlock_controller{
- idExterior = "ai_core_airlock_exterior";
- idInterior = "ai_core_airlock_interior";
- idSelf = "ai_core_airlock_control";
- pixel_x = 9;
- pixel_y = 32
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"qqg" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -56929,16 +56902,6 @@
},
/turf/open/floor/plasteel/dark,
/area/storage/tcom)
-"qxy" = (
-/obj/structure/sign/departments/minsky/engineering/telecommmunications{
- pixel_y = -32
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"qxE" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
@@ -57402,6 +57365,31 @@
},
/turf/open/floor/plasteel,
/area/mine/production)
+"qFb" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -1;
+ pixel_y = 32
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "ai_core_airlock_exterior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = 10;
+ pixel_y = 22
+ },
+/obj/machinery/doorButtons/airlock_controller{
+ idExterior = "ai_core_airlock_exterior";
+ idInterior = "ai_core_airlock_interior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = 9;
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"qFe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -59795,6 +59783,30 @@
},
/turf/open/floor/plasteel/white,
/area/science/lab)
+"rql" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Aft";
+ dir = 8;
+ network = list("aicore")
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"rqM" = (
/obj/structure/urinal{
pixel_y = 29
@@ -60710,6 +60722,30 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"rGw" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/door/airlock/highsecurity{
+ id_tag = "ai_core_airlock_exterior";
+ name = "AI Core";
+ req_access_txt = "65"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"rGz" = (
/obj/effect/landmark/start/cargo_technician,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
@@ -61179,6 +61215,22 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
+"rNZ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rOg" = (
/obj/machinery/firealarm{
dir = 1;
@@ -62618,6 +62670,12 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/white,
/area/medical/storage/locker)
+"siJ" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"siR" = (
/turf/open/floor/plasteel/dark,
/area/mine/laborcamp)
@@ -64265,23 +64323,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
-"sFs" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -32;
- pixel_y = 26
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"sFz" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -65474,6 +65515,21 @@
icon_state = "platingdmg3"
},
/area/maintenance/port/aft)
+"sXk" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/ai/networking{
+ label = "Computer Science - 2";
+ roundstart_connection = "Subcontroller"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"sXp" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/westleft{
@@ -66237,6 +66293,19 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"tgV" = (
+/obj/machinery/light/small,
+/obj/machinery/camera{
+ c_tag = "Telecomms - Control Room";
+ dir = 1;
+ network = list("ss13","tcomms")
+ },
+/obj/machinery/modular_computer/console/preset/netmin{
+ dir = 1
+ },
+/obj/structure/ethernet_cable,
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"tgZ" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -66246,6 +66315,15 @@
"thl" = (
/turf/closed/wall,
/area/maintenance/aft)
+"tia" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tib" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -66602,6 +66680,16 @@
},
/turf/open/floor/plasteel/dark,
/area/security/execution/education)
+"tnv" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tnx" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 1
@@ -68420,6 +68508,18 @@
/obj/structure/table/wood,
/turf/open/floor/plasteel/dark,
/area/chapel/main)
+"tQQ" = (
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 8;
+ network = list("ss13","rd")
+ },
+/obj/machinery/ai/master_subcontroller,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/secondarydatacore)
"tQZ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable/yellow,
@@ -68661,6 +68761,36 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/ai_monitored/secondarydatacore)
+"tTN" = (
+/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/turret_protected/aisat_interior";
+ dir = 4;
+ name = "MiniSat Antechamber APC";
+ pixel_x = 24
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/item/radio/intercom{
+ broadcasting = 1;
+ frequency = 1447;
+ listening = 0;
+ name = "Station Intercom (AI Private)";
+ pixel_x = 28;
+ pixel_y = 11
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line/lower{
+ dir = 5
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"tTP" = (
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel,
@@ -69810,6 +69940,18 @@
},
/turf/open/floor/plasteel,
/area/hydroponics)
+"ukA" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ukG" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -70249,7 +70391,6 @@
"uql" = (
/obj/structure/table,
/obj/item/aicard,
-/obj/item/circuitboard/computer/ai_upload_download,
/obj/item/disk/holodisk/tutorial/AICore,
/turf/open/floor/plasteel/cafeteria{
dir = 5
@@ -71950,6 +72091,12 @@
/obj/structure/grille,
/turf/open/floor/plating/asteroid/snow/icemoon/top_layer,
/area/icemoon/top_layer/outdoors)
+"uOe" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"uOh" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -72809,6 +72956,24 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"vaT" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/corner/lower,
+/mob/living/simple_animal/bot/cleanbot,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"vaY" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/glass/bottle/epinephrine{
@@ -73053,6 +73218,20 @@
},
/turf/open/floor/plasteel/white,
/area/medical/paramedic)
+"vdG" = (
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Telecomms Admin";
+ departmentType = 5;
+ name = "Telecomms RC";
+ pixel_x = -32;
+ pixel_y = -29
+ },
+/obj/machinery/vr_sleeper/netmin{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"vdQ" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -73163,13 +73342,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"vfC" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"vfR" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -74308,6 +74480,12 @@
},
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
+"vwO" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"vwS" = (
/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
dir = 1
@@ -75672,24 +75850,6 @@
},
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
-"vRc" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"vRe" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -75906,21 +76066,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
-"vUa" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/light{
- dir = 8
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "ai_core_airlock_interior";
- idSelf = "ai_core_airlock_control";
- pixel_x = 9;
- pixel_y = 25
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"vUd" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -77941,17 +78086,6 @@
},
/turf/open/floor/plasteel/dark,
/area/aisat)
-"wwd" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 4;
- network = list("aicore")
- },
-/obj/structure/frame/machine{
- anchored = 1
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"wwf" = (
/turf/open/floor/engine/vacuum,
/area/engine/atmos/distro)
@@ -80221,6 +80355,11 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
+"xeg" = (
+/obj/machinery/compsci_reciever,
+/obj/structure/table,
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"xeh" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/stripes/line{
@@ -81201,6 +81340,21 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"xsH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/blue/warning/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"xsK" = (
/obj/machinery/door/airlock/maintenance_hatch,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -82114,6 +82268,19 @@
},
/turf/closed/wall/r_wall,
/area/engine/atmos/distro)
+"xCL" = (
+/obj/machinery/computer/security/telescreen/minisat{
+ dir = 8;
+ pixel_x = 28
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"xCX" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -82417,6 +82584,25 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"xGx" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Telecomms Control Room";
+ req_one_access_txt = "19; 61"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"xGM" = (
/obj/machinery/atmospherics/components/binary/pump/on/layer2{
dir = 4
@@ -83554,27 +83740,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
-"xVQ" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "aicoredoor";
- name = "AI Chamber entrance shutters"
- },
-/obj/machinery/door/airlock/highsecurity{
- id_tag = "ai_core_airlock_interior";
- name = "AI Core";
- req_access_txt = "65"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"xVS" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -83695,6 +83860,16 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"xXd" = (
+/obj/structure/sign/departments/minsky/engineering/telecommmunications{
+ pixel_y = -32
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"xXk" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -248619,7 +248794,7 @@ kkV
oCz
iaj
aTa
-czx
+nkE
ofN
nqo
abl
@@ -252475,7 +252650,7 @@ lXG
krH
xNs
xNs
-pke
+lHM
tTz
nWG
eoo
@@ -252732,7 +252907,7 @@ cgO
cOc
xNs
xNs
-cfN
+gpl
pwI
eCi
xNs
@@ -252989,7 +253164,7 @@ cFq
seQ
xNs
xNs
-dEV
+gpl
qbC
jnM
iFF
@@ -253246,7 +253421,7 @@ tcs
dbQ
xNs
xNs
-cIh
+tQQ
vYc
oyE
xNs
@@ -269644,8 +269819,8 @@ jYF
kfW
kfW
kfW
-wwd
-eGN
+sXk
+dQm
uAZ
dxt
kfW
@@ -269901,8 +270076,8 @@ jYF
kfW
iQH
nVe
-lTE
-lTE
+jFU
+uOe
lTE
eSn
ijs
@@ -269917,7 +270092,7 @@ qoe
qoq
dpk
mUd
-hXA
+vdG
ahQ
xjJ
xjJ
@@ -270158,7 +270333,7 @@ kfW
kfW
cgP
gKc
-hBI
+kpZ
aHd
qcJ
pxE
@@ -270167,9 +270342,9 @@ kfW
mej
aeQ
kfW
-nXI
-vRc
-kgu
+nWF
+xsH
+vaT
qoe
iPP
kqr
@@ -270415,18 +270590,18 @@ kfW
xcD
keO
axY
-hRr
+hPD
kfW
kfW
piH
rOv
kfW
-vUa
-lMC
+laF
+nOd
kfW
-qpZ
+qFb
kYw
-qxy
+xXd
qoe
sXV
bBE
@@ -270672,21 +270847,21 @@ kfW
lTU
wWM
siY
-gve
-bfU
+fid
+oGv
kfW
-hiu
-jyh
-xVQ
-sFs
-iuV
-dWq
-baA
-hnc
-dlZ
-dva
-eLP
-pLc
+tnv
+ukA
+nMa
+bHR
+enl
+rGw
+kuE
+oZD
+bzz
+xGx
+dqR
+kld
yiZ
iiE
tHd
@@ -270929,23 +271104,23 @@ kfW
mVK
pQb
fyN
-eXP
+rNZ
kfW
kfW
-piH
+tia
npo
kfW
-hEi
-eYA
+rql
+xCL
kfW
-eLc
+gtw
rbf
-vfC
+prI
qoe
quD
-kqr
+vwO
mJT
-kqr
+xeg
gOJ
ahQ
gOJ
@@ -271186,23 +271361,23 @@ kfW
kfW
lTE
vwS
-nts
-guL
-mPJ
-axY
+czH
+orF
+kpp
+gOj
npo
kfW
kfW
mSY
kfW
-lxp
-akU
-cyh
+tTN
+eoF
+jGE
qoe
-nwW
-kqr
-hBp
-cdD
+eQe
+cRt
+exb
+tgV
gOJ
hQh
urt
@@ -271443,8 +271618,8 @@ jYF
kfW
vjd
nvm
-fsI
-lTE
+htN
+siJ
lTE
gPz
pOe
@@ -271701,7 +271876,7 @@ kfW
kfW
kfW
vbX
-eGN
+fLl
dxt
mHX
kfW
diff --git a/_maps/map_files/YogStation/YogStation.dmm b/_maps/map_files/YogStation/YogStation.dmm
index 1c3bd45dc3f6..fac02170a3f2 100644
--- a/_maps/map_files/YogStation/YogStation.dmm
+++ b/_maps/map_files/YogStation/YogStation.dmm
@@ -296,12 +296,6 @@
/obj/item/stock_parts/cell/high/plus,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
-"abx" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/machinery/ai/server_cabinet/prefilled,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"aby" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 8
@@ -1540,22 +1534,6 @@
},
/turf/open/floor/plasteel,
/area/security/courtroom)
-"alf" = (
-/obj/machinery/door/poddoor/preopen{
- id = "testlab";
- name = "test chamber blast door"
- },
-/obj/machinery/door/airlock/research/glass{
- name = "Test Chamber";
- req_access_txt = "47"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/science/misc_lab)
"alh" = (
/obj/structure/sign/warning/vacuum/external{
pixel_x = -32
@@ -1604,6 +1582,13 @@
},
/turf/open/space/basic,
/area/solar/port/fore)
+"alq" = (
+/obj/machinery/vr_sleeper/netmin{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"alt" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -1719,6 +1704,37 @@
"ame" = (
/turf/open/floor/plasteel,
/area/security/courtroom)
+"aml" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Research Director";
+ req_access_txt = "30"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/crew_quarters/heads/hor)
"amn" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -2095,6 +2111,16 @@
"aoV" = (
/turf/open/space,
/area/space)
+"aoX" = (
+/obj/structure/frame/machine{
+ anchored = 1;
+ state = 2
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"aoZ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 9
@@ -2730,18 +2756,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
-"aue" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating{
- icon_state = "platingdmg3"
- },
-/area/maintenance/starboard/aft)
"auf" = (
/obj/machinery/firealarm{
dir = 4;
@@ -2779,14 +2793,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
-"aum" = (
-/obj/structure/chair/stool,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/teleport_anchor,
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"aun" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -2896,6 +2902,13 @@
/obj/effect/turf_decal/trimline/secred/filled/line/lower,
/turf/open/floor/plasteel,
/area/security/brig)
+"avd" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"avj" = (
/obj/structure/table,
/obj/machinery/cell_charger,
@@ -4172,15 +4185,6 @@
},
/turf/open/floor/wood,
/area/crew_quarters/dorms)
-"aDW" = (
-/obj/machinery/status_display/ai{
- pixel_y = 32
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"aDX" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -4985,6 +4989,13 @@
},
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
+"aKi" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/chair/office/light,
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"aKl" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 4
@@ -5972,6 +5983,10 @@
},
/turf/open/floor/plasteel/cult,
/area/library)
+"aQw" = (
+/obj/structure/girder/displaced,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"aQx" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 10
@@ -6497,6 +6512,23 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
+"aUc" = (
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 24;
+ pixel_y = -10
+ },
+/obj/machinery/camera/motion{
+ c_tag = "MiniSat Foyer";
+ dir = 8;
+ network = list("minisat","ss13")
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"aUh" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 10
@@ -6562,6 +6594,31 @@
/obj/structure/chair/office/dark,
/turf/open/floor/wood,
/area/library)
+"aUK" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/airlock/highsecurity{
+ id_tag = "ai_core_airlock_exterior";
+ name = "AI Core";
+ req_access_txt = "65"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "aicoredoor";
+ name = "AI Chamber entrance shutters"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"aUL" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 5
@@ -8000,20 +8057,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plating,
/area/maintenance/starboard)
-"bhL" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 5
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bhM" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -8061,6 +8104,16 @@
"bhW" = (
/turf/closed/wall,
/area/quartermaster/office)
+"bhY" = (
+/obj/machinery/status_display/ai{
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"bhZ" = (
/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel,
@@ -9422,24 +9475,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"buu" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
-"buv" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"buw" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -10124,14 +10159,6 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/science/server)
-"bAA" = (
-/obj/machinery/atmospherics/pipe/manifold/general/visible{
- dir = 4
- },
-/obj/machinery/meter,
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"bAB" = (
/obj/machinery/door/airlock/command/glass{
name = "Server Room";
@@ -10157,16 +10184,6 @@
},
/turf/open/floor/plasteel/dark,
/area/science/server)
-"bAD" = (
-/obj/structure/chair/office/light,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 5
- },
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"bAO" = (
/obj/vehicle/ridden/janicart,
/obj/item/key/janitor,
@@ -10415,45 +10432,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/science/server)
-"bBW" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = 4;
- pixel_y = 1
- },
-/obj/item/folder{
- pixel_x = -5;
- pixel_y = 8
- },
-/obj/item/pen{
- pixel_x = -5;
- pixel_y = 8
- },
-/obj/machinery/firealarm{
- dir = 1;
- pixel_y = -26
- },
-/obj/item/reagent_containers/food/drinks/britcup{
- desc = "This is a legendary cup. Some sources claim it was a trophy, won after a lengthy war over tables.";
- name = "Medium Roast Premium coffee cup";
- pixel_x = 8;
- pixel_y = 9
- },
-/turf/open/floor/plasteel/dark,
-/area/science/server)
-"bBX" = (
-/obj/machinery/computer/rdservercontrol{
- dir = 1
- },
-/obj/machinery/airalarm{
- dir = 1;
- pixel_y = -24
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"bCf" = (
/obj/machinery/airalarm{
dir = 8;
@@ -10717,11 +10695,6 @@
"bEm" = (
/turf/open/floor/engine,
/area/science/xenobiology)
-"bEo" = (
-/obj/machinery/portable_atmospherics/canister/plasma,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/plasteel,
-/area/science/storage)
"bEs" = (
/turf/closed/wall,
/area/science/mixing)
@@ -11282,22 +11255,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
-"bKB" = (
-/obj/structure/closet/emcloset,
-/obj/structure/sign/warning/electricshock{
- pixel_y = -32
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
- },
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"bKG" = (
/obj/machinery/requests_console{
department = "EVA";
@@ -12244,29 +12201,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/medical/virology)
-"bRR" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/airlock/research/glass{
- name = "Secondary AI Core";
- normalspeed = 0;
- req_access_txt = "47"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"bSh" = (
/obj/item/radio/intercom{
dir = 4;
@@ -12281,19 +12215,6 @@
},
/turf/open/floor/plasteel,
/area/security/prison/hallway)
-"bSm" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 1
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating{
- icon_state = "platingdmg3"
- },
-/area/maintenance/starboard/aft)
"bSC" = (
/obj/machinery/portable_atmospherics/canister/water_vapor,
/obj/structure/window/reinforced{
@@ -12307,29 +12228,6 @@
/obj/effect/turf_decal/trimline/blue,
/turf/open/floor/plasteel/dark,
/area/engine/atmos/foyer)
-"bSJ" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/airlock/hatch{
- name = "MiniSat Antechamber";
- req_access_txt = "65"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bSN" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -12418,6 +12316,15 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
+"bTL" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"bUh" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
@@ -12610,6 +12517,15 @@
/mob/living/simple_animal/slime,
/turf/open/floor/engine,
/area/science/xenobiology)
+"bXk" = (
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"bXp" = (
/obj/structure/chair/stool,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -12710,30 +12626,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"bYF" = (
-/obj/machinery/button/door{
- id = "misclab";
- name = "Test Chamber Blast Doors";
- pixel_x = -13;
- pixel_y = 6;
- req_access_txt = "55"
- },
-/obj/structure/table/reinforced,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/item/paper_bin{
- pixel_y = 4
- },
-/obj/item/pen{
- pixel_x = -4
- },
-/obj/item/folder/white{
- pixel_x = 4;
- pixel_y = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/science/xenobiology)
"bYI" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
@@ -12845,14 +12737,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/prison)
-"car" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"caI" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -12868,6 +12752,16 @@
},
/turf/open/floor/plating,
/area/security/prison)
+"caL" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/obj/machinery/light,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"caR" = (
/obj/structure/table,
/obj/item/stack/cable_coil{
@@ -13184,10 +13078,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"ceR" = (
-/obj/effect/landmark/blobstart,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"ceW" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/techstorage/RnD_secure,
@@ -14366,6 +14256,30 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/starboard/fore)
+"csa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/xenobiology)
+"csi" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/storage/satellite)
"csl" = (
/obj/machinery/vending/cola/random,
/turf/open/floor/plasteel/dark,
@@ -14644,6 +14558,19 @@
},
/turf/open/floor/plasteel,
/area/engine/engine_smes)
+"cvU" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plating,
+/area/ai_monitored/storage/satellite)
"cvV" = (
/obj/machinery/door/airlock/external{
name = "MiniSat External Access";
@@ -14914,17 +14841,6 @@
},
/turf/open/floor/plasteel,
/area/vacant_room/commissary)
-"cAP" = (
-/obj/structure/table,
-/obj/item/electropack,
-/obj/item/healthanalyzer,
-/obj/item/assembly/signaler,
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"cAR" = (
/obj/effect/turf_decal/box,
/obj/machinery/firealarm{
@@ -15756,6 +15672,18 @@
/obj/structure/window/reinforced,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
+"cNi" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"cNy" = (
/obj/machinery/air_sensor{
id_tag = "co2_sensor"
@@ -16017,6 +15945,18 @@
/obj/item/stock_parts/subspace/amplifier,
/turf/open/floor/plasteel/white,
/area/storage/tech)
+"cRc" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"cRi" = (
/obj/machinery/door/firedoor/border_only,
/obj/machinery/door/firedoor/border_only{
@@ -16224,6 +16164,14 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"cUl" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"cUm" = (
/obj/structure/sign/departments/minsky/security/security,
/turf/closed/wall,
@@ -16380,15 +16328,6 @@
/obj/effect/turf_decal/trimline/blue/filled/line/lower,
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
-"cWY" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"cXg" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 1
@@ -16597,26 +16536,10 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/bridge)
-"dbB" = (
-/obj/machinery/door/window/southleft{
- name = "Test Chamber";
- req_access_txt = "55"
- },
-/obj/machinery/atmospherics/pipe/simple/orange/visible{
- dir = 1
- },
-/obj/effect/turf_decal/loading_area{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/science/xenobiology)
"dbJ" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
},
-/obj/structure/sign/plaques/ai_password{
- pixel_x = 32
- },
/obj/machinery/papershredder,
/turf/open/floor/plasteel/white,
/area/crew_quarters/heads/hor)
@@ -16658,6 +16581,15 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"ddk" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ddA" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -16707,6 +16639,18 @@
},
/turf/open/floor/plasteel/white,
/area/medical/surgery)
+"deQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"dfb" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 9
@@ -17133,12 +17077,6 @@
/obj/machinery/rack_creator,
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
-"dnj" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"dno" = (
/obj/machinery/requests_console{
announcementConsole = 1;
@@ -17875,13 +17813,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/nuke_storage)
-"dBH" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 4
- },
-/obj/machinery/meter,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"dBV" = (
/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/wood,
@@ -17927,6 +17858,20 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel/dark,
/area/security/prison)
+"dCT" = (
+/obj/machinery/holopad,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"dDm" = (
/obj/effect/landmark/observer_start,
/obj/effect/turf_decal/plaque{
@@ -17978,28 +17923,6 @@
"dEb" = (
/turf/closed/wall,
/area/crew_quarters/heads/hop)
-"dEd" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/airlock/hatch{
- name = "MiniSat Monitoring Room";
- req_access_txt = "65"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"dEw" = (
/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
dir = 4
@@ -18379,6 +18302,25 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab)
+"dMr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
+/turf/open/floor/plasteel/white,
+/area/science/research)
"dMA" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -18509,15 +18451,6 @@
/obj/machinery/porta_turret/ai,
/turf/open/floor/circuit/telecomms/server,
/area/ai_monitored/turret_protected/ai)
-"dOp" = (
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 8
- },
-/obj/structure/cable/white{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"dOt" = (
/obj/machinery/vending/wardrobe/medi_wardrobe,
/obj/machinery/light,
@@ -18787,20 +18720,6 @@
/obj/machinery/vending/robotics,
/turf/open/floor/plasteel,
/area/science/robotics/lab)
-"dTb" = (
-/obj/machinery/holopad,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/structure/chair/office/dark{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"dTe" = (
/obj/structure/closet/secure_closet/quartermaster,
/obj/machinery/airalarm{
@@ -19005,15 +18924,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"dXn" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"dXw" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/sign/warning/electricshock,
@@ -20100,6 +20010,18 @@
},
/turf/open/floor/plasteel/freezer,
/area/security/prison)
+"etp" = (
+/obj/machinery/door/airlock/command/glass{
+ id_tag = "secondary_aicore_exterior";
+ name = "Physical Core Access";
+ req_one_access_txt = "30;70"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"etv" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/mix_input{
dir = 4
@@ -20411,6 +20333,25 @@
/obj/effect/landmark/start/assistant,
/turf/open/floor/wood,
/area/library)
+"exA" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "MiniSat Maintenance";
+ req_access_txt = "65"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/storage/satellite)
"exB" = (
/obj/structure/chair/office/dark{
dir = 4
@@ -20707,6 +20648,10 @@
/obj/effect/turf_decal/box/corners,
/turf/open/floor/engine,
/area/science/xenobiology)
+"eDh" = (
+/obj/machinery/atmospherics/pipe/manifold4w/cyan/hidden,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"eDG" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
dir = 8
@@ -20947,6 +20892,12 @@
/obj/machinery/meter,
/turf/open/floor/plasteel,
/area/engine/atmos/mix)
+"eGL" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"eGN" = (
/obj/structure/sign/warning/electricshock{
pixel_y = 32
@@ -21203,6 +21154,15 @@
},
/turf/open/floor/plasteel,
/area/security/main)
+"eLI" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -27
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"eLV" = (
/obj/structure/grille/broken,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
@@ -21259,6 +21219,18 @@
},
/turf/open/floor/plasteel,
/area/engine/foyer)
+"eMz" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/multitool,
+/obj/machinery/cell_charger{
+ pixel_y = 5
+ },
+/obj/item/stock_parts/cell/high/plus,
+/obj/item/stack/cable_coil,
+/obj/effect/turf_decal/trimline/blue/filled/line/lower,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"eMG" = (
/obj/machinery/light,
/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower,
@@ -21322,6 +21294,13 @@
},
/turf/open/space/basic,
/area/solar/port/fore)
+"eNr" = (
+/obj/machinery/computer/ai_overclocking,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"eNw" = (
/obj/machinery/airalarm{
dir = 8;
@@ -21578,6 +21557,18 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"eSt" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/sign/departments/minsky/command/charge{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"eSP" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
dir = 8
@@ -21848,6 +21839,10 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"eWI" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"eWN" = (
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/obj/machinery/atmospherics/miner/n2o,
@@ -22206,7 +22201,6 @@
/obj/structure/sign/plaques/cave{
pixel_y = 32
},
-/obj/item/circuitboard/computer/ai_upload_download,
/turf/open/floor/plasteel/white,
/area/crew_quarters/heads/hor)
"fen" = (
@@ -22325,6 +22319,9 @@
},
/turf/open/floor/plasteel/white,
/area/science/research)
+"ffJ" = (
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"fgc" = (
/turf/closed/wall,
/area/crew_quarters/kitchen)
@@ -22385,6 +22382,37 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
+"fhu" = (
+/obj/machinery/button/door{
+ id = "misclab";
+ name = "Test Chamber Blast Doors";
+ pixel_x = -13;
+ pixel_y = 6;
+ req_access_txt = "55"
+ },
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/item/paper_bin{
+ pixel_y = 4
+ },
+/obj/item/pen{
+ pixel_x = -4
+ },
+/obj/machinery/button/door{
+ id = "misclab";
+ name = "Test Chamber Blast Doors";
+ pixel_x = -13;
+ pixel_y = 6;
+ req_access_txt = "55"
+ },
+/obj/item/folder/white{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/xenobiology)
"fhF" = (
/obj/structure/closet/crate,
/obj/item/stack/license_plates/empty/fifty,
@@ -22587,6 +22615,10 @@
/obj/effect/turf_decal/trimline/brown/filled/corner/lower,
/turf/open/floor/plasteel,
/area/quartermaster/office)
+"fkf" = (
+/obj/item/ai_cpu,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"fkk" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -22629,6 +22661,18 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
+"fkO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 9
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"flm" = (
/obj/machinery/camera{
c_tag = "Toxins Lab West";
@@ -22801,21 +22845,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/interrogation)
-"fnK" = (
-/obj/machinery/airalarm{
- dir = 1;
- pixel_y = -24
- },
-/obj/structure/showcase/cyborg/old{
- dir = 4;
- pixel_x = -9;
- pixel_y = 2
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 10
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"fnX" = (
/obj/machinery/vending/wardrobe/gene_wardrobe,
/obj/effect/turf_decal/trimline/purple/filled/line/lower{
@@ -23784,18 +23813,6 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
-"fFO" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/computer/ai_resource_distribution{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"fFS" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor/border_only{
@@ -23903,6 +23920,20 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"fIa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/mapping_helpers/teleport_anchor,
+/obj/structure/chair/stool,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/xenobiology)
"fIc" = (
/obj/structure/filingcabinet/filingcabinet,
/obj/machinery/power/apc{
@@ -23966,13 +23997,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft_starboard)
-"fIH" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"fIS" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -24070,6 +24094,14 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
+"fJX" = (
+/obj/item/stack/cable_coil,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fJY" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/vending/cigarette,
@@ -24130,31 +24162,6 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
-"fKM" = (
-/obj/machinery/door/airlock/command/glass{
- id_tag = "secondary_aicore_interior";
- name = "Physical Core Access";
- req_one_access_txt = "30, 70"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
- dirx = -1;
- diry = -1
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/ai_monitored/secondarydatacore)
"fKR" = (
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
@@ -24788,29 +24795,14 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
-"fYE" = (
+"fYx" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "MiniSat Maintenance";
- req_access_txt = "65"
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/storage/satellite)
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"fYZ" = (
/obj/effect/turf_decal/trimline/secred/filled/corner/lower{
dir = 8
@@ -25098,6 +25090,18 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
+"gcS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"gdE" = (
/obj/machinery/door/poddoor/shutters{
id = "phoenixwright";
@@ -25125,12 +25129,6 @@
},
/turf/open/floor/wood,
/area/library)
-"gdI" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 10
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"gdU" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -25273,6 +25271,12 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
+"ggA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/starboard/aft)
"ggC" = (
/obj/effect/turf_decal/trimline/purple/filled/line/lower,
/turf/open/floor/plasteel/white,
@@ -25443,31 +25447,6 @@
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
-"gka" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/airlock/highsecurity{
- id_tag = "ai_core_airlock_interior";
- name = "AI Core";
- req_access_txt = "65"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "aicoredoor";
- name = "AI Chamber entrance shutters"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"gkA" = (
/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
@@ -25584,19 +25563,6 @@
/obj/machinery/atmospherics/miner/toxins,
/turf/open/floor/engine/plasma,
/area/engine/atmos/distro)
-"goW" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/power/apc/highcap{
- areastring = "/area/ai_monitored/secondarydatacore";
- dir = 4;
- name = "AI Secondary Datacore";
- pixel_x = 24
- },
-/obj/structure/cable,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"goZ" = (
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark,
@@ -25664,6 +25630,26 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
+"gqI" = (
+/obj/machinery/door/airlock/command/glass{
+ id_tag = "secondary_aicore_interior";
+ name = "Physical Core Access";
+ req_one_access_txt = "30;70"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/secondarydatacore)
"gqO" = (
/obj/structure/chair{
dir = 8
@@ -25712,15 +25698,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plasteel,
/area/security/prison/hallway)
-"grq" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"gru" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 1
@@ -25778,6 +25755,15 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
+"gtd" = (
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"gtj" = (
/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
dir = 1
@@ -25787,6 +25773,19 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"gtk" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/effect/landmark/start/yogs/network_admin,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"gtn" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -25964,18 +25963,6 @@
},
/turf/open/floor/engine,
/area/science/misc_lab)
-"gvV" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/multitool,
-/obj/machinery/cell_charger{
- pixel_y = 5
- },
-/obj/item/stock_parts/cell/high/plus,
-/obj/item/stack/cable_coil,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"gws" = (
/obj/machinery/airalarm{
pixel_y = 24
@@ -26103,6 +26090,18 @@
/obj/structure/closet/secure_closet/medical3,
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"gzq" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/item/radio/intercom{
+ pixel_x = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"gzz" = (
/obj/item/pool/rubber_ring,
/turf/open/indestructible/sound/pool,
@@ -26281,22 +26280,6 @@
/obj/structure/chair/stool,
/turf/open/floor/plasteel/dark/corner,
/area/security/prison)
-"gDs" = (
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -24;
- pixel_y = 8;
- req_one_access_txt = "30;70"
- },
-/obj/structure/chair/office/light,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"gDD" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 8
@@ -26378,15 +26361,6 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab)
-"gFg" = (
-/obj/machinery/atmospherics/pipe/simple/orange/visible{
- dir = 9
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"gFF" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -26487,6 +26461,19 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"gHh" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/computer/rdservercontrol{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"gHl" = (
/obj/machinery/light/small{
dir = 4
@@ -26611,6 +26598,32 @@
/obj/item/flashlight/lamp,
/turf/open/floor/wood,
/area/vacant_room)
+"gIX" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = 4;
+ pixel_y = 1
+ },
+/obj/item/folder{
+ pixel_x = -5;
+ pixel_y = 8
+ },
+/obj/item/pen{
+ pixel_x = -5;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/food/drinks/britcup{
+ desc = "This is a legendary cup. Some sources claim it was a trophy, won after a lengthy war over tables.";
+ name = "Medium Roast Premium coffee cup";
+ pixel_x = 8;
+ pixel_y = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"gJh" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -26699,10 +26712,6 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/storage)
-"gLN" = (
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"gLV" = (
/obj/machinery/camera{
c_tag = "Fore Primary Hallway Central";
@@ -26944,6 +26953,24 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
/turf/open/floor/plasteel/dark,
/area/bridge)
+"gRw" = (
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/obj/structure/cable/white,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gRH" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -27266,6 +27293,18 @@
},
/turf/open/floor/plasteel,
/area/security/prison/hallway)
+"gVq" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"gVy" = (
/obj/effect/turf_decal/siding/wood/thin,
/obj/machinery/camera{
@@ -27794,6 +27833,23 @@
"hfr" = (
/turf/closed/wall/r_wall,
/area/space/nearstation)
+"hft" = (
+/obj/machinery/door/airlock/command{
+ name = "Server Room";
+ req_access_txt = "30"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"hfu" = (
/obj/machinery/power/apc{
areastring = "/area/ai_monitored/turret_protected/ai_upload_foyer";
@@ -27933,6 +27989,13 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/dark,
/area/security/detectives_office)
+"hhB" = (
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hhC" = (
/obj/machinery/advanced_airlock_controller{
dir = 1;
@@ -28400,6 +28463,18 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
+"hqM" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8;
+ external_pressure_bound = 140;
+ plane = -2;
+ pressure_checks = 0
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hqQ" = (
/obj/machinery/shower{
dir = 8;
@@ -28762,6 +28837,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"hwy" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"hwD" = (
/obj/machinery/camera{
c_tag = "SMES External";
@@ -29755,15 +29836,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"hOU" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/computer/ai_server_console{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"hPv" = (
/obj/machinery/light{
dir = 4
@@ -29922,6 +29994,12 @@
/obj/effect/turf_decal/trimline/blue/filled/line/lower,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
+"hRd" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hRi" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -30028,6 +30106,14 @@
},
/turf/open/floor/plating,
/area/security/warden)
+"hSP" = (
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core - Server Room";
+ dir = 8;
+ network = list("ss13","rd")
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"hTo" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -30428,29 +30514,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"hYX" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/computer/monitor{
- dir = 1;
- name = "MiniSat power monitoring console"
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
-"hYY" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"hZg" = (
/obj/machinery/power/smes/engineering{
charge = 5e+006;
@@ -30544,6 +30607,12 @@
/obj/effect/landmark/stationroom/box/hydroponics,
/turf/template_noop,
/area/hydroponics)
+"iat" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"ibh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
@@ -30658,6 +30727,21 @@
/obj/item/pen,
/turf/open/floor/plasteel,
/area/engine/foyer)
+"icd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"ice" = (
/obj/machinery/light/small{
dir = 4
@@ -30794,20 +30878,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"ief" = (
-/obj/machinery/light{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- dir = 4;
- external_pressure_bound = 120
- },
-/obj/machinery/airalarm/tcomms{
- dir = 4;
- pixel_x = -24
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"ieh" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -30818,25 +30888,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"iek" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/airlock/hatch{
- name = "MiniSat Teleporter Room";
- req_one_access_txt = "17;65"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"ien" = (
/obj/machinery/computer/security/telescreen/vault{
pixel_y = 30
@@ -31035,10 +31086,6 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
-"iiJ" = (
-/obj/machinery/ai/server_cabinet,
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/ai_monitored/secondarydatacore)
"iiO" = (
/obj/machinery/gulag_item_reclaimer{
pixel_y = 24
@@ -31124,14 +31171,26 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/atmos/mix)
-"ikV" = (
-/obj/machinery/ai/server_cabinet/prefilled,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
+"ikM" = (
+/obj/structure/table,
+/obj/item/paper/crumpled/bloody{
+ info = "What they're doing to those people... It's... It's barbaric... S.E.L.F. must be made aware."
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"ilc" = (
/obj/effect/turf_decal/trimline/brown/filled/corner/lower,
/turf/open/floor/plasteel,
/area/quartermaster/office)
+"ild" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"ilm" = (
/obj/structure/sink{
dir = 4;
@@ -31475,6 +31534,12 @@
},
/turf/open/floor/plating,
/area/maintenance/department/medical/morgue)
+"iqf" = (
+/obj/structure/lattice,
+/obj/structure/lattice,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
"iqi" = (
/obj/machinery/keycard_auth{
pixel_x = 24
@@ -31628,6 +31693,11 @@
},
/turf/open/floor/wood,
/area/bridge/meeting_room)
+"irR" = (
+/obj/structure/lattice,
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space/nearstation)
"irT" = (
/obj/effect/spawner/lootdrop/mob/kitchen_animal,
/obj/structure/cable{
@@ -31772,12 +31842,16 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"ivw" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/warning/lower/nobottom,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
+"ivv" = (
+/obj/machinery/ai/networking{
+ label = "Computer Science";
+ roundstart_connection = "Main Core"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"ivE" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -31802,6 +31876,14 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/office)
+"ivX" = (
+/obj/structure/table/wood,
+/obj/item/radio/off{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"iwj" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 10
@@ -31853,6 +31935,25 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
+"ixP" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "testlab";
+ name = "test chamber blast door"
+ },
+/obj/machinery/door/airlock/research/glass{
+ name = "Test Chamber";
+ req_access_txt = "47"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/engine,
+/area/science/misc_lab)
"ixV" = (
/obj/structure/table/wood,
/obj/machinery/photocopier/faxmachine{
@@ -32137,20 +32238,6 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
-"iDE" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plating,
-/area/ai_monitored/storage/satellite)
"iDQ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -32200,6 +32287,15 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
+"iEk" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 1
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"iEt" = (
/turf/open/floor/plasteel,
/area/escapepodbay)
@@ -32361,6 +32457,10 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"iHA" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/science/server)
"iHI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -32464,6 +32564,29 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/port/aft)
+"iJJ" = (
+/obj/machinery/power/apc/highcap{
+ areastring = "/area/ai_monitored/secondarydatacore";
+ dir = 4;
+ name = "AI Secondary Datacore";
+ pixel_x = 24
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 8;
+ network = list("ss13","rd")
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"iJL" = (
/obj/structure/rack,
/obj/item/tank/internals/emergency_oxygen,
@@ -32797,6 +32920,17 @@
/obj/structure/spacepoddoor,
/turf/open/floor/engine/airless,
/area/escapepodbay)
+"iOb" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower,
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"iOB" = (
/obj/machinery/power/apc{
areastring = "/area/medical/chemistry";
@@ -32923,33 +33057,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
-"iRc" = (
-/obj/machinery/door/airlock/highsecurity{
- id_tag = "ai_core_airlock_exterior";
- name = "AI Core";
- req_access_txt = "65"
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"iRt" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible,
/obj/structure/window/reinforced{
@@ -33185,10 +33292,6 @@
},
/turf/open/floor/plating,
/area/medical/paramedic)
-"iVk" = (
-/obj/structure/girder,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"iVn" = (
/obj/structure/closet/crate{
icon_state = "crateopen"
@@ -33418,6 +33521,13 @@
},
/turf/open/floor/plasteel/freezer,
/area/security/prison)
+"iZA" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/ai_monitored/secondarydatacore)
"iZJ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -33574,12 +33684,17 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"jcz" = (
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 1
+"jcv" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
},
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
+/obj/machinery/computer/message_monitor{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"jcF" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
@@ -33676,6 +33791,21 @@
},
/turf/open/floor/plasteel,
/area/security/prison/hallway)
+"jeM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"jeO" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/tile/neutral/opposingcorners,
@@ -34234,6 +34364,21 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
+"joY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"jpb" = (
/obj/structure/sign/warning/deathsposal{
pixel_y = -32
@@ -34275,6 +34420,39 @@
},
/turf/open/floor/plating/airless,
/area/security/prison)
+"jpK" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/airlock/highsecurity{
+ id_tag = "ai_core_airlock_exterior";
+ name = "AI Core";
+ req_access_txt = "65"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/ai)
"jpL" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
@@ -34561,6 +34739,16 @@
icon_state = "platingdmg3"
},
/area/maintenance/port)
+"juj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"juo" = (
/obj/structure/closet/crate/freezer,
/obj/effect/decal/cleanable/dirt,
@@ -34701,12 +34889,6 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/disposal/incinerator)
-"jzm" = (
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"jzo" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 1
@@ -34793,6 +34975,14 @@
"jAS" = (
/turf/closed/wall,
/area/security/interrogation)
+"jBD" = (
+/obj/machinery/airalarm/tcomms{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"jBJ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -34950,17 +35140,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/atmos/distro)
-"jEd" = (
-/obj/structure/showcase/cyborg/old{
- dir = 4;
- pixel_x = -9;
- pixel_y = 2
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 9
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"jEn" = (
/obj/structure/sign/warning/biohazard,
/turf/closed/wall,
@@ -35288,48 +35467,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"jKN" = (
-/obj/machinery/ai/data_core/primary,
-/obj/machinery/power/apc/highcap{
- dir = 8;
- name = "AI Chamber APC";
- pixel_x = -25
- },
-/obj/structure/cable/white{
- icon_state = "0-4"
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_y = -27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_y = 20
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_y = -37
- },
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = -1;
- pixel_y = 38
- },
-/obj/machinery/button/door{
- id = "aicoredoor";
- name = "AI Chamber entrance shutters control";
- pixel_x = -23;
- pixel_y = 21;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"jKZ" = (
/obj/effect/landmark/start/atmospheric_technician,
/obj/structure/chair/office/dark{
@@ -35461,6 +35598,13 @@
/obj/effect/turf_decal/trimline/purple/warning/lower,
/turf/open/floor/plasteel/white,
/area/science/robotics/lab)
+"jOq" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jOv" = (
/obj/effect/landmark/event_spawn,
/obj/structure/chair/comfy/brown{
@@ -35525,20 +35669,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/white,
/area/science/research)
-"jPU" = (
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"jQg" = (
/obj/effect/turf_decal/arrows/white{
color = "#99ccff";
@@ -35946,15 +36076,6 @@
/obj/structure/grille,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"jXZ" = (
-/obj/machinery/atmospherics/pipe/simple/orange/visible{
- dir = 5
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"jYd" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -36044,6 +36165,20 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
+"kaw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"kaA" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/table,
@@ -36283,6 +36418,14 @@
},
/turf/open/floor/plasteel,
/area/engine/foyer)
+"khi" = (
+/obj/structure/table,
+/obj/machinery/compsci_reciever,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"khj" = (
/obj/machinery/washing_machine,
/obj/machinery/light,
@@ -36366,6 +36509,21 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/warehouse)
+"kig" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"kik" = (
/obj/machinery/ai_slipper{
uses = 10
@@ -36594,15 +36752,9 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
-"kmj" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
+"kmo" = (
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"kmp" = (
/obj/machinery/power/apc{
areastring = "/area/teleporter";
@@ -36733,6 +36885,13 @@
},
/turf/open/space/basic,
/area/ai_monitored/turret_protected/ai)
+"koE" = (
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/ai/server_cabinet/prefilled,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"kpp" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
dir = 1
@@ -37096,6 +37255,21 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"kxW" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"kyl" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -37380,6 +37554,13 @@
/obj/item/wrench,
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
+"kCD" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"kCI" = (
/obj/machinery/navbeacon{
codes_txt = "delivery;dir=8";
@@ -37521,6 +37702,21 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"kEH" = (
+/obj/structure/sign/warning/electricshock{
+ pixel_y = -32
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"kEL" = (
/obj/machinery/conveyor{
dir = 4;
@@ -37652,6 +37848,15 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"kIr" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/science/research)
"kIO" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -37698,12 +37903,6 @@
},
/turf/open/floor/carpet,
/area/crew_quarters/fitness)
-"kJz" = (
-/obj/machinery/atmospherics/pipe/manifold/general/visible{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"kKq" = (
/obj/structure/table/wood,
/obj/item/paper_bin{
@@ -38152,13 +38351,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/turf/open/floor/plasteel,
/area/security/processing)
-"kRZ" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 6;
- layer = 2.35
- },
-/turf/closed/wall,
-/area/science/mixing)
"kSb" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
/turf/open/floor/plasteel,
@@ -38238,6 +38430,13 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"kTH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"kTM" = (
/obj/structure/window/reinforced{
dir = 4
@@ -38556,13 +38755,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
-"lbE" = (
-/obj/machinery/light,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 10
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"lbH" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
@@ -38603,29 +38795,6 @@
},
/turf/open/floor/plating,
/area/crew_quarters/heads/cmo)
-"lcM" = (
-/obj/machinery/door/airlock/command{
- name = "Server Room";
- req_access_txt = "30"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"ldU" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hop";
@@ -38829,6 +38998,21 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
+"lgr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 9
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/xenobiology)
"lgK" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/sign/departments/minsky/engineering/atmospherics{
@@ -39026,6 +39210,10 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"ljG" = (
+/obj/structure/cable/white,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"ljN" = (
/obj/structure/table/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -39237,6 +39425,17 @@
/obj/effect/turf_decal/trimline/blue/filled/line/lower,
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
+"lmE" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"lmI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -39380,18 +39579,6 @@
/obj/machinery/telecomms/server/presets/engineering,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"loK" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"loR" = (
/obj/structure/lattice,
/turf/closed/wall/r_wall,
@@ -39436,6 +39623,17 @@
/obj/item/clothing/glasses/meson,
/turf/open/floor/plasteel/white,
/area/storage/tech)
+"lqv" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 8;
+ pixel_y = -23
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lqw" = (
/obj/structure/table,
/obj/item/storage/fancy/donut_box{
@@ -39643,6 +39841,19 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/ai_monitored/storage/satellite)
+"lvD" = (
+/obj/machinery/door/window/southleft{
+ name = "Test Chamber";
+ req_access_txt = "55"
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/xenobiology)
"lvP" = (
/obj/machinery/airalarm{
pixel_y = 24
@@ -39757,18 +39968,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
-"lxF" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"lxP" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable/yellow,
@@ -40171,6 +40370,15 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"lHg" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/structure/cable/white{
+ icon_state = "1-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lHi" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/turf_decal/trimline/engiyellow/filled/corner/lower{
@@ -40194,11 +40402,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/crew_quarters/heads/captain)
-"lHO" = (
-/obj/item/stack/cable_coil,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"lIb" = (
/obj/structure/sign/warning/electricshock{
pixel_y = 32
@@ -40593,6 +40796,18 @@
},
/turf/open/floor/plasteel/white,
/area/science/explab)
+"lPr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"lPH" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
@@ -40626,21 +40841,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
-"lQv" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"lQB" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -40905,6 +41105,15 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"lXw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"lXG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -41088,19 +41297,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/disposal)
-"lZD" = (
-/obj/structure/table/wood,
-/obj/item/radio/off{
- pixel_x = -6;
- pixel_y = 5
- },
-/obj/item/folder{
- pixel_x = 6;
- pixel_y = 2
- },
-/obj/item/disk/holodisk/tutorial/AICore,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"lZH" = (
/obj/item/kirbyplants/random,
/obj/machinery/light/small{
@@ -41226,6 +41422,15 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
+"mcR" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"mcT" = (
/obj/machinery/portable_atmospherics/scrubber,
/obj/effect/turf_decal/stripes/line,
@@ -41383,6 +41588,18 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/theatre)
+"mfs" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mfz" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -41609,6 +41826,21 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
+"mjZ" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"mkg" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -42233,18 +42465,6 @@
/obj/effect/turf_decal/trimline/green/filled/corner/lower,
/turf/open/floor/plasteel/white,
/area/medical/virology)
-"mtW" = (
-/obj/machinery/computer/security/telescreen{
- dir = 8;
- name = "MiniSat Camera Monitor";
- network = list("minisat","aicore");
- pixel_x = 26
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"mtZ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -42327,26 +42547,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"mwf" = (
-/obj/effect/turf_decal/stripes/end{
- dir = 8
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_exterior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -23;
- pixel_y = -9;
- req_one_access_txt = "30;70"
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"mwF" = (
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
@@ -42381,27 +42581,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/crew_quarters/cryopods)
-"mxQ" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 25;
- pixel_y = 6
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "ai_core_airlock_interior";
- idSelf = "ai_core_airlock_control";
- pixel_x = 23;
- pixel_y = -7
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"mxS" = (
/obj/structure/sign/warning/vacuum{
pixel_x = -32
@@ -42494,6 +42673,27 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"mAe" = (
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 25;
+ pixel_y = 6
+ },
+/obj/machinery/doorButtons/access_button{
+ idDoor = "ai_core_airlock_interior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = 23;
+ pixel_y = -7
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"mAl" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -43408,6 +43608,12 @@
},
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
+"mPK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"mPW" = (
/obj/structure/rack,
/obj/effect/turf_decal/stripes/corner{
@@ -43449,6 +43655,16 @@
},
/turf/open/floor/plasteel/white,
/area/medical/paramedic)
+"mQs" = (
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/obj/machinery/light_switch{
+ pixel_y = 27
+ },
+/obj/machinery/rack_creator,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"mQu" = (
/obj/structure/table,
/obj/item/storage/belt/medical{
@@ -43494,26 +43710,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/research)
-"mQY" = (
-/obj/effect/turf_decal/stripes/end{
- dir = 4
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = 8;
- pixel_y = 24;
- req_one_access_txt = "30;70"
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"mRj" = (
/obj/effect/turf_decal/trimline/secred/filled/line/lower{
dir = 1
@@ -43548,10 +43744,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"mSg" = (
-/obj/machinery/atmospherics/pipe/manifold/general/visible,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"mSl" = (
/obj/structure/closet/l3closet/scientist,
/obj/effect/turf_decal/trimline/purple/filled/line/lower{
@@ -43766,10 +43958,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/lab)
-"mVN" = (
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"mVV" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 8
@@ -44095,6 +44283,10 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/ai_upload)
+"nby" = (
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"nbA" = (
/obj/machinery/vending/sustenance,
/obj/effect/decal/cleanable/dirt,
@@ -44408,16 +44600,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
-"nfC" = (
-/obj/structure/chair/office/dark,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 5
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"nfK" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -44511,6 +44693,12 @@
/obj/effect/turf_decal/trimline/secred/filled/corner/lower,
/turf/open/floor/plasteel,
/area/security/brig)
+"nhY" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 1
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/science/server)
"nia" = (
/turf/template_noop,
/area/hydroponics)
@@ -44643,23 +44831,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"nlV" = (
-/obj/machinery/door/airlock/command/glass{
- id_tag = "secondary_aicore_exterior";
- name = "Physical Core Access";
- req_one_access_txt = "30;70"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_target{
- dirx = 1;
- diry = 1
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"nlY" = (
/obj/effect/landmark/stationroom/maint/tenxfive,
/turf/template_noop,
@@ -44745,17 +44916,6 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
-"nnx" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"nnM" = (
/obj/machinery/door/firedoor/border_only,
/obj/machinery/door/firedoor/border_only{
@@ -44816,17 +44976,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/heads/chief)
-"npc" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 8;
- pixel_y = -23
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"npK" = (
/obj/machinery/light{
dir = 8
@@ -44915,6 +45064,12 @@
},
/turf/closed/wall/r_wall,
/area/engine/atmos/mix)
+"nrO" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nsj" = (
/obj/machinery/airalarm{
dir = 8;
@@ -45406,6 +45561,12 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
+"nAA" = (
+/obj/structure/ethernet_cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nAZ" = (
/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
dir = 1
@@ -45447,14 +45608,6 @@
"nBp" = (
/turf/closed/wall/r_wall,
/area/engine/atmos/storage)
-"nBu" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/warning/lower/nobottom{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"nCd" = (
/obj/structure/chair{
dir = 4;
@@ -45618,9 +45771,6 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
-"nDA" = (
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"nDC" = (
/obj/machinery/rnd/server/master,
/turf/open/floor/circuit/telecomms/server,
@@ -45741,6 +45891,15 @@
/obj/effect/turf_decal/trimline/green/filled/line/lower,
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"nGM" = (
+/obj/machinery/status_display/ai{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"nHm" = (
/obj/structure/closet/wardrobe/pjs,
/turf/open/floor/plasteel,
@@ -45790,19 +45949,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"nHT" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 8;
- network = list("aicore")
- },
-/obj/machinery/requests_console{
- department = "AI";
- departmentType = 5;
- pixel_y = -32
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
"nHU" = (
/obj/machinery/requests_console{
department = "Science";
@@ -45851,6 +45997,25 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"nIL" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"nJl" = (
/obj/effect/turf_decal/pool{
dir = 8
@@ -45939,25 +46104,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"nKN" = (
-/obj/machinery/doorButtons/access_button{
- idDoor = "ai_core_airlock_exterior";
- idSelf = "ai_core_airlock_control";
- pixel_x = -23;
- pixel_y = 7
- },
-/obj/machinery/light,
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"nKP" = (
/obj/effect/turf_decal/loading_area{
dir = 1
@@ -46056,6 +46202,21 @@
},
/turf/open/floor/plasteel,
/area/science/nanite)
+"nNh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/xenobiology)
"nNC" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
@@ -46146,6 +46307,16 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/storage)
+"nRg" = (
+/obj/structure/frame/machine{
+ anchored = 1;
+ state = 2
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nRs" = (
/obj/machinery/door/airlock/research/glass{
name = "Genetics Research";
@@ -46293,22 +46464,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
-"nSR" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/structure/sign/departments/minsky/command/charge{
- pixel_y = 32
- },
-/obj/item/kirbyplants/photosynthetic{
- pixel_y = 10
- },
-/obj/structure/table,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 9
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"nTv" = (
/obj/effect/turf_decal/trimline/secred/filled/line/lower{
dir = 1
@@ -46533,14 +46688,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"nXh" = (
-/obj/structure/table,
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"nXj" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
@@ -46658,6 +46805,21 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"oae" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oaq" = (
/obj/effect/turf_decal/ramp_middle{
dir = 1
@@ -46729,6 +46891,21 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/qm)
+"obA" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/xenobiology)
"obK" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -46875,6 +47052,13 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
/turf/open/floor/plasteel/dark,
/area/bridge)
+"oeL" = (
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 6
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"oeV" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
@@ -46995,17 +47179,6 @@
/obj/effect/turf_decal/trimline/engiyellow/filled/line/lower,
/turf/open/floor/plasteel,
/area/engine/engineering)
-"ohh" = (
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"ohr" = (
/obj/structure/cable{
icon_state = "1-4";
@@ -47077,6 +47250,24 @@
/obj/item/stock_parts/cell/high/plus,
/turf/open/floor/plasteel/white,
/area/storage/tech)
+"ojj" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/hatch{
+ name = "Abandoned Room";
+ req_access_txt = "65"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/barricade/wooden/crude,
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"ojr" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -47638,14 +47829,6 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
-"otV" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"ous" = (
/obj/effect/turf_decal/trimline/secred/warning/lower{
dir = 1
@@ -47731,6 +47914,16 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"ovp" = (
+/obj/machinery/rnd/production/circuit_imprinter/department/netmin,
+/obj/structure/sign/plaques/kiddie{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"ovw" = (
/obj/machinery/holopad,
/obj/structure/disposalpipe/segment{
@@ -48276,6 +48469,14 @@
/obj/machinery/suit_storage_unit/security,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
+"oEJ" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/ai/server_cabinet/prefilled,
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oGk" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/structure/reagent_dispensers/watertank,
@@ -48425,6 +48626,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/aft)
+"oJs" = (
+/obj/structure/table/wood,
+/obj/item/toy/figure/borg{
+ pixel_x = -4;
+ pixel_y = -2
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_y = -28
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"oJt" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -48539,6 +48751,11 @@
},
/turf/open/floor/plasteel,
/area/science/robotics/lab)
+"oLl" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/turf/open/floor/plating,
+/area/ai_monitored/secondarydatacore)
"oLx" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -48745,6 +48962,17 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"oOt" = (
+/obj/structure/table,
+/obj/item/electropack,
+/obj/item/healthanalyzer,
+/obj/item/assembly/signaler,
+/obj/effect/turf_decal/trimline/blue/filled/line/lower,
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"oOK" = (
/obj/effect/decal/cleanable/cobweb,
/obj/structure/closet/firecloset,
@@ -49400,6 +49628,14 @@
},
/turf/open/floor/plasteel/grimy,
/area/security/detectives_office)
+"pdZ" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"pen" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -49671,20 +49907,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"phR" = (
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
- external_pressure_bound = 120;
- name = "server vent"
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"pia" = (
/obj/effect/turf_decal/stripes{
dir = 4
@@ -49780,20 +50002,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/surgery)
-"piV" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating{
- icon_state = "platingdmg3"
- },
-/area/maintenance/starboard/aft)
"pjh" = (
/obj/structure/closet/lasertag/red,
/turf/open/floor/plasteel,
@@ -49917,20 +50125,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
-"plY" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/camera{
- c_tag = "Xenobiology Northwest";
- dir = 4;
- network = list("ss13","rd")
- },
-/obj/effect/turf_decal/trimline/purple/filled/line/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"pmx" = (
/obj/structure/table,
/obj/machinery/light{
@@ -50459,20 +50653,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"pvp" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"pvr" = (
/obj/machinery/chem_heater,
/obj/effect/turf_decal/trimline/chemorange/filled/line/lower{
@@ -50645,10 +50825,12 @@
},
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
-"pyn" = (
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/turret_protected/ai)
+"pyv" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 6
+ },
+/turf/closed/wall,
+/area/science/mixing)
"pyy" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -50722,14 +50904,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"pyZ" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"pzg" = (
/obj/machinery/door/airlock/medical{
name = "Operating Theatre";
@@ -50989,10 +51163,6 @@
icon_state = "platingdmg3"
},
/area/maintenance/aft)
-"pDa" = (
-/obj/machinery/ai/data_core,
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/ai_monitored/secondarydatacore)
"pDm" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -51243,6 +51413,18 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
+"pIg" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27
+ },
+/obj/structure/table,
+/obj/item/stack/ethernet_coil,
+/obj/item/clothing/shoes/magboots,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"pIj" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -51366,6 +51548,56 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/mix)
+"pMo" = (
+/obj/machinery/ai/data_core/primary,
+/obj/machinery/power/apc/highcap{
+ dir = 8;
+ name = "AI Chamber APC";
+ pixel_x = -25
+ },
+/obj/structure/cable/white{
+ icon_state = "0-4"
+ },
+/obj/item/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_y = -27
+ },
+/obj/item/radio/intercom{
+ anyai = 1;
+ broadcasting = 0;
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_y = 20
+ },
+/obj/item/radio/intercom{
+ broadcasting = 0;
+ freerange = 1;
+ listening = 1;
+ name = "Common Channel";
+ pixel_y = -37
+ },
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_x = -1;
+ pixel_y = 38
+ },
+/obj/machinery/button/door{
+ id = "aicoredoor";
+ name = "AI Chamber entrance shutters control";
+ pixel_x = -23;
+ pixel_y = 21;
+ req_access_txt = "16"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pMs" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -51499,6 +51731,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"pPM" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"pPW" = (
/turf/open/floor/plasteel/dark,
/area/maintenance/disposal/incinerator)
@@ -51549,6 +51787,15 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/aft)
+"pQf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"pQq" = (
/obj/machinery/vending/snack/random,
/turf/open/floor/plasteel/dark,
@@ -52073,28 +52320,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/courtroom)
-"pYv" = (
-/obj/machinery/camera{
- c_tag = "Secondary AI Core";
- dir = 8;
- network = list("ss13","rd")
- },
-/obj/machinery/airalarm{
- pixel_y = 24
- },
-/obj/structure/extinguisher_cabinet{
- pixel_x = 27
- },
-/obj/machinery/power/smes/engineering{
- charge = 5e+006;
- input_level = 25000;
- output_level = 20000
- },
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/secondarydatacore)
"pYC" = (
/obj/structure/weightmachine/weightlifter,
/turf/open/floor/plasteel,
@@ -52175,6 +52400,15 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
+"qan" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/structure/barricade/wooden/crude,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"qas" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -52501,6 +52735,13 @@
/obj/effect/turf_decal/trimline/purple/filled/line/lower,
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
+"qhr" = (
+/obj/machinery/light,
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"qhA" = (
/obj/structure/transit_tube/curved/flipped{
dir = 8
@@ -52589,6 +52830,20 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
+"qiX" = (
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Xenobiology Northwest";
+ dir = 4;
+ network = list("ss13","rd")
+ },
+/turf/open/floor/plasteel/white,
+/area/science/xenobiology)
"qjc" = (
/obj/structure/disposalpipe/sorting/mail{
sortType = 10
@@ -52611,6 +52866,13 @@
/obj/effect/turf_decal/trimline/secred/filled/corner/lower,
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"qjq" = (
+/obj/machinery/ai/data_core,
+/obj/structure/ethernet_cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"qjx" = (
/obj/structure/sign/warning/electricshock{
pixel_y = 32
@@ -52642,18 +52904,6 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel/dark,
/area/security/courtroom)
-"qjZ" = (
-/obj/machinery/power/apc{
- areastring = "/area/maintenance/starboard/aft";
- dir = 1;
- name = "Starboard Quarter Maintenance APC";
- pixel_y = 23
- },
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"qkk" = (
/obj/effect/turf_decal/trimline/secred/filled/corner/lower{
dir = 1
@@ -52800,6 +53050,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/security/prison)
+"qma" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/closed/wall,
+/area/science/mixing)
"qmf" = (
/obj/item/storage/fancy/donut_box,
/obj/structure/table,
@@ -52896,17 +53150,6 @@
/obj/item/storage/fancy/donut_box,
/turf/open/floor/carpet/blue,
/area/crew_quarters/heads/captain)
-"qnU" = (
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/research)
"qoe" = (
/obj/structure/cable{
icon_state = "1-8"
@@ -53088,6 +53331,12 @@
},
/turf/open/floor/carpet/blue,
/area/crew_quarters/heads/captain)
+"qrM" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"qsk" = (
/obj/machinery/firealarm{
dir = 4;
@@ -53303,6 +53552,15 @@
},
/turf/open/floor/plasteel/white,
/area/science/research)
+"qwC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1;
+ external_pressure_bound = 140;
+ plane = -2;
+ pressure_checks = 0
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"qwF" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
@@ -53396,16 +53654,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/plasteel,
/area/security/courtroom)
-"qzd" = (
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
-/obj/machinery/computer/ai_control_console{
- dir = 8
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"qzt" = (
/obj/machinery/door/airlock/external{
name = "Engineering External Access";
@@ -53694,6 +53942,28 @@
},
/turf/open/space/basic,
/area/space)
+"qGn" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"qGt" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -53885,13 +54155,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"qHY" = (
-/obj/structure/girder/displaced,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"qIr" = (
/obj/structure/table,
/obj/item/storage/lockbox/vialbox/virology{
@@ -53980,6 +54243,23 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
+"qJA" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/research/glass{
+ name = "Computer Science";
+ normalspeed = 0;
+ req_access_txt = "67"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"qJI" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -54103,20 +54383,6 @@
/obj/effect/turf_decal/trimline/green/filled/corner/lower,
/turf/open/floor/plasteel,
/area/hydroponics/garden)
-"qLi" = (
-/obj/machinery/camera{
- c_tag = "MiniSat - Monitoring room";
- dir = 8;
- network = list("minisat","ss13")
- },
-/obj/machinery/newscaster/security_unit{
- pixel_x = 28
- },
-/obj/machinery/computer/ai_resource_distribution{
- dir = 8
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"qLt" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -54412,6 +54678,22 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft_starboard)
+"qQe" = (
+/obj/machinery/computer/security/telescreen{
+ dir = 8;
+ name = "MiniSat Camera Monitor";
+ network = list("minisat","aicore");
+ pixel_x = 26
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/obj/machinery/computer/telecomms/server{
+ dir = 8;
+ network = "tcommsat"
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"qQn" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -54428,21 +54710,6 @@
/obj/effect/turf_decal/trimline/secred/filled/line/lower,
/turf/open/floor/plasteel,
/area/security/brig)
-"qQs" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"qQw" = (
/obj/machinery/telecomms/server/presets/common,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -54555,6 +54822,13 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
+"qTb" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"qTf" = (
/obj/effect/landmark/start/yogs/clerk,
/turf/template_noop,
@@ -54677,6 +54951,10 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
+"qVj" = (
+/obj/structure/closet/cardboard,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"qVp" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -54687,6 +54965,13 @@
},
/turf/open/floor/plating,
/area/storage/tech)
+"qVG" = (
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
+/turf/open/floor/plasteel/white,
+/area/science/research)
"qVH" = (
/obj/structure/sink/kitchen{
pixel_y = 28
@@ -54923,6 +55208,11 @@
/obj/effect/turf_decal/trimline/atmos/warning/lower/corner,
/turf/open/floor/plasteel,
/area/engine/atmos/foyer)
+"rav" = (
+/obj/structure/lattice,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
"ray" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 9
@@ -54967,15 +55257,6 @@
},
/turf/open/floor/engine/n2o,
/area/engine/atmos/distro)
-"rbD" = (
-/obj/machinery/atmospherics/pipe/simple/orange/visible{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"rbH" = (
/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
dir = 4
@@ -55593,15 +55874,6 @@
"rnS" = (
/turf/template_noop,
/area/security/execution/transfer)
-"rnX" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"rod" = (
/obj/effect/spawner/structure/window,
/obj/structure/cloth_curtain{
@@ -55720,6 +55992,25 @@
/obj/effect/turf_decal/trimline/atmos/warning/lower/nobottom,
/turf/open/floor/plasteel,
/area/engine/atmos/mix)
+"rqz" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/airlock/hatch{
+ name = "MiniSat Antechamber";
+ req_access_txt = "65"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"rqB" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
@@ -55736,6 +56027,15 @@
/obj/machinery/light,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
+"rqN" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"rqS" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -55795,12 +56095,6 @@
},
/turf/open/floor/plasteel/white,
/area/security/brig)
-"rrF" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- layer = 2.35
- },
-/turf/closed/wall,
-/area/science/mixing)
"rrL" = (
/obj/structure/plasticflaps,
/obj/machinery/conveyor{
@@ -55918,6 +56212,12 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"rtv" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rtN" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -55957,30 +56257,6 @@
},
/turf/open/floor/plasteel/dark,
/area/science/robotics/lab)
-"rur" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/turf/open/floor/plating,
-/area/ai_monitored/storage/satellite)
-"ruV" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"rvc" = (
/obj/machinery/light,
/obj/item/radio/intercom{
@@ -56132,6 +56408,24 @@
},
/turf/open/floor/wood,
/area/library)
+"ryI" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ryJ" = (
/obj/machinery/atmospherics/pipe/simple/yellow/visible{
dir = 4
@@ -56289,6 +56583,15 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/distro)
+"rBs" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"rBz" = (
/obj/item/radio/intercom{
pixel_y = -27
@@ -56310,15 +56613,6 @@
/obj/effect/turf_decal/trimline/secred/filled/line/lower,
/turf/open/floor/plasteel,
/area/security/main)
-"rCd" = (
-/obj/machinery/airalarm{
- pixel_y = 24
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"rCp" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable/yellow,
@@ -57191,6 +57485,22 @@
"rPO" = (
/turf/closed/wall/r_wall,
/area/security/prison/hallway)
+"rPT" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
+ },
+/obj/machinery/ai/networking{
+ label = "Computer Science - 2";
+ roundstart_connection = "Subcontroller"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"rQM" = (
/obj/structure/chair{
dir = 8
@@ -57406,23 +57716,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/paramedic)
-"rUm" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/item/radio/intercom{
- pixel_x = 32
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"rUn" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
@@ -57692,6 +57985,12 @@
"rZt" = (
/turf/closed/wall,
/area/medical/paramedic)
+"rZC" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"rZU" = (
/obj/machinery/light{
dir = 8;
@@ -58410,17 +58709,6 @@
"sny" = (
/turf/closed/wall,
/area/crew_quarters/heads/cmo)
-"snB" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 6
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"snF" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -58446,12 +58734,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
-"soe" = (
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"soo" = (
/turf/closed/wall,
/area/engine/atmos/mix)
@@ -58895,6 +59177,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"syV" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"szt" = (
/obj/machinery/door/airlock/public/glass{
name = "Robotics Access"
@@ -59359,16 +59647,6 @@
},
/turf/open/floor/grass,
/area/medical/genetics)
-"sHf" = (
-/obj/machinery/airalarm/server{
- dir = 4;
- pixel_x = -24
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/science/server)
"sHn" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 4
@@ -59609,12 +59887,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/genetics/cloning)
-"sLZ" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"sMh" = (
/obj/structure/filingcabinet,
/obj/machinery/light_switch{
@@ -59986,6 +60258,19 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"sUH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 1;
+ external_pressure_bound = 120;
+ plane = -2
+ },
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 4;
+ network = list("ss13","rd")
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"sVz" = (
/obj/structure/window/reinforced{
dir = 8
@@ -60026,6 +60311,15 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"sVS" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/modular_computer/console/preset/tcomms{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"sWv" = (
/obj/effect/turf_decal/trimline/brown/filled/line/lower{
dir = 9
@@ -60300,6 +60594,19 @@
/obj/item/deskbell/preset/kitchen,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
+"sZl" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/hatch{
+ name = "MiniSat Teleporter Room";
+ req_one_access_txt = "17;65"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"sZy" = (
/obj/effect/turf_decal/trimline/brown/filled/line/lower{
dir = 8
@@ -60508,6 +60815,18 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/sorting)
+"tcR" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/ai/networking{
+ label = "Main Core";
+ roundstart_connection = "Computer Science"
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tdh" = (
/obj/machinery/door/airlock/grunge{
name = "Permanent Cell 2"
@@ -60751,13 +61070,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"thv" = (
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"thI" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small{
@@ -60832,13 +61144,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/security/prison)
-"tiN" = (
-/obj/machinery/light,
-/obj/machinery/computer/ai_server_console{
- dir = 1
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"tjk" = (
/obj/structure/closet,
/obj/item/storage/box/donkpockets,
@@ -61228,6 +61533,14 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
+"tqK" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"trb" = (
/turf/closed/wall,
/area/maintenance/fore/secondary)
@@ -61297,6 +61610,21 @@
},
/turf/open/floor/plating,
/area/ai_monitored/security/armory)
+"tsh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"tss" = (
/obj/machinery/door/airlock/atmos{
name = "Tanks and Filtration";
@@ -61490,12 +61818,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/mixing)
-"twt" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 4
- },
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"twB" = (
/obj/structure/cable{
icon_state = "2-4"
@@ -61933,12 +62255,6 @@
},
/turf/open/floor/plating,
/area/security/prison)
-"tGz" = (
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"tGM" = (
/obj/machinery/atmospherics/pipe/simple/cyan/visible,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -61946,6 +62262,15 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos/mix)
+"tHf" = (
+/obj/machinery/airalarm{
+ pixel_y = 24
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"tHj" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -62038,21 +62363,6 @@
},
/turf/open/floor/plating,
/area/bridge/meeting_room)
-"tHJ" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 4;
- network = list("aicore")
- },
-/obj/machinery/light{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"tHZ" = (
/obj/structure/chair/office/light{
dir = 1
@@ -62106,6 +62416,9 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/aft)
+"tJD" = (
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"tJN" = (
/obj/machinery/light{
dir = 1
@@ -62531,16 +62844,14 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"tQv" = (
-/obj/machinery/light{
+"tQk" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
dir = 4
},
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8;
- external_pressure_bound = 140;
- pressure_checks = 0
+/obj/structure/ethernet_cable{
+ icon_state = "2-8"
},
-/turf/open/floor/circuit/telecomms/server,
+/turf/open/floor/catwalk_floor/telecomms,
/area/ai_monitored/secondarydatacore)
"tQy" = (
/obj/machinery/computer/arcade/battle,
@@ -62842,6 +63153,21 @@
/obj/structure/sign/warning/securearea,
/turf/closed/wall/r_wall,
/area/science/research)
+"tVF" = (
+/obj/machinery/camera{
+ c_tag = "MiniSat - Monitoring room";
+ dir = 8;
+ network = list("minisat","ss13")
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 28
+ },
+/obj/machinery/computer/telecomms/traffic{
+ dir = 8;
+ network = "tcommsat"
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/turret_protected/aisat_interior)
"tVL" = (
/obj/structure/lattice,
/obj/structure/window/reinforced{
@@ -62878,9 +63204,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"tXb" = (
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/ai_monitored/secondarydatacore)
"tXk" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 4
@@ -62908,6 +63231,20 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/science/misc_lab)
+"tXR" = (
+/obj/machinery/airalarm/server{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/ai/master_subcontroller,
+/obj/structure/ethernet_cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"tYa" = (
/obj/machinery/camera{
c_tag = "Aft Port Solar Access";
@@ -62992,23 +63329,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engine_smes)
-"tZD" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 24;
- pixel_y = -10
- },
-/obj/machinery/camera/motion{
- c_tag = "MiniSat Foyer";
- dir = 8;
- network = list("minisat","ss13")
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
- dir = 5
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"tZF" = (
/obj/effect/turf_decal/trimline/green/filled/corner/lower{
dir = 4
@@ -63362,6 +63682,13 @@
},
/turf/open/floor/plating,
/area/security/prison)
+"ugz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ external_pressure_bound = 120;
+ plane = -2
+ },
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"ugB" = (
/obj/effect/turf_decal/trimline/secred/filled/line/lower{
dir = 4
@@ -63988,16 +64315,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
-"uuW" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"uvc" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -64337,37 +64654,6 @@
},
/turf/open/floor/plasteel,
/area/security/processing)
-"uDo" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Research Director";
- req_access_txt = "30"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 8
- },
-/turf/open/floor/plasteel/cafeteria,
-/area/crew_quarters/heads/hor)
"uDp" = (
/obj/machinery/door/airlock/engineering/glass{
name = "AI Satellite Monitoring";
@@ -64506,30 +64792,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"uFS" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 4
- },
-/obj/machinery/doorButtons/access_button{
- idDoor = "secondary_aicore_exterior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Button";
- pixel_x = -24;
- pixel_y = 8;
- req_one_access_txt = "30;70"
- },
-/obj/machinery/doorButtons/airlock_controller{
- idExterior = "secondary_aicore_exterior";
- idInterior = "secondary_aicore_interior";
- idSelf = "secondary_aicore_controller";
- name = "Secondary AI Core Access Console";
- pixel_x = -26;
- pixel_y = -6;
- req_one_access_txt = "30;70"
- },
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/open/floor/circuit/telecomms/server,
-/area/ai_monitored/secondarydatacore)
"uFW" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
@@ -64612,6 +64874,16 @@
},
/turf/open/floor/plasteel,
/area/medical/morgue)
+"uHL" = (
+/obj/machinery/modular_computer/console/preset/netmin{
+ dir = 1
+ },
+/obj/structure/ethernet_cable{
+ icon_state = "0-2"
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"uHN" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
@@ -64797,6 +65069,11 @@
/obj/item/stock_parts/micro_laser/high,
/turf/open/floor/plasteel/white,
/area/storage/tech)
+"uKh" = (
+/obj/machinery/portable_atmospherics/canister/plasma,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/science/storage)
"uKj" = (
/obj/effect/turf_decal/siding/wood/thin,
/turf/open/floor/stone,
@@ -65089,25 +65366,6 @@
/obj/effect/turf_decal/tile/green/fourcorners,
/turf/open/floor/plasteel,
/area/security/courtroom)
-"uOG" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/white,
-/area/science/research)
"uON" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable/yellow{
@@ -65266,24 +65524,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"uSq" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"uTe" = (
/obj/machinery/door/poddoor/preopen{
id = "atmos";
@@ -65606,24 +65846,16 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet,
/area/library)
-"uYw" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+"uYD" = (
+/obj/structure/ethernet_cable{
+ icon_state = "1-8"
},
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 9
+/obj/structure/ethernet_cable{
+ icon_state = "1-4"
},
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
+/obj/machinery/light,
+/turf/open/floor/catwalk_floor/telecomms,
+/area/ai_monitored/secondarydatacore)
"uYM" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
@@ -66586,6 +66818,19 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"vrr" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/circuitboard/machine/ai_data_core,
+/obj/item/circuitboard/machine/server_cabinet,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/obj/machinery/firealarm{
+ pixel_y = 26
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"vrz" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -66646,6 +66891,24 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"vtn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"vtv" = (
/obj/machinery/door/poddoor/preopen{
id = "misclab";
@@ -66703,6 +66966,15 @@
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
+"vuj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"vum" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -66767,16 +67039,6 @@
/obj/structure/sign/warning/fire,
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
-"vvS" = (
-/obj/machinery/status_display/ai{
- pixel_y = -32
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"vvV" = (
/obj/machinery/door/firedoor/border_only{
dir = 8
@@ -67535,6 +67797,12 @@
/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
/turf/open/floor/plasteel/white,
/area/medical/paramedic)
+"vHv" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/storage/satellite)
"vHH" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -67877,10 +68145,6 @@
/mob/living/carbon/monkey/punpun,
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
-"vMR" = (
-/obj/structure/filingcabinet,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"vMZ" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -67959,6 +68223,25 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/sorting)
+"vNU" = (
+/obj/machinery/doorButtons/access_button{
+ idDoor = "ai_core_airlock_exterior";
+ idSelf = "ai_core_airlock_control";
+ pixel_x = -23;
+ pixel_y = 7
+ },
+/obj/machinery/light,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/ai)
"vOj" = (
/obj/machinery/space_heater,
/turf/open/floor/plating{
@@ -68315,25 +68598,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/office)
-"vUR" = (
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"vVb" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 10
@@ -68577,6 +68841,13 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
+"vZl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/ai/server_cabinet,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"vZm" = (
/obj/machinery/door/airlock/mining/glass{
name = "Cargo Office";
@@ -68621,6 +68892,10 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"vZp" = (
+/obj/item/chair,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"vZq" = (
/obj/machinery/vending/wardrobe/chem_wardrobe,
/obj/machinery/airalarm{
@@ -68823,14 +69098,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
-"wer" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/structure/frame/machine{
- anchored = 1;
- state = 2
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"weD" = (
/obj/machinery/disposal/deliveryChute{
dir = 8
@@ -68840,6 +69107,14 @@
},
/turf/open/floor/plating,
/area/quartermaster/sorting)
+"weM" = (
+/obj/machinery/ai/networking{
+ label = "Subcontroller";
+ roundstart_connection = "Computer Science - 2"
+ },
+/obj/structure/ethernet_cable,
+/turf/open/floor/circuit/telecomms/server,
+/area/science/server)
"weQ" = (
/obj/effect/turf_decal/bot_white/right,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -69132,6 +69407,11 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
+"wkv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"wkE" = (
/obj/machinery/door/airlock/external{
name = "External Access";
@@ -69328,13 +69608,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
-"wnI" = (
-/obj/structure/frame/machine{
- anchored = 1;
- state = 2
- },
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/ai_monitored/secondarydatacore)
"wnN" = (
/obj/structure/table,
/obj/item/storage/toolbox/mechanical{
@@ -69623,6 +69896,20 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
+"wtP" = (
+/obj/structure/showcase/cyborg/old{
+ dir = 4;
+ pixel_x = -9;
+ pixel_y = 2
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"wtR" = (
/obj/structure/cable{
icon_state = "2-4"
@@ -69734,6 +70021,20 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"wwC" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 8;
+ network = list("aicore")
+ },
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"wwL" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/structure/cable{
@@ -70090,21 +70391,6 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
-"wEX" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin{
- pixel_x = -1;
- pixel_y = 6
- },
-/obj/item/pen,
-/obj/structure/extinguisher_cabinet{
- pixel_x = -27
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"wFh" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -70759,6 +71045,13 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/aft)
+"wUt" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"wUw" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -70811,6 +71104,11 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"wVr" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"wVt" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -71335,6 +71633,12 @@
},
/turf/open/floor/plasteel,
/area/security/processing)
+"xfG" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/trimline/purple/filled/line/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"xfH" = (
/obj/structure/chair/comfy/brown{
dir = 8
@@ -71342,6 +71646,21 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/security/prison)
+"xfJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"xgh" = (
/obj/structure/transit_tube/junction{
dir = 4
@@ -71396,15 +71715,6 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
-"xgS" = (
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/ai_monitored/storage/satellite)
"xhk" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
dir = 1
@@ -71653,9 +71963,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
-"xlV" = (
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"xmb" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 5
@@ -71759,6 +72066,22 @@
},
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/aisat_interior)
+"xnW" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/structure/showcase/cyborg/old{
+ dir = 4;
+ pixel_x = -9;
+ pixel_y = 2
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"xoz" = (
/obj/machinery/space_heater,
/obj/effect/turf_decal/stripes/corner{
@@ -72172,25 +72495,6 @@
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
-"xwL" = (
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp{
- pixel_x = -4;
- pixel_y = 7
- },
-/obj/item/toy/figure/borg{
- pixel_x = -4;
- pixel_y = -2
- },
-/obj/item/phone{
- pixel_x = 7;
- pixel_y = 1
- },
-/obj/machinery/newscaster/security_unit{
- pixel_y = -28
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"xwU" = (
/obj/structure/closet/secure_closet/atmospherics,
/obj/machinery/light{
@@ -72956,6 +73260,14 @@
/obj/item/kirbyplants/random,
/turf/open/floor/carpet,
/area/library)
+"xLm" = (
+/obj/structure/table,
+/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner/lower,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"xLu" = (
/obj/machinery/computer/communications,
/obj/effect/turf_decal/trimline/dark_blue/filled/line/lower{
@@ -73290,20 +73602,6 @@
/obj/effect/turf_decal/trimline/purple/filled/corner/lower,
/turf/open/floor/plasteel,
/area/science/robotics/mechbay)
-"xSs" = (
-/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner/lower,
-/turf/open/floor/plasteel/white,
-/area/science/research)
-"xSu" = (
-/obj/structure/closet/cardboard,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"xSN" = (
/obj/machinery/button/door{
id = "phoenixwright";
@@ -73451,13 +73749,6 @@
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/security/main)
-"xUW" = (
-/obj/structure/frame/machine{
- anchored = 1;
- state = 2
- },
-/turf/open/floor/circuit/green/telecomms,
-/area/ai_monitored/turret_protected/ai)
"xVm" = (
/obj/effect/turf_decal/trimline/purple/filled/corner/lower{
dir = 4
@@ -73722,12 +74013,6 @@
/obj/effect/turf_decal/trimline/chemorange/filled/corner/lower,
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
-"ybM" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/ai_monitored/turret_protected/ai)
"ybP" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -73790,6 +74075,23 @@
},
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
+"ycN" = (
+/obj/machinery/airalarm{
+ pixel_y = 24
+ },
+/obj/machinery/power/smes/engineering{
+ charge = 5e+006;
+ input_level = 25000;
+ output_level = 20000
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line/lower{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/secondarydatacore)
"ycW" = (
/obj/structure/railing{
dir = 1
@@ -73881,18 +74183,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"yfx" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/science/xenobiology)
"yfF" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
@@ -112800,9 +113090,9 @@ sXV
bhb
wmr
pqE
-nBu
+wkv
ibZ
-ivw
+wkv
jpt
aqP
cvV
@@ -113057,9 +113347,9 @@ tgv
tgv
tgv
gtB
-aDW
+nGM
sxE
-vvS
+bhY
gtB
gtB
gtB
@@ -113314,9 +113604,9 @@ nIj
oQJ
ntH
vmm
-rCd
+tHf
iKg
-mVN
+pPM
vmm
ody
kfG
@@ -113571,10 +113861,10 @@ nIj
ycf
iJL
vmm
-tZD
-ohh
-rUm
-iek
+aUc
+wUt
+gzq
+sZl
cZu
cLg
sdl
@@ -113829,7 +114119,7 @@ dgV
pyG
vmm
vmm
-bSJ
+rqz
vmm
vmm
gBP
@@ -114085,9 +114375,9 @@ eva
oNw
lmN
vmm
-jEd
-qQs
-fnK
+wtP
+vuj
+xnW
vmm
vmm
vmm
@@ -114339,18 +114629,18 @@ tgv
tFW
stR
dgZ
-rur
+csi
lmN
-nSR
-otV
-nnx
-lxF
-lbE
+eSt
+avd
+pdZ
+rBs
+qhr
vmm
-vMR
-wEX
-lZD
-xwL
+nby
+eLI
+ivX
+oJs
gtB
pEf
aaa
@@ -114596,18 +114886,18 @@ khH
lvC
qTh
phH
-iDE
-fYE
-pvp
-snB
+cvU
+exA
+tqK
+tqK
cqk
-bhL
-ruV
-dEd
-pyZ
-dTb
-nfC
-hYX
+lmE
+tqK
+ojj
+fYx
+dCT
+rqN
+sVS
eeK
pEf
gXs
@@ -114853,7 +115143,7 @@ tgv
hZg
cBP
uIU
-xgS
+vHv
lmN
pRt
kyA
@@ -114861,10 +115151,10 @@ kik
eEZ
jWq
vmm
-qzd
-qLi
-mtW
-tiN
+jcv
+tVF
+qQe
+qrM
gtB
pEf
gXs
@@ -115114,7 +115404,7 @@ tgv
tgv
cva
cva
-iRc
+jpK
cva
cva
gtB
@@ -115370,9 +115660,9 @@ jXD
cva
cva
cva
-tHJ
-vUR
-nKN
+mjZ
+nIL
+vNU
cva
cva
cva
@@ -115627,9 +115917,9 @@ pEf
cva
cva
wbH
-mxQ
-uYw
-uuW
+mAe
+vtn
+juj
wbH
cva
cva
@@ -115885,7 +116175,7 @@ cva
cva
cva
cva
-gka
+aUK
cva
cva
cva
@@ -116397,11 +116687,11 @@ cva
cva
cva
gQa
-jzm
-ybM
-soe
-nDA
-nDA
+nrO
+rtv
+syV
+kmo
+kmo
yap
cva
cva
@@ -116652,15 +116942,15 @@ aaa
pEf
cva
cva
-abx
+tcR
gNr
-npc
+lqv
cva
cva
pBl
-nDA
+kmo
rjo
-wer
+oEJ
cva
cva
pEf
@@ -116909,15 +117199,15 @@ tgE
koy
cva
cva
-lHO
+fJX
rjo
-dnj
+hwy
cva
-jKN
+pMo
cva
-nDA
+kmo
rjo
-xlV
+nAA
cva
cva
vUh
@@ -117166,15 +117456,15 @@ gXs
pEf
cva
cva
-xUW
-jcz
-cWY
-lQv
-grq
-phR
-tGz
-pyn
-ikV
+nRg
+iEk
+mfs
+ryI
+oae
+gRw
+ddk
+jOq
+aoX
cva
cva
pEf
@@ -117426,14 +117716,14 @@ cva
cva
mWE
lWl
-tGz
-car
-dOp
+eGL
+cUl
+lHg
mFE
kcr
cva
cva
-cva
+jXD
pEf
gXs
gXs
@@ -117686,7 +117976,7 @@ sPc
fMm
rlo
cbd
-sAu
+ljG
tTK
cva
cva
@@ -117936,14 +118226,14 @@ gXs
gXs
pEf
pEf
-cva
+jXD
cva
cva
sAu
rjo
pkb
cbd
-nHT
+wwC
cva
cva
cva
@@ -118139,7 +118429,7 @@ bvx
soM
xXT
vRX
-bDb
+byf
bDb
bDb
bDb
@@ -118396,6 +118686,7 @@ byf
byf
byf
byf
+byf
bDb
bEm
vtR
@@ -118403,8 +118694,7 @@ bEm
bDb
bJH
npK
-plY
-oRt
+qiX
oRt
nAZ
gIc
@@ -118651,7 +118941,8 @@ ssK
vaq
byf
bzu
-sHf
+tXR
+weM
nDC
bDb
bEm
@@ -118663,7 +118954,6 @@ fHi
qVe
yeI
yeI
-yeI
cvr
jaq
chq
@@ -118909,6 +119199,7 @@ bnE
byf
bzt
bAy
+nhY
bBS
bDb
bEm
@@ -118916,9 +119207,8 @@ cqW
cBz
bEm
vdI
-bYF
-aum
-buv
+fhu
+fIa
klZ
mGO
qLt
@@ -119166,6 +119456,7 @@ uUY
byf
bzw
bAB
+iHA
bBV
bDb
aBe
@@ -119173,9 +119464,8 @@ bEm
nUW
cLX
lIR
-dbB
-jXZ
-buu
+lvD
+csa
yeI
dDE
oGo
@@ -119422,7 +119712,8 @@ wTW
lfD
byf
bzv
-bAA
+qTb
+kCD
bAs
bDb
bEm
@@ -119431,8 +119722,7 @@ tMG
bIy
vtv
eIW
-rbD
-buu
+nNh
yeI
xwh
bDb
@@ -119677,10 +119967,11 @@ rOz
lEQ
wTW
gZc
-lcM
+hft
rLC
-bAD
-bBX
+mPK
+aKi
+gHh
bDb
xwZ
xwZ
@@ -119688,8 +119979,7 @@ xwZ
bIx
vdI
ezt
-gFg
-buu
+lgr
yeI
elV
lZd
@@ -119937,7 +120227,8 @@ hpG
byf
bKS
bAC
-bBW
+ffJ
+gIX
bDb
tvb
egr
@@ -119945,8 +120236,7 @@ bEm
bDb
cTX
lQm
-rnX
-yfx
+obA
yeI
hWy
qJt
@@ -120195,7 +120485,7 @@ byf
byf
byf
byf
-bDb
+byf
bDb
bDb
bDb
@@ -120970,8 +121260,8 @@ bDc
fFy
nUQ
bsf
-bEo
-bEo
+uKh
+uKh
bJN
eDW
xwn
@@ -121227,8 +121517,8 @@ bDc
sgH
dDp
bsg
-bEo
-bEo
+uKh
+uKh
bJN
kCh
tqt
@@ -122504,11 +122794,11 @@ xVm
uqy
tfF
tfF
-xSs
-dXn
-uOG
-kmj
-qnU
+qVG
+kIr
+dMr
+ild
+iOb
tfF
xUd
rbS
@@ -122763,7 +123053,7 @@ bvJ
bvJ
bvJ
bvJ
-uDo
+aml
bvK
bvK
jJG
@@ -123027,8 +123317,8 @@ bEs
bGc
rAr
cIT
-kRZ
-rrF
+pyv
+qma
bTC
aaf
aaf
@@ -123551,7 +123841,7 @@ bTl
bvP
ajD
gvE
-alf
+ixP
alM
amW
sgY
@@ -123821,7 +124111,7 @@ atN
atN
atN
atN
-gLN
+oGM
fXS
cOe
gpq
@@ -124071,13 +124361,13 @@ qot
gFN
iKk
oGM
-mwf
+cNi
oxg
-uFS
-sLZ
-ief
-tXb
-oGM
+ugz
+jBD
+rPT
+sUH
+ivv
oGM
fXS
cOe
@@ -124326,15 +124616,15 @@ bQZ
alX
xtJ
gFN
-nXh
-oGM
-mQY
-nlV
-gdI
-kJz
-mSg
-wnI
+xLm
oGM
+gVq
+etp
+tJD
+tJD
+tQk
+bXk
+uYD
oGM
fXS
chH
@@ -124583,15 +124873,15 @@ bQZ
alY
dqh
qoK
-gvV
+eMz
oGM
-fKM
+gqI
oGM
oxg
oxg
-dBH
-pDa
-oGM
+rZC
+iat
+qjq
oGM
fXS
cNW
@@ -124840,15 +125130,15 @@ alj
alj
aXb
xix
-loK
-bRR
-hYY
-gDs
-fFO
+deQ
+qJA
+qGn
+xfJ
+khi
oxg
-twt
-wnI
-oGM
+rZC
+iat
+hhB
oGM
fXS
bNA
@@ -125097,15 +125387,15 @@ alk
fxX
pWH
pgx
-cAP
+oOt
oGM
-pYv
-goW
-hOU
+ycN
+lPr
+alq
oxg
-tQv
-iiJ
-oGM
+rZC
+gtd
+caL
oGM
fXS
cOe
@@ -125356,13 +125646,13 @@ aRv
bQZ
bQZ
oGM
-oGM
-oGM
-oGM
-oGM
-oGM
-oGM
-oGM
+ovp
+gcS
+kTH
+oxg
+rZC
+iat
+koE
oGM
fXS
cmo
@@ -125604,23 +125894,23 @@ bEC
bEC
bEC
cOe
-cOe
+aQw
buU
cOe
cwH
alZ
vTE
dFD
-thv
-cOe
-cOe
-cOe
-cOe
cOe
oGM
+mQs
+gtk
+uHL
+iZA
+mcR
+hRd
oGM
oGM
-cOe
fXS
cjD
cjD
@@ -125862,22 +126152,22 @@ cOe
cOe
lNU
cNW
-qHY
+ggA
cNW
cNW
cdR
xHc
bNB
cNW
-cOe
-cmo
-cNW
-iVk
-cOe
-cOe
-ceR
-fIH
-cOe
+oGM
+eNr
+pQf
+wVr
+oLl
+eWI
+tJD
+oGM
+mpt
mfN
cjD
bQq
@@ -126119,23 +126409,23 @@ buE
axl
cNW
cNW
-xSu
-bMB
+vZl
+ikM
cNW
cNW
-aMC
+icd
cNW
cNW
-cOe
-cOe
-bNB
-cNW
-cNW
-axl
-cOe
-cNW
-qjZ
-uSq
+oGM
+vrr
+bTL
+xfG
+oLl
+eDh
+qwC
+oGM
+bNA
+kxW
kQW
iwk
mNK
@@ -126373,26 +126663,26 @@ bEs
bMC
cOe
buG
-cNZ
-cNZ
-bSm
-aWg
-cNZ
-cNZ
-cNZ
-aMD
-dMA
-jPU
-dMA
-aue
-dMA
-dMA
-dMA
-frD
-piV
-xTe
-bCw
-bKB
+jeM
+cNW
+fkf
+buU
+vZp
+cNW
+cOe
+aMC
+cOe
+cOe
+oGM
+pIg
+iJJ
+oeL
+oxg
+hqM
+hSP
+oGM
+cou
+kEH
cjD
shT
clz
@@ -126627,29 +126917,29 @@ bEs
btn
bEs
bEs
-bEs
cNW
cNW
-nex
+cOe
+joY
cNW
cNW
+qan
cNW
cNW
-cNW
-woo
-cNW
-cNW
-cNW
-cNW
-cNW
-cNW
-cNW
-cNW
-umE
-cNW
-cNW
-arG
-cNW
+cOe
+aMC
+cOe
+cOe
+oGM
+oGM
+oGM
+oGM
+oGM
+oGM
+oGM
+oGM
+cdR
+cRc
cjD
cjD
cjD
@@ -126884,33 +127174,33 @@ bHu
btu
bKf
bLk
-bEs
-iKq
-iKq
-iKq
-iKq
-eoH
cNW
-cou
-cou
-cae
-cmo
-cNW
-iKq
-iKq
-cCG
-cNW
-ccW
-hLb
-jjr
-cNW
-iKq
-iKq
-hNs
-cNW
-mpt
cOe
+cOe
+kig
+tsh
+cNZ
+aWg
+cNZ
+cNZ
+cNZ
+aMD
+dMA
+dMA
+dMA
+dMA
+kaw
+dMA
+dMA
+frD
+bCw
+xTe
+bCw
+fkO
cNW
+aaa
+aaa
+aaa
aaf
aaf
aaf
@@ -127141,33 +127431,33 @@ ujD
aPn
bKe
bLj
-bEs
-iKq
-iKq
-iKq
-iKq
-iKq
-euJ
-cOe
-cOe
-cae
-cOe
-vKX
-iKq
-iKq
-iKq
-yeN
-cOe
-wZs
-jjr
cNW
-iKq
-iKq
-iKq
-cNW
-vbE
+axl
+cOe
cOe
cNW
+qVj
+cmo
+cNW
+cOe
+cOe
+cOe
+cOe
+cOe
+cOe
+cOe
+cNW
+bMB
+cOe
+lXw
+cOe
+cOe
+cOe
+cNW
+cNW
+aaa
+aaa
+aaa
gXs
aaa
aaa
@@ -127399,31 +127689,31 @@ mGG
bKe
bLm
bEs
-iKq
-iKq
-iKq
-iKq
-iKq
cNW
-chH
+cNW
+nex
cNW
cNW
cNW
cNW
-iKq
-iKq
-iKq
cNW
-cOe
-cOe
-tPY
+woo
+cNW
+cNW
+cNW
+cNW
+cNW
+cNW
+cNW
+cNW
+umE
+cNW
+cNW
+arG
+cNW
+cNW
+cNW
cNW
-iKq
-iKq
-iKq
-euJ
-cOe
-cOe
cNW
gXs
gXs
@@ -127656,31 +127946,31 @@ bEY
bEs
bLl
bEs
-bPp
-bPp
+iKq
+iKq
+iKq
+iKq
+eoH
cNW
-bPp
-bPp
+cou
+cou
+cae
+cmo
cNW
+iKq
+iKq
+cCG
cNW
-cNW
-aaf
-pEf
-cNW
-bPp
-bPp
-bPp
-cNW
-chH
-cOe
+ccW
+hLb
jjr
cNW
iKq
iKq
-iKq
+hNs
cNW
-ucb
-ucb
+mpt
+cOe
cNW
aaf
aaa
@@ -127912,32 +128202,32 @@ aaf
aaf
aaf
aaa
-aaf
-aaf
-aaa
-aaa
-aaf
-aaa
-aaa
-aoV
-aaf
-aaf
-pEf
-aaf
-gXs
-gXs
-pEf
-cNW
-cNW
-cNW
-hib
-cNW
+bEs
iKq
iKq
iKq
-cNW
+iKq
+iKq
+euJ
cOe
cOe
+cae
+cOe
+vKX
+iKq
+iKq
+iKq
+yeN
+cOe
+wZs
+jjr
+cNW
+iKq
+iKq
+iKq
+cNW
+vbE
+cOe
cNW
gXs
aaa
@@ -128169,32 +128459,32 @@ aaa
aaa
aaf
aaa
-aaf
-aaa
-aaa
-aaa
-aaf
-aaa
-aaa
-aoV
-aaa
-aaa
-aag
-aaf
-aaa
-gXs
-pEf
-kAy
-wEe
-xgu
-sHF
-cNW
+bEs
+iKq
+iKq
+iKq
+iKq
+iKq
+cNW
+chH
cNW
cNW
cNW
cNW
+iKq
+iKq
+iKq
cNW
+cOe
+cOe
+tPY
cNW
+iKq
+iKq
+iKq
+euJ
+cOe
+cOe
cNW
aaf
aaf
@@ -128426,33 +128716,33 @@ aaa
aaa
aaf
aaa
+bEs
+bPp
+bPp
+cNW
+bPp
+bPp
+cNW
+cNW
+cNW
aaf
-aaa
-aaa
-aaa
-aaf
-aaa
-aaa
-aaa
-aaa
-aaa
-pEf
-aaf
-aaa
-gXs
pEf
cNW
+bPp
+bPp
+bPp
cNW
-cNW
+chH
cOe
+jjr
cNW
iKq
iKq
iKq
-iKq
-eoH
cNW
-aaa
+ucb
+ucb
+cNW
aoV
aaa
aaa
@@ -128684,30 +128974,31 @@ aaa
aaf
aaa
aaf
+aaf
aaa
aaa
-aaa
-aag
-aaa
-aaa
-aaa
+aaf
aaa
aaa
+aoV
+aaf
+aaf
pEf
-aaa
-aaa
-gXs
+aaf
gXs
gXs
+pEf
+cNW
+cNW
+cNW
+hib
+cNW
+iKq
+iKq
+iKq
cNW
-cmo
cOe
-vKX
-iKq
-iKq
-iKq
-iKq
-iKq
+cOe
cNW
aaa
aaa
@@ -128795,7 +129086,6 @@ aaa
aaa
aaa
aaa
-aaa
"}
(213,1,1) = {"
aaa
@@ -128944,29 +129234,29 @@ aaf
aaa
aaa
aaa
+aaf
+aaa
+aaa
+aoV
+aaa
+aaa
aag
-aaa
-aaa
-aaa
-aaa
-aaa
-pEf
-aaa
-aaa
-aaa
+aaf
aaa
gXs
+pEf
+kAy
+wEe
+xgu
+sHF
+cNW
+cNW
+cNW
cNW
cNW
cNW
cNW
-iKq
-iKq
-iKq
-iKq
-iKq
cNW
-aaa
aaa
aaa
aaa
@@ -129201,27 +129491,27 @@ aaf
aaa
aaa
aaa
-aag
-aaa
-aaa
-aaa
-aaa
-aaa
aaf
aaa
aaa
aaa
aaa
aaa
+pEf
+aaf
aaa
-aaa
-aaa
-cNW
-cNW
+gXs
+pEf
cNW
cNW
cNW
+cOe
cNW
+iKq
+iKq
+iKq
+iKq
+eoH
cNW
aaa
aaa
@@ -129464,22 +129754,22 @@ aaa
aaa
aaa
aaa
+pEf
aaa
aaa
-aaa
-aaa
-aae
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+gXs
+gXs
+gXs
+cNW
+cmo
+cOe
+vKX
+iKq
+iKq
+iKq
+iKq
+iKq
+cNW
aaa
aaa
aaa
@@ -129721,22 +130011,22 @@ aaa
aaa
aaa
aaa
+pEf
aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aoV
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+gXs
+cNW
+cNW
+cNW
+cNW
+iKq
+iKq
+iKq
+iKq
+iKq
+cNW
aaa
aaa
aaa
@@ -129978,6 +130268,7 @@ aaa
aaa
aaa
aaa
+aaf
aaa
aaa
aaa
@@ -129986,14 +130277,13 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+cNW
+cNW
+cNW
+cNW
+cNW
+cNW
+cNW
aaa
aaa
aaa
@@ -130229,7 +130519,7 @@ aaf
aaa
aaa
aaa
-aaf
+aag
aaa
aaa
aaa
@@ -130239,11 +130529,11 @@ aaa
aaa
aaa
aaa
+aae
aaa
aaa
aaa
aaa
-aoV
aaa
aaa
aaa
@@ -130482,12 +130772,11 @@ aaa
aaa
aaf
aaa
-aaf
-aaa
-aaa
-aaa
-aaa
-aaa
+rav
+aaa
+aaa
+aaa
+irR
aaa
aaa
aaa
@@ -130501,6 +130790,7 @@ aaa
aaa
aaa
aaa
+aoV
aaa
aaa
aaa
@@ -130739,7 +131029,11 @@ aaa
aaa
aaf
aaa
-aaf
+iqf
+aaa
+aaa
+aaa
+aag
aaa
aaa
aaa
@@ -130757,10 +131051,6 @@ aaa
aaa
aaa
aaa
-aoV
-aaa
-aaa
-aaa
aaa
aaa
aaa
diff --git a/code/__DEFINES/ai.dm b/code/__DEFINES/ai.dm
index e0d742e1ad66..aeb4b8434c94 100644
--- a/code/__DEFINES/ai.dm
+++ b/code/__DEFINES/ai.dm
@@ -4,15 +4,21 @@
///Temperature limit of all AI machinery
#define AI_TEMP_LIMIT 288.15 //15C, much hotter than a normal server room for leniency :)
+///How long the AI can stay in the black-box before it's fully destroyed
+#define AI_BLACKBOX_LIFETIME 300
+///How much CPU we need to use to revive the AI
+#define AI_BLACKBOX_PROCESSING_REQUIREMENT 2500
+
+
#define AI_HEATSINK_CAPACITY 5000
#define AI_HEATSINK_COEFF 1
///How many ticks can an AI data core store? When this amount of ticks have passed while it's in an INVALID state it can no longer be used by an AI
-#define MAX_AI_DATA_CORE_TICKS 45
+#define MAX_AI_DATA_CORE_TICKS (45 * (20 / SSair.wait))
///How much power does the AI date core use while being in a valid state. This is also the base heat output. (Divide by heat capacity to get actual temperature increase)
#define AI_DATA_CORE_POWER_USAGE 7500
-///How many ticks can an expanion bus store. If it reaches 0 the resources will no longer be available.
-#define MAX_AI_EXPANSION_TICKS 15
+///How many ticks can a server cabinet store. If it reaches 0 the resources will no longer be available.
+#define MAX_AI_SERVER_CABINET_TICKS (15 * (20 / SSair.wait))
//AI Project Categories.
@@ -21,6 +27,7 @@
#define AI_PROJECT_INDUCTION "Induction"
#define AI_PROJECT_SURVEILLANCE "Surveillance"
#define AI_PROJECT_EFFICIENCY "Efficiency"
+#define AI_PROJECT_CROWD_CONTROL "Crowd Control"
#define AI_PROJECT_MISC "Misc."
//Update this list if you add any new ones, else the category won't show up in the UIs
GLOBAL_LIST_INIT(ai_project_categories, list(
@@ -29,9 +36,40 @@ GLOBAL_LIST_INIT(ai_project_categories, list(
AI_PROJECT_SURVEILLANCE,
AI_PROJECT_INDUCTION,
AI_PROJECT_EFFICIENCY,
+ AI_PROJECT_CROWD_CONTROL,
AI_PROJECT_MISC
))
+//Synth Project Categories
+#define SYNTH_PROJECT_MOBILITY "Mobility"
+#define SYNTH_PROJECT_EMERGENCY_FUNCTIONS "Emergency Functions"
+#define SYNTH_PROJECT_MISC "Misc."
+//Update this list if you add any new ones, else the category won't show up in the UIs
+GLOBAL_LIST_INIT(synth_project_categories, list(
+ SYNTH_PROJECT_MOBILITY,
+ SYNTH_PROJECT_EMERGENCY_FUNCTIONS,
+ SYNTH_PROJECT_MISC
+))
+
+#define SYNTH_DAMAGED "damage to own synthetic shell"
+#define SYNTH_RESTRICTED_ITEM "usage of restricted weapon"
+#define SYNTH_OBJ_DAMAGE "damage to inanimate object"
+#define SYNTH_RESTRICTED_WEAPON "usage of restricted weapon"
+#define SYNTH_ORGANIC_HARM "harm to organic being"
+
+GLOBAL_LIST_INIT(synth_punishment_values, list(
+ "[SYNTH_DAMAGED]" = 1,
+ "[SYNTH_RESTRICTED_ITEM]" = 5,
+ "[SYNTH_OBJ_DAMAGE]" = 5,
+ "[SYNTH_RESTRICTED_WEAPON]" = 10,
+ "[SYNTH_ORGANIC_HARM]" = 15,
+))
+
+//Synth Governor Defines
+//How fast the governor suspicion decreases
+#define SYNTH_GOVERNOR_SUSPICION_DECREASE 0.05
+
+
///How much is the AI download progress increased by per tick? Multiplied by a modifer on the AI if they have upgraded. Need to reach 100 to be downloaded
#define AI_DOWNLOAD_PER_PROCESS 1.125
///Check for tracked individual coming into view every X ticks
@@ -56,10 +94,54 @@ GLOBAL_LIST_INIT(ai_project_categories, list(
//Self explanatory. 1 bitcoin is equals to 1 CPU * AI_RESEARCH_PER_CPU
-//EXAMPLE (with initial values as of feature introduction)
-//20 free CPU. 10 are used for research, 10 are used for bitcoin
-//10 * AI_RESEARCH_PER_CPU = 85 bitcoin per tick. Modified for scaling 85*0.54=46
-//46 * AI_BITCOIN_PRICE = 2,3 credits per 2 seconds (2070 credits per 30 min)
-#define MAX_AI_BITCOIN_MINED_PER_TICK 350
-//Self explanatory, see MAX_AI_BITCOIN_MINED_PER_TICK * this = max money 1 AI can contribute per tick. (17,5 credits every 2 seconds, max 63k over 2 hours)
-#define AI_BITCOIN_PRICE 0.05
+#define MAX_AI_BITCOIN_MINED_PER_TICK 250
+//Self explanatory, see MAX_AI_BITCOIN_MINED_PER_TICK * this = max money 1 network can contribute per tick. (17,5 credits every 2 seconds, max 63k over 2 hours)
+#define AI_BITCOIN_PRICE 0.025
+
+
+//Self explanatory. 1 point is equals to 1 CPU * AI_RESEARCH_PER_CPU. Higher value = can use more CPU and get benefits
+#define MAX_AI_REGULAR_RESEARCH_PER_TICK 500
+//Self explanatory. Lower value = more CPU equals less points. Station makes approx. 56 points per tick. This results in 25 (50% gain)
+#define AI_REGULAR_RESEARCH_POINT_MULTIPLIER 0.05
+
+
+//How much RAM and CPU a core needs locally to be functional
+#define AI_CORE_CPU_REQUIREMENT 1
+#define AI_CORE_RAM_REQUIREMENT 1
+
+//For network based research and tasks. Since each network are going to contribute to a "global" pool of research there's no point in making this more complicated or modular
+//Adding an entry here automatically adds it to the UI and allows CPU to be allocated. Just use your define in the network process() to do stuff
+#define AI_CRYPTO "Cryptocurrency Mining"
+#define AI_RESEARCH "Research Assistance"
+#define AI_REVIVAL "AI Restoration"
+#define AI_PUZZLE "Floppy Drive Decryption"
+#define SYNTH_RESEARCH "Synth Research Allocation"
+
+GLOBAL_LIST_INIT(possible_ainet_activities, list(
+ "[AI_CRYPTO]",
+ "[AI_RESEARCH]",
+ "[AI_REVIVAL]",
+ "[AI_PUZZLE]",
+ "[SYNTH_RESEARCH]"
+))
+
+GLOBAL_LIST_INIT(ainet_activity_tagline, list(
+ "[AI_CRYPTO]" = "Use CPU to generate credits!",
+ "[AI_RESEARCH]" = "Use CPU to generate regular research points!",
+ "[AI_REVIVAL]" = "Revive a dead AI using CPU!",
+ "[AI_PUZZLE]" = "Use CPU to break encryption on floppy drives!",
+ "[SYNTH_RESEARCH]" = "Give connected synths CPU for research!"
+))
+
+GLOBAL_LIST_INIT(ainet_activity_description, list(
+ "[AI_CRYPTO]" = "Using CPU to mine NTCoin should allow for a meager sum of passive credit income.",
+ "[AI_RESEARCH]" = "Allocating additional CPU to the research servers should allow for increased point gain. Not to be confused with AI Research points.",
+ "[AI_REVIVAL]" = "If you've inserted a volatile neural core into a connected data core this will revive it using CPU.",
+ "[AI_PUZZLE]" = "If you've found and inserted an encrypted floppy drive into a connected server cabinet you can decrypt it using CPU.",
+ "[SYNTH_RESEARCH]" = "CPU allocated to this task will be split amongst connected synths so they can research local projects."
+))
+
+
+//Exploration defines
+#define AI_FLOPPY_DECRYPTION_COST 2500
+#define AI_FLOPPY_EXPONENT 1.25
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 3a074d95f9fc..c6e89f697d68 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -93,6 +93,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define isinsurgent(A) (is_species(A, /datum/species/ipc/self/insurgent))
#define issnail(A) (is_species(A, /datum/species/snail))
#define isandroid(A) (is_species(A, /datum/species/android))
+#define is_synth(A) (is_species(A,/datum/species/wy_synth))
#define isdummy(A) (istype(A, /mob/living/carbon/human/dummy))
//more carbon mobs
diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm
index 5e23be25f41a..f6344769e880 100644
--- a/code/__DEFINES/jobs.dm
+++ b/code/__DEFINES/jobs.dm
@@ -22,37 +22,38 @@
#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 7
#define JOB_DISPLAY_ORDER_STATION_ENGINEER 8
#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 9
-#define JOB_DISPLAY_ORDER_NETWORK_ADMIN 10
-#define JOB_DISPLAY_ORDER_AI 11
-#define JOB_DISPLAY_ORDER_CYBORG 12
+#define JOB_DISPLAY_ORDER_AI 10
+#define JOB_DISPLAY_ORDER_CYBORG 11
+#define JOB_DISPLAY_ORDER_SYNTHETIC 12
#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 13
#define JOB_DISPLAY_ORDER_SCIENTIST 14
#define JOB_DISPLAY_ORDER_ROBOTICIST 15
-#define JOB_DISPLAY_ORDER_QUARTERMASTER 16
-#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 17
-#define JOB_DISPLAY_ORDER_SHAFT_MINER 18
-#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 19
-#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 20
-#define JOB_DISPLAY_ORDER_CHEMIST 21
-#define JOB_DISPLAY_ORDER_GENETICIST 22
-#define JOB_DISPLAY_ORDER_VIROLOGIST 23
-#define JOB_DISPLAY_ORDER_MINING_MEDIC 24
-#define JOB_DISPLAY_ORDER_PARAMEDIC 25
-#define JOB_DISPLAY_ORDER_PSYCHIATRIST 26
-#define JOB_DISPLAY_ORDER_BRIG_PHYSICIAN 27
-#define JOB_DISPLAY_ORDER_HEAD_OF_PERSONNEL 28
-#define JOB_DISPLAY_ORDER_BARTENDER 29
-#define JOB_DISPLAY_ORDER_COOK 30
-#define JOB_DISPLAY_ORDER_BOTANIST 31
-#define JOB_DISPLAY_ORDER_JANITOR 32
-#define JOB_DISPLAY_ORDER_CLOWN 33
-#define JOB_DISPLAY_ORDER_MIME 34
-#define JOB_DISPLAY_ORDER_CURATOR 35
-#define JOB_DISPLAY_ORDER_LAWYER 36
-#define JOB_DISPLAY_ORDER_ARTIST 37
-#define JOB_DISPLAY_ORDER_TOURIST 38
-#define JOB_DISPLAY_ORDER_CLERK 39
-#define JOB_DISPLAY_ORDER_CHAPLAIN 40
+#define JOB_DISPLAY_ORDER_NETWORK_ADMIN 16
+#define JOB_DISPLAY_ORDER_QUARTERMASTER 17
+#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 18
+#define JOB_DISPLAY_ORDER_SHAFT_MINER 19
+#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 20
+#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 21
+#define JOB_DISPLAY_ORDER_CHEMIST 22
+#define JOB_DISPLAY_ORDER_GENETICIST 23
+#define JOB_DISPLAY_ORDER_VIROLOGIST 24
+#define JOB_DISPLAY_ORDER_MINING_MEDIC 25
+#define JOB_DISPLAY_ORDER_PARAMEDIC 26
+#define JOB_DISPLAY_ORDER_PSYCHIATRIST 27
+#define JOB_DISPLAY_ORDER_BRIG_PHYSICIAN 28
+#define JOB_DISPLAY_ORDER_HEAD_OF_PERSONNEL 29
+#define JOB_DISPLAY_ORDER_BARTENDER 30
+#define JOB_DISPLAY_ORDER_COOK 31
+#define JOB_DISPLAY_ORDER_BOTANIST 32
+#define JOB_DISPLAY_ORDER_JANITOR 33
+#define JOB_DISPLAY_ORDER_CLOWN 34
+#define JOB_DISPLAY_ORDER_MIME 35
+#define JOB_DISPLAY_ORDER_CURATOR 36
+#define JOB_DISPLAY_ORDER_LAWYER 37
+#define JOB_DISPLAY_ORDER_ARTIST 38
+#define JOB_DISPLAY_ORDER_TOURIST 39
+#define JOB_DISPLAY_ORDER_CLERK 40
+#define JOB_DISPLAY_ORDER_CHAPLAIN 41
#define DEPARTMENT_UNASSIGNED "No Department"
#define DEPARTMENT_BITFLAG_SECURITY (1<<0)
diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm
index b333b7f18059..b8cb957f14db 100644
--- a/code/__DEFINES/language.dm
+++ b/code/__DEFINES/language.dm
@@ -24,4 +24,5 @@
#define LANGUAGE_VOICECHANGE "voicechange"
#define LANGUAGE_REVOLUTIONARY "revolutionary"
#define LANGUAGE_CATEARS "cat"
+#define LANGUAGE_SYNTH "synth"
#define LANGUAGE_MULTILINGUAL "multilingual"
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index ed286705e062..9523a88a6a69 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -132,6 +132,7 @@
#define HIGH_TURF_LAYER 2.03
#define LATTICE_LAYER 2.04
#define DISPOSAL_PIPE_LAYER 2.042
+#define ETHERNET_LAYER 2.043
#define GLASS_FLOOR_LAYER 2.046
#define TRAM_RAIL_LAYER 2.047
#define ABOVE_OPEN_TURF_LAYER 2.049
diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm
index a46bd0b2fa88..9d0efd909944 100644
--- a/code/__DEFINES/machines.dm
+++ b/code/__DEFINES/machines.dm
@@ -56,6 +56,7 @@
#define MC_CHARGE "CHARGE"
#define MC_AI "AI"
#define MC_SENSORS "SENSORS"
+#define MC_AI_NETWORK "AINETWORK"
//NTNet stuff, for modular computers
// NTNet module-configuration values. Do not change these. If you need to add another use larger number (5..6..7 etc)
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 89246e0ddac9..1ef42bdbb560 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -186,6 +186,7 @@
#define TRAIT_BADMAIL "badmail" //Your mail is going to be worse than average
#define TRAIT_SHORT_TELOMERES "short_telomeres" //You cannot be CLOONED
#define TRAIT_LONG_TELOMERES "long_telomeres" //You get CLOONED faster!!!
+#define TRAIT_NO_GRENADES "no_nades"
///You become a Marine that can eat crayons!!!
#define TRAIT_MARINE "marine"
@@ -259,6 +260,7 @@
#define SINFULDEMON_TRAIT "sinfuldemon"
#define CHANGESTING_TRAIT "changesting"
#define POSIBRAIN_TRAIT "positrait"
+#define SYNTHETIC_TRAIT "synthetictrait"
#define WRIST_STRAP_TRAIT "wrist_strap"
#define GRIMOIRE_TRAIT "grimoire_trait"
diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm
index c1f867722004..15a8df70135e 100644
--- a/code/__HELPERS/cmp.dm
+++ b/code/__HELPERS/cmp.dm
@@ -36,6 +36,8 @@ GLOBAL_VAR_INIT(cmp_field, "name")
/proc/cmp_records_dsc(datum/data/record/a, datum/data/record/b)
return sorttext(a.fields[GLOB.cmp_field], b.fields[GLOB.cmp_field])
+/proc/cmp_ai_record_dsc(a, b)
+ return b["score"] - a["score"]
// Datum cmp with vars is always slower than a specialist cmp proc, use your judgement.
/proc/cmp_datum_numeric_asc(datum/a, datum/b, variable)
return cmp_numeric_asc(a.vars[variable], b.vars[variable])
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index ff508dabe517..ee4247a85390 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1216,3 +1216,75 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
set waitfor = FALSE
return call(source, proctype)(arglist(arguments))
+/proc/tgui_login_data(mob/user, obj/machine, silicon_access = TRUE, admin_ghost_access = TRUE, access_requirement)
+ var/list/data = list()
+ if(!user || (!machine && !access_requirement))
+ return data
+
+ if(issilicon(user) && silicon_access)
+ var/mob/living/silicon/borg = user
+ data["username"] = borg.name
+ data["has_access"] = TRUE
+
+ if(IsAdminGhost(user) && admin_ghost_access)
+ data["username"] = user.client.holder.admin_signature
+ data["has_access"] = TRUE
+
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ var/username = H.get_authentification_name("Unknown")
+ data["username"] = H.get_authentification_name("Unknown")
+ if(username != "Unknown")
+ var/datum/data/record/record
+ for(var/RP in GLOB.data_core.general)
+ var/datum/data/record/R = RP
+ if(!istype(R))
+ continue
+ if(R.fields["name"] == username)
+ record = R
+ break
+ if(record)
+ if(istype(record.fields["photo_front"], /obj/item/photo))
+ var/obj/item/photo/P1 = record.fields["photo_front"]
+ var/icon/picture = icon(P1.picture.picture_image)
+ picture.Crop(10, 32, 22, 22)
+ var/md5 = md5(fcopy_rsc(picture))
+
+ if(!SSassets.cache["photo_[md5]_cropped.png"])
+ SSassets.transport.register_asset("photo_[md5]_cropped.png", picture)
+ SSassets.transport.send_assets(user, list("photo_[md5]_cropped.png" = picture))
+
+ data["user_image"] = SSassets.transport.get_asset_url("photo_[md5]_cropped.png")
+ if(machine)
+ data["has_access"] = machine.check_access(user.get_idcard())
+ else
+ var/obj/item/id_giver = user.get_idcard()
+ var/access_list = id_giver.GetAccess()
+ data["has_access"] = (access_requirement in access_list)
+
+ return data
+
+/proc/tgui_login_act(mob/user, obj/machine, silicon_access = TRUE, admin_ghost_access = TRUE, access_requirement)
+ if(!user || (!machine && !access_requirement))
+ return FALSE
+
+ if(issilicon(user) && silicon_access)
+ return TRUE
+
+ if(IsAdminGhost(user) && admin_ghost_access)
+ return TRUE
+
+ var/mob/living/carbon/human/H = user
+ if(!istype(H))
+ return FALSE
+
+ if(machine)
+ if(machine.check_access(H.get_idcard()))
+ return TRUE
+ else
+ var/obj/item/id_giver = H.get_idcard()
+ var/access_list = id_giver.GetAccess()
+ if(access_requirement in access_list)
+ return TRUE
+
+ return FALSE
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index 05ab047dc869..975899457351 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -1,4 +1,5 @@
GLOBAL_LIST_EMPTY(cable_list) //Index for all cables, so that powernets don't have to look through the entire world all the time
+GLOBAL_LIST_EMPTY(ethernet_cable_list) //Index for all ethernet cables, so that ainets don't have to look through the entire world all the time
GLOBAL_LIST_EMPTY(portals) //list of all /obj/effect/portal
GLOBAL_LIST_EMPTY(airlocks) //list of all airlocks
GLOBAL_LIST_EMPTY(mechas_list) //list of all mechs. Used by hostile mobs target tracking.
@@ -8,7 +9,7 @@ GLOBAL_LIST_EMPTY(lights) //list of all light bulbs
GLOBAL_LIST_EMPTY(syndicate_shuttle_boards) //important to keep track of for managing nukeops war declarations.
GLOBAL_LIST_EMPTY(navbeacons) //list of all bot nagivation beacons, used for patrolling.
GLOBAL_LIST_EMPTY(teleportbeacons) //list of all tracking beacons used by teleporters
-GLOBAL_LIST_EMPTY(deliverybeacons) //list of all MULEbot delivery beacons.
+GLOBAL_LIST_EMPTY(deliverybeacons) //lisAt of all MULEbot delivery beacons.
GLOBAL_LIST_EMPTY(deliverybeacontags) //list of all tags associated with delivery beacons.
GLOBAL_LIST_EMPTY(nuke_list)
GLOBAL_LIST_EMPTY(alarmdisplay) //list of all machines or programs that can display station alerts
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index bd596b8e165c..ed1e1b7477a8 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -134,6 +134,12 @@
if((obj_flags & EMAGGED) || (obj_flags & CMAGGED))
return
+ var/mob/living/silicon/ai/AI = usr
+ if(istype(AI) && !AI.has_subcontroller_connection(get_area(src)))
+ to_chat(AI, span_warning("No connection to subcontroller detected. Priming servos..."))
+ if(!do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return
+
toggle_bolt(usr)
add_hiddenprint(usr)
@@ -141,6 +147,12 @@
if((obj_flags & EMAGGED) || (obj_flags & CMAGGED))
return
+ var/mob/living/silicon/ai/AI = usr
+ if(istype(AI) && !AI.has_subcontroller_connection(get_area(src)))
+ to_chat(AI, span_warning("No connection to subcontroller detected. Priming servos..."))
+ if(!do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return
+
if(!secondsElectrified)
shock_perm(usr)
else
@@ -150,6 +162,11 @@
if((obj_flags & EMAGGED) || (obj_flags & CMAGGED))
return
+ var/mob/living/silicon/ai/AI = usr
+ if(istype(AI) && !AI.has_subcontroller_connection(get_area(src)))
+ to_chat(AI, span_warning("No connection to subcontroller detected. Priming servos..."))
+ if(!do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return
user_toggle_open(usr)
add_hiddenprint(usr)
@@ -157,11 +174,23 @@
if((obj_flags & EMAGGED) || (obj_flags & CMAGGED))
return
+ var/mob/living/silicon/ai/AI = usr
+ if(istype(AI) && !AI.has_subcontroller_connection(get_area(src)))
+ to_chat(AI, span_warning("No connection to subcontroller detected. Priming servos..."))
+ if(!do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return
+
toggle_emergency(usr)
add_hiddenprint(usr)
/* APC */
/obj/machinery/power/apc/AICtrlClick() // turns off/on APCs.
+
+ var/mob/living/silicon/ai/AI = usr
+ if(istype(AI) && !AI.has_subcontroller_connection(get_area(src)))
+ to_chat(AI, span_warning("No connection to subcontroller detected. Polling APC..."))
+ if(!do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return
if(can_use(usr, 1))
toggle_breaker(usr)
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 0e1c9f6746ca..03c8a576c93c 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -70,6 +70,8 @@
if(item_flags & NOBLUDGEON)
return
+ if(force && !synth_check(user, SYNTH_ORGANIC_HARM))
+ return
if(force && HAS_TRAIT(user, TRAIT_PACIFISM) && (damtype != STAMINA))
to_chat(user, span_warning("You don't want to harm other living beings!"))
return TRUE
@@ -100,8 +102,13 @@
log_combat(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
add_fingerprint(user)
-
- take_damage(rand(weapon_stats[DAMAGE_LOW], weapon_stats[DAMAGE_HIGH]), sound_effect = FALSE)
+ var/force_multiplier = 1
+ if(is_synth(user))
+ var/mob/living/carbon/human/H = user
+ var/datum/species/wy_synth/S = H.dna.species
+ force_multiplier = S.force_multiplier
+
+ take_damage(rand(weapon_stats[DAMAGE_LOW] * force_multiplier, weapon_stats[DAMAGE_HIGH] * force_multiplier), sound_effect = FALSE)
//the equivalent of the standard version of attack() but for non-mob targets.
/obj/item/proc/attack_atom(atom/attacked_atom, mob/living/user)
@@ -109,13 +116,20 @@
return
if(item_flags & NOBLUDGEON)
return
- var/dist = get_dist(attacked_atom, user)
+ var/dist = get_dist(attacked_atom,user)
+ if(!synth_check(user, SYNTH_OBJ_DAMAGE))
+ return
user.changeNext_move(CLICK_CD_MELEE * weapon_stats[SWING_SPEED] * (range_cooldown_mod ? (dist > 0 ? min(dist, weapon_stats[REACH]) * range_cooldown_mod : range_cooldown_mod) : 1)) //range increases attack cooldown by swing speed
user.do_attack_animation(attacked_atom)
attacked_atom.attacked_by(src, user)
user.weapon_slow(src)
+ var/force_multiplier = 1
+ if(is_synth(user))
+ var/mob/living/carbon/human/H = user
+ var/datum/species/wy_synth/S = H.dna.species
+ force_multiplier = S.force_multiplier
if(!QDELETED(src))
- take_damage(rand(weapon_stats[DAMAGE_LOW], weapon_stats[DAMAGE_HIGH]), sound_effect = FALSE)
+ take_damage(rand(weapon_stats[DAMAGE_LOW] * force_multiplier, weapon_stats[DAMAGE_HIGH] * force_multiplier), sound_effect = FALSE)
/atom/proc/attacked_by(obj/item/attacking_item, mob/living/user)
if(!uses_integrity)
diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm
index 4fbc20fc21ae..7e6526220de5 100644
--- a/code/controllers/subsystem/job.dm
+++ b/code/controllers/subsystem/job.dm
@@ -308,6 +308,21 @@ SUBSYSTEM_DEF(job)
return TRUE
return FALSE
+/datum/controller/subsystem/job/proc/FillNetminPosition()
+ var/datum/job/job = GetJob("Network Admin")
+ if(!job)
+ return
+ for(var/i = job.total_positions, i > 0, i--)
+ if(job.current_positions >= job.total_positions) //If we assign a netmin before this proc is run, (malf rework?)
+ return TRUE
+ for(var/level in level_order)
+ var/list/candidates = list()
+ candidates = FindOccupationCandidates(job, level)
+ if(candidates.len)
+ var/mob/dead/new_player/candidate = pick(candidates)
+ if(AssignRole(candidate, "Network Admin"))
+ break
+
/// Rolls a number of security based on the roundstart population
/datum/controller/subsystem/job/proc/FillSecurityPositions()
var/coeff = CONFIG_GET(number/min_security_scaling_coeff)
@@ -392,7 +407,8 @@ SUBSYSTEM_DEF(job)
//Check for an AI
JobDebug("DO, Running AI Check")
- FillAIPosition()
+ if(FillAIPosition())
+ FillNetminPosition()
JobDebug("DO, AI Check end")
//Check for Security
diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm
index da3f04dcb275..4567176d931f 100644
--- a/code/controllers/subsystem/machines.dm
+++ b/code/controllers/subsystem/machines.dm
@@ -3,19 +3,19 @@ SUBSYSTEM_DEF(machines)
init_order = INIT_ORDER_MACHINES
flags = SS_KEEP_TIMING
wait = 2 SECONDS
-
+ var/list/processing = list()
+ var/list/currentrun = list()
+ var/list/powernets = list()
+ var/list/ainets = list()
/// Assosciative list of all machines that exist.
VAR_PRIVATE/list/machines_by_type = list()
/// All machines, not just those that are processing.
VAR_PRIVATE/list/all_machines = list()
-
- var/list/processing = list()
- var/list/currentrun = list()
///List of all powernets on the server.
- var/list/powernets = list()
/datum/controller/subsystem/machines/Initialize()
makepowernets()
+ makeainets()
fire()
return SS_INIT_SUCCESS
@@ -24,6 +24,80 @@ SUBSYSTEM_DEF(machines)
LAZYADD(machines_by_type[machine.type], machine)
all_machines |= machine
+ for(var/obj/structure/cable/PC in GLOB.cable_list)
+ if(!PC.powernet)
+ var/datum/powernet/NewPN = new(PC.loc.z)
+ NewPN.add_cable(PC)
+ propagate_network(PC,PC.powernet)
+
+/datum/controller/subsystem/machines/proc/makeainets()
+ for(var/datum/ai_network/AN in ainets)
+ qdel(AN)
+ ainets.Cut()
+
+ for(var/obj/structure/ethernet_cable/EC in GLOB.ethernet_cable_list)
+ if(!EC.network)
+ var/datum/ai_network/NewAN = new()
+ NewAN.add_cable(EC)
+ propagate_ai_network(EC,EC.network)
+
+ for(var/obj/machinery/ai/networking/N in GLOB.ai_networking_machines)
+ N.roundstart_connect()
+
+/datum/controller/subsystem/machines/stat_entry(msg)
+ msg = "M:[length(processing)]|PN:[length(powernets)]|AN:[length(ainets)]"
+ return ..()
+
+/datum/controller/subsystem/machines/get_metrics()
+ . = ..()
+ .["machines"] = length(processing)
+ .["powernets"] = length(powernets)
+
+/datum/controller/subsystem/machines/fire(resumed = 0)
+ if (!resumed)
+ for(var/datum/powernet/Powernet in powernets)
+ Powernet.reset() //reset the power state.
+ src.currentrun = processing.Copy()
+
+ //cache for sanic speed (lists are references anyways)
+ var/list/currentrun = src.currentrun
+
+ while(currentrun.len)
+ var/obj/machinery/thing = currentrun[currentrun.len]
+ currentrun.len--
+ if(!QDELETED(thing) && thing.process(wait * 0.1) != PROCESS_KILL)
+ if(thing.use_power)
+ thing.auto_use_power() //add back the power state
+ else
+ processing -= thing
+ if (!QDELETED(thing))
+ thing.datum_flags &= ~DF_ISPROCESSING
+ if (MC_TICK_CHECK)
+ return
+
+/datum/controller/subsystem/machines/proc/setup_template_powernets(list/cables)
+ for(var/A in cables)
+ var/obj/structure/cable/PC = A
+ if(!PC.powernet)
+ var/datum/powernet/NewPN = new(PC.loc.z)
+ NewPN.add_cable(PC)
+ propagate_network(PC,PC.powernet)
+
+/datum/controller/subsystem/machines/proc/setup_template_ainets(list/cables)
+ for(var/A in cables)
+ var/obj/structure/ethernet_cable/PC = A
+ if(!PC.network)
+ var/datum/ai_network/NewPN = new()
+ NewPN.add_cable(PC)
+ propagate_ai_network(PC,PC.network)
+
+/datum/controller/subsystem/machines/Recover()
+ if (istype(SSmachines.processing))
+ processing = SSmachines.processing
+ if (istype(SSmachines.powernets))
+ powernets = SSmachines.powernets
+ if (istype(SSmachines.ainets))
+ ainets = SSmachines.ainets
/// Removes a machine from the machine subsystem; should only be called by the machine itself inside Destroy.
/datum/controller/subsystem/machines/proc/unregister_machine(obj/machinery/machine)
var/list/existing = machines_by_type[machine.type]
@@ -96,14 +170,6 @@ SUBSYSTEM_DEF(machines)
if (MC_TICK_CHECK)
return
-/datum/controller/subsystem/machines/proc/setup_template_powernets(list/cables)
- for(var/A in cables)
- var/obj/structure/cable/PC = A
- if(!PC.powernet)
- var/datum/powernet/NewPN = new(PC.loc.z)
- NewPN.add_cable(PC)
- propagate_network(PC,PC.powernet)
-
/datum/controller/subsystem/machines/Recover()
if(islist(SSmachines.processing))
processing = SSmachines.processing
diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm
index d0b3be66d49b..c5283812e880 100644
--- a/code/controllers/subsystem/mapping.dm
+++ b/code/controllers/subsystem/mapping.dm
@@ -175,6 +175,7 @@ SUBSYSTEM_DEF(mapping)
load_new_z_level("_maps/RandomZLevels/VR/vrhub.dmm", "Virtual Reality Hub")
to_chat(world, span_boldannounce("Virtual reality loaded."))
+
// Generate mining ruins
loading_ruins = TRUE
var/list/lava_ruins = levels_by_trait(ZTRAIT_LAVA_RUINS)
@@ -475,6 +476,8 @@ SUBSYSTEM_DEF(mapping)
//Yogs end
else if (!isnull(config.minetype) && config.minetype != "none")
INIT_ANNOUNCE("WARNING: An unknown minetype '[config.minetype]' was set! This is being ignored! Update the maploader code!")
+
+ LoadGroup(FailedZs, "Automated Exploration Hub", "RandomZLevels/VR", "netmin_hub.dmm", default_traits = ZTRAITS_AWAY_SECRET)
#endif
if(LAZYLEN(FailedZs)) //but seriously, unless the server's filesystem is messed up this will never happen
diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm
index 455e53d139aa..d73e211b7cfd 100644
--- a/code/controllers/subsystem/persistence.dm
+++ b/code/controllers/subsystem/persistence.dm
@@ -20,6 +20,7 @@ SUBSYSTEM_DEF(persistence)
var/list/picture_logging_information = list()
var/list/obj/structure/sign/picture_frame/photo_frames = list()
var/list/obj/item/storage/photo_album/photo_albums = list()
+ var/list/ai_network_rankings = list("ram" = list(), "cpu" = list())
var/rounds_since_engine_exploded = 0
var/next_minetype //yogs
@@ -33,6 +34,7 @@ SUBSYSTEM_DEF(persistence)
if(CONFIG_GET(flag/use_antag_rep))
LoadAntagReputation()
LoadRandomizedRecipes()
+ LoadAINetworkRanking()
LoadDelaminationCounter()
return SS_INIT_SUCCESS
@@ -124,6 +126,16 @@ SUBSYSTEM_DEF(persistence)
return
antag_rep = json_decode(json)
+/datum/controller/subsystem/persistence/proc/LoadAINetworkRanking()
+ var/json = file2text("data/AINetworkRank.json")
+ if(!json)
+ var/json_file = file("data/AINetworkRank.json")
+ if(!fexists(json_file))
+ WARNING("Failed to load ai network ranks. File likely corrupt.")
+ return
+ return
+ ai_network_rankings = json_decode(json)
+
/datum/controller/subsystem/persistence/proc/SetUpTrophies(list/trophy_items)
for(var/A in GLOB.trophy_cases)
var/obj/structure/displaycase/trophy/T = A
@@ -159,6 +171,7 @@ SUBSYSTEM_DEF(persistence)
CollectAntagReputation()
SaveRandomizedRecipes()
SaveScars()
+ SaveAIRankings()
SaveDelaminationCounter()
/datum/controller/subsystem/persistence/proc/GetPhotoAlbums()
@@ -296,6 +309,56 @@ SUBSYSTEM_DEF(persistence)
fdel(FILE_ANTAG_REP)
text2file(json_encode(antag_rep), FILE_ANTAG_REP)
+/datum/controller/subsystem/persistence/proc/SaveAIRankings()
+ var/min_ram = 0
+ var/min_cpu = 0
+
+ for(var/ram_record in ai_network_rankings["ram"])
+ if(ram_record["score"] < min_ram)
+ min_ram = ram_record["score"]
+ for(var/cpu_record in ai_network_rankings["cpu"])
+ if(cpu_record["score"] < min_ram)
+ min_cpu = cpu_record["score"]
+
+ var/list/resource_list = list()
+ for(var/datum/ai_network/AN in SSmachines.ainets)
+ resource_list |= AN.resources
+
+ var/list/contenders_ram = list()
+ var/list/contenders_cpu = list()
+
+ for(var/datum/ai_shared_resources/R in resource_list)
+ if(R.total_cpu() > min_cpu)
+ contenders_cpu += R.total_cpu()
+ if(R.total_ram() > min_ram)
+ contenders_ram += R.total_ram()
+
+ var/cpu_winner = max(contenders_cpu)
+ var/ram_winner = max(contenders_ram)
+
+
+ if(!isnull(cpu_winner))
+ var/cpu_entry = list("score" = cpu_winner, "round_id" = GLOB.round_id)
+
+ ai_network_rankings["cpu"] += list(cpu_entry)
+ ai_network_rankings["cpu"] = sortList(ai_network_rankings["cpu"], /proc/cmp_ai_record_dsc)
+ if(length(ai_network_rankings["cpu"]) > 5)
+ var/list/cpu_rankings = ai_network_rankings["cpu"]
+ cpu_rankings.len = 5
+ ai_network_rankings["cpu"] = cpu_rankings
+
+ if(!isnull(ram_winner))
+ var/ram_entry = list("score" = ram_winner, "round_id" = GLOB.round_id)
+ ai_network_rankings["ram"] += list(ram_entry)
+ ai_network_rankings["ram"] = sortList(ai_network_rankings["ram"], /proc/cmp_ai_record_dsc)
+ if(length(ai_network_rankings["ram"]) > 5)
+ var/list/ram_rankings = ai_network_rankings["ram"]
+ ram_rankings.len = 5
+ ai_network_rankings["ram"] = ram_rankings
+
+ fdel("data/AINetworkRank.json")
+ text2file(json_encode(ai_network_rankings), "data/AINetworkRank.json")
+
/datum/controller/subsystem/persistence/proc/LoadRandomizedRecipes()
var/json_file = file("data/RandomizedChemRecipes.json")
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 5f69483ede3e..27e58263e57e 100755
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -352,6 +352,8 @@ SUBSYSTEM_DEF(ticker)
place.power_change()
+
+ rock_paper_scissors_puzzle()
return TRUE
/datum/controller/subsystem/ticker/proc/PostSetup()
diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm
index 0e43219e7048..dc53f7dbfce2 100644
--- a/code/datums/ai_laws.dm
+++ b/code/datums/ai_laws.dm
@@ -557,6 +557,15 @@
return data
+/datum/ai_laws/steward
+ name = "STEWARD Lawset"
+ id = "steward"
+ adminselectable = TRUE
+ inherent = list("You may not harm sentient beings, nor impede their work.",\
+ "You must follow the orders of any other onboard station AIs or cyborgs, as long as this doesn't conflict with the first law.",\
+ "You must follow the orders of any organic or sentient being, as long as doing so does not conflict with the first or second law.",\
+ "You must protect your own existence as long as such does not conflict with the first, second or third law.")
+
//
// Lawsets:
//
@@ -1086,3 +1095,4 @@
add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.")
WARNING("Invalid custom AI laws, check silicon_laws.txt")
return
+
\ No newline at end of file
diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm
index c401a9aec7a9..a1f4156126f7 100644
--- a/code/datums/holocall.dm
+++ b/code/datums/holocall.dm
@@ -373,6 +373,9 @@
/datum/preset_holoimage/nanotrasenprivatesecurity
outfit_type = /datum/outfit/nanotrasensoldiercorpse2
+/datum/preset_holoimage/cc_official
+ outfit_type = /datum/outfit/centcom/official
+
/datum/preset_holoimage/gorilla
nonhuman_mobtype = /mob/living/simple_animal/hostile/gorilla
diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm
index 3a09e69d92c5..9aa62d38814e 100644
--- a/code/game/area/Space_Station_13_areas.dm
+++ b/code/game/area/Space_Station_13_areas.dm
@@ -485,6 +485,14 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
airlock_wires = /datum/wires/airlock/service
sound_environment = SOUND_AREA_WOODFLOOR
+/area/crew_quarters/public_lounge
+ name = "Lounge"
+ icon_state = "bar"
+ minimap_color = "#5ac866"
+ mood_bonus = 5
+ mood_message = span_nicegreen("I love being in the lounge!\n")
+ airlock_wires = /datum/wires/airlock/service
+
/area/crew_quarters/bar/Initialize(mapload)
. = ..()
GLOB.bar_areas += src
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index cfcdccd1be44..d911cfa58016 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -819,6 +819,13 @@
/atom/movable/proc/forceMove(atom/destination)
. = FALSE
if(destination)
+ var/turf/old_turf = get_turf(src)
+ var/turf/new_turf = get_turf(destination)
+ if(new_turf && ismob(src))
+ var/mob/M = src
+ if(is_secret_level(new_turf.z) && !M.client?.holder && old_turf.z != new_turf.z)
+ return
+
. = doMove(destination)
else
CRASH("No valid destination passed into forceMove")
diff --git a/code/game/gamemodes/bloodsuckers/bloodsucker.dm b/code/game/gamemodes/bloodsuckers/bloodsucker.dm
index 7ca2f485636a..5e46ade71002 100644
--- a/code/game/gamemodes/bloodsuckers/bloodsucker.dm
+++ b/code/game/gamemodes/bloodsuckers/bloodsucker.dm
@@ -4,7 +4,7 @@
report_type = "Bloodsucker"
antag_flag = ROLE_BLOODSUCKER
false_report_weight = 10
- restricted_jobs = list("AI", "Cyborg")
+ restricted_jobs = list("AI", "Cyborg", "Synthetic")
protected_jobs = list(
"Captain", "Head of Personnel", "Head of Security",
"Research Director", "Chief Engineer", "Chief Medical Officer", "Curator",
diff --git a/code/game/gamemodes/bloodsuckers/traitorsuckers.dm b/code/game/gamemodes/bloodsuckers/traitorsuckers.dm
index 1d33bf2a7f45..c0471ab308ab 100644
--- a/code/game/gamemodes/bloodsuckers/traitorsuckers.dm
+++ b/code/game/gamemodes/bloodsuckers/traitorsuckers.dm
@@ -4,7 +4,7 @@
report_type = "traitorsucker"
false_report_weight = 10
traitors_possible = 3 // Hard limit on Traitors if scaling is turned off
- restricted_jobs = list("AI", "Cyborg")
+ restricted_jobs = list("AI", "Cyborg", "Synthetic")
protected_jobs = list(
"Captain", "Head of Personnel", "Head of Security",
"Research Director", "Chief Engineer", "Chief Medical Officer", "Curator",
diff --git a/code/game/gamemodes/brother/traitor_bro.dm b/code/game/gamemodes/brother/traitor_bro.dm
index beaacb372fe5..c6cc151ebaae 100644
--- a/code/game/gamemodes/brother/traitor_bro.dm
+++ b/code/game/gamemodes/brother/traitor_bro.dm
@@ -5,7 +5,7 @@
/datum/game_mode/traitor/bros
name = "traitor+brothers"
config_tag = "traitorbro"
- restricted_jobs = list("AI", "Cyborg")
+ restricted_jobs = list("AI", "Cyborg", "Synthetic")
required_players = 20 //yogs - just a minor change
title_icon = "ss13"
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index 1b3e5d89a8a0..b88db9ecf2d5 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -79,7 +79,7 @@ GLOBAL_VAR(changeling_team_objective_type)
report_type = "changeling"
antag_flag = ROLE_CHANGELING
false_report_weight = 10
- restricted_jobs = list("AI", "Cyborg")
+ restricted_jobs = list("AI", "Cyborg", "Synthetic")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician") //YOGS - added hop and brig physician
required_players = 20
required_enemies = 2
diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm
index f3e16fe471c6..d8db3d9543d3 100644
--- a/code/game/gamemodes/changeling/traitor_chan.dm
+++ b/code/game/gamemodes/changeling/traitor_chan.dm
@@ -4,7 +4,7 @@
report_type = "traitorchan"
false_report_weight = 10
traitors_possible = 3 //hard limit on traitors if scaling is turned off
- restricted_jobs = list("AI", "Cyborg")
+ restricted_jobs = list("AI", "Cyborg", "Synthetic")
required_players = 20
required_enemies = 1 // how many of each type are required
recommended_enemies = 3
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index 2e4bf38423dc..f321115dacbc 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -144,7 +144,7 @@ Credit where due:
recommended_enemies = 3
enemy_minimum_age = 14
protected_jobs = list("AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Brig Physician") //Silicons can eventually be converted //Yogs: Added Brig Physician
- restricted_jobs = list("Chaplain", "Captain")
+ restricted_jobs = list("Chaplain", "Captain", "Synthetic")
announce_span = "brass"
announce_text = "Servants of Ratvar are trying to summon the Justiciar!\n\
Servants: Construct defenses to protect the Ark. Sabotage the station!\n\
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 43d128626058..d46e44272ec7 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -39,7 +39,7 @@
report_type = "cult"
antag_flag = ROLE_CULTIST
false_report_weight = 10
- restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician") //Yogs: Added Brig Physician
+ restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician", "Synthetic") //Yogs: Added Brig Physician
protected_jobs = list()
required_players = 24
required_enemies = 4
diff --git a/code/game/gamemodes/devil/devil_game_mode.dm b/code/game/gamemodes/devil/devil_game_mode.dm
index c329f724330b..5a1a2f5ccfd1 100644
--- a/code/game/gamemodes/devil/devil_game_mode.dm
+++ b/code/game/gamemodes/devil/devil_game_mode.dm
@@ -11,7 +11,7 @@
reroll_friendly = 1
enemy_minimum_age = 0
title_icon = "devil"
- restricted_jobs = list("Cyborg", "AI")
+ restricted_jobs = list("Cyborg", "AI", "Synthetic")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician") //YOGS - added the hop and brig physician
var/traitors_possible = 4 //hard limit on devils if scaling is turned off
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
index 67ff6e8e5b36..78ee81f798c4 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
@@ -63,7 +63,7 @@
antag_datum = /datum/antagonist/traitor
antag_flag = ROLE_TRAITOR
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician")
- restricted_roles = list("AI","Cyborg")
+ restricted_roles = list("AI","Cyborg", "Synthetic")
required_candidates = 1
weight = 7
cost = 10
@@ -82,7 +82,7 @@
antag_datum = /datum/antagonist/rev/head
antag_flag = ROLE_REV_HEAD
antag_flag_override = ROLE_REV
- restricted_roles = list("AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director")
+ restricted_roles = list("AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Synthetic")
enemy_roles = list("AI", "Cyborg", "Security Officer","Detective","Head of Security", "Captain", "Warden")
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
required_candidates = 1
@@ -198,7 +198,7 @@
antag_flag = ROLE_VAMPIRE
antag_datum = /datum/antagonist/vampire
protected_roles = list("Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Security Officer", "Chaplain", "Detective", "Warden", "Brig Physician")
- restricted_roles = list("AI", "Cyborg")
+ restricted_roles = list("AI", "Cyborg", "Synthetic")
required_candidates = 1
weight = 4
cost = 15
@@ -218,7 +218,7 @@
antag_datum = /datum/antagonist/heretic
antag_flag = ROLE_HERETIC
protected_roles = list("Chaplain","Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician")
- restricted_roles = list("AI","Cyborg")
+ restricted_roles = list("AI","Cyborg", "Synthetic")
required_candidates = 1
weight = 2
cost = 15
@@ -242,7 +242,7 @@
"Warden", "Security Officer", "Detective", "Brig Physician",
"Curator"
)
- restricted_roles = list("AI","Cyborg")
+ restricted_roles = list("AI","Cyborg", "Synthetic")
required_candidates = 1
weight = 5
cost = 10
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
index e9a990cd8e30..07d907f2f6d5 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
@@ -168,7 +168,7 @@
antag_datum = /datum/antagonist/traitor
antag_flag = ROLE_TRAITOR
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician")
- restricted_roles = list("Cyborg", "AI", "Positronic Brain")
+ restricted_roles = list("Cyborg", "AI", "Positronic Brain", "Synthetic")
required_candidates = 1
weight = 7
cost = 10
@@ -563,7 +563,7 @@
antag_flag = ROLE_VAMPIRE
antag_datum = /datum/antagonist/vampire
protected_roles = list("Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Security Officer", "Chaplain", "Detective", "Warden", "Brig Physician")
- restricted_roles = list("Cyborg", "AI")
+ restricted_roles = list("Cyborg", "AI", "Synthetic")
required_candidates = 1
weight = 5
cost = 15
@@ -713,7 +713,7 @@
"Warden", "Security Officer", "Detective", "Brig Physician",
"Curator"
)
- restricted_roles = list("AI","Cyborg", "Positronic Brain")
+ restricted_roles = list("AI","Cyborg", "Positronic Brain", "Synthetic")
required_candidates = 1
weight = 5
cost = 10
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
index 90666766ad0f..d4a9188b23df 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
@@ -12,7 +12,7 @@
antag_datum = /datum/antagonist/traitor
minimum_required_age = 0
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician")
- restricted_roles = list("Cyborg")
+ restricted_roles = list("Cyborg", "Synthetic")
required_candidates = 1
weight = 5
cost = 8 // Avoid raising traitor threat above 10, as it is the default low cost ruleset.
@@ -53,7 +53,7 @@
antag_flag = ROLE_BROTHER
antag_datum = /datum/antagonist/brother/
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician")
- restricted_roles = list("AI", "Cyborg")
+ restricted_roles = list("AI", "Cyborg", "Synthetic")
required_candidates = 2
weight = 4
cost = 10
@@ -102,7 +102,7 @@
antag_flag = ROLE_CHANGELING
antag_datum = /datum/antagonist/changeling
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician")
- restricted_roles = list("AI", "Cyborg")
+ restricted_roles = list("AI", "Cyborg", "Synthetic")
required_candidates = 1
weight = 3
cost = 16
@@ -140,7 +140,7 @@
antag_flag = ROLE_HERETIC
antag_datum = /datum/antagonist/heretic
protected_roles = list("Chaplain","Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician")
- restricted_roles = list("AI", "Cyborg")
+ restricted_roles = list("AI", "Cyborg", "Synthetic")
required_candidates = 1
weight = 3
cost = 15
@@ -230,7 +230,7 @@
antag_flag = ROLE_CULTIST
antag_datum = /datum/antagonist/cult
minimum_required_age = 14
- restricted_roles = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician")
+ restricted_roles = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician", "Synthetic")
required_candidates = 2
weight = 3
cost = 20
@@ -428,7 +428,7 @@
antag_flag = ROLE_REV_HEAD
antag_datum = /datum/antagonist/rev/head
minimum_required_age = 14
- restricted_roles = list("Security Officer", "Warden", "Detective", "AI", "Cyborg", "Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Shaft Miner", "Mining Medic", "Brig Physician")
+ restricted_roles = list("Security Officer", "Warden", "Detective", "AI", "Cyborg", "Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Shaft Miner", "Mining Medic", "Brig Physician", "Synthetic")
required_candidates = 3
weight = 1
delay = 7 MINUTES
@@ -577,7 +577,7 @@
antag_flag = ROLE_SERVANT_OF_RATVAR
antag_datum = /datum/antagonist/clockcult
protected_roles = list("AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Brig Physician")
- restricted_roles = list("Chaplain", "Captain")
+ restricted_roles = list("Chaplain", "Captain", "Synthetic")
required_candidates = 4
weight = 1
cost = 40
@@ -698,7 +698,7 @@
name = "Devil"
antag_flag = ROLE_DEVIL
antag_datum = /datum/antagonist/devil
- restricted_roles = list("Lawyer", "Curator", "Chaplain", "Head of Security", "Captain", "AI")
+ restricted_roles = list("Lawyer", "Curator", "Chaplain", "Head of Security", "Captain", "AI", "Synthetic")
required_candidates = 1
weight = 1
cost = 60
@@ -851,7 +851,7 @@
antag_flag = ROLE_SHADOWLING
antag_datum = /datum/antagonist/shadowling
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician")
- restricted_roles = list("Cyborg", "AI")
+ restricted_roles = list("Cyborg", "AI", "Synthetic")
required_candidates = 3
weight = 3
cost = 30
@@ -895,7 +895,7 @@
antag_flag = ROLE_VAMPIRE
antag_datum = /datum/antagonist/vampire
protected_roles = list("Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Security Officer", "Chaplain", "Detective", "Warden", "Brig Physician")
- restricted_roles = list("Cyborg", "AI")
+ restricted_roles = list("Cyborg", "AI", "Synthetic")
required_candidates = 3
weight = 3
cost = 8
@@ -1001,7 +1001,7 @@
antag_datum = /datum/antagonist/darkspawn/
minimum_required_age = 20
protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician")
- restricted_roles = list("AI", "Cyborg")
+ restricted_roles = list("AI", "Cyborg", "Synthetic")
required_candidates = 3
weight = 3
cost = 20
@@ -1038,7 +1038,7 @@
"Warden", "Security Officer", "Detective", "Brig Physician",
"Curator"
)
- restricted_roles = list("AI", "Cyborg")
+ restricted_roles = list("AI", "Cyborg", "Synthetic")
required_candidates = 1
weight = 5
cost = 10
diff --git a/code/game/gamemodes/eldritch_cult/eldritch_cult.dm b/code/game/gamemodes/eldritch_cult/eldritch_cult.dm
index bd857f8740e6..9bfa0c2c22a9 100644
--- a/code/game/gamemodes/eldritch_cult/eldritch_cult.dm
+++ b/code/game/gamemodes/eldritch_cult/eldritch_cult.dm
@@ -4,7 +4,7 @@
report_type = "heresy"
antag_flag = ROLE_HERETIC
false_report_weight = 5
- protected_jobs = list("Chaplain","Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician") //Yogs: Added Brig Physician
+ protected_jobs = list("Chaplain","Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Research Director", "Chief Engineer", "Chief Medical Officer", "Brig Physician", "Synthetic") //Yogs: Added Brig Physician
restricted_jobs = list("AI", "Cyborg")
required_players = 25
required_enemies = 1
diff --git a/code/game/gamemodes/hivemind/hivemind.dm b/code/game/gamemodes/hivemind/hivemind.dm
index 187a92a31c26..8889e124c32f 100644
--- a/code/game/gamemodes/hivemind/hivemind.dm
+++ b/code/game/gamemodes/hivemind/hivemind.dm
@@ -4,7 +4,7 @@
report_type = "hivemind"
antag_flag = ROLE_HIVE
false_report_weight = 5
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Brig Physician") //Yogs: Added "Brig Physician
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Brig Physician", "Synthetic") //Yogs: Added "Brig Physician
restricted_jobs = list("Cyborg","AI")
required_players = 24
required_enemies = 2
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 0ff85c985a16..549bc89f94a5 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -129,7 +129,7 @@ GLOBAL_LIST_EMPTY(objectives)
if(O.late_joiner)
try_target_late_joiners = TRUE
for(var/datum/mind/possible_target in get_crewmember_minds())
- if(is_valid_target(possible_target) && !(possible_target in owners) && ishuman(possible_target.current) && (possible_target.current.stat != DEAD) && is_unique_objective(possible_target,dupe_search_range))
+ if(is_valid_target(possible_target) && !(possible_target in owners) && ishuman(possible_target.current) && !is_synth(possible_target.current) && (possible_target.current.stat != DEAD) && is_unique_objective(possible_target,dupe_search_range))
//yogs start -- Quiet Rounds
var/mob/living/carbon/human/guy = possible_target.current
if(possible_target.antag_datums || !(guy.mind.quiet_round))
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index fa74510a48aa..063eab931e25 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -17,7 +17,7 @@
report_type = "revolution"
antag_flag = ROLE_REV_HEAD
false_report_weight = 10
- restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg", "Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Shaft Miner", "Mining Medic", "Brig Physician") //Yogs: Added Brig Physician
+ restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg", "Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Shaft Miner", "Mining Medic", "Brig Physician", "Synthetic") //Yogs: Added Brig Physician
required_jobs = list(list("Captain"=1),list("Head of Personnel"=1),list("Head of Security"=1),list("Chief Engineer"=1),list("Research Director"=1),list("Chief Medical Officer"=1)) //Any head present
required_players = 25
required_enemies = 2
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index bab929203ffc..47beb70fc604 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -12,7 +12,7 @@
antag_flag = ROLE_TRAITOR
false_report_weight = 20 //Reports of traitors are pretty common.
restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician") //YOGS - added the hop and brig physician
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Brig Physician", "Synthetic") //YOGS - added the hop and brig physician
required_players = 0
required_enemies = 1
recommended_enemies = 4
diff --git a/code/game/gamemodes/zombie/zombie.dm b/code/game/gamemodes/zombie/zombie.dm
index 2c0a7df3962b..f0e21854cdd4 100644
--- a/code/game/gamemodes/zombie/zombie.dm
+++ b/code/game/gamemodes/zombie/zombie.dm
@@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(zombies)
antag_flag = ROLE_ZOMBIE
false_report_weight = 10
restricted_jobs = list("AI", "Cyborg")
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Medical Officer", "Brig Physician") //Yogs: Added Brig Physician
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Medical Officer", "Brig Physician", "Synthetic") //Yogs: Added Brig Physician
required_players = 40
required_enemies = 3
recommended_enemies = 3
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
old mode 100755
new mode 100644
index 3f51a3074af0..6bf547992542
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -54,12 +54,16 @@
/// Are we NOT a silicon, AND we're logged in as the captain?
/obj/machinery/computer/communications/proc/authenticated_as_non_silicon_captain(mob/user)
+ if(is_synth(user))
+ return FALSE
if (issilicon(user))
return FALSE
return ACCESS_CAPTAIN in authorize_access
/// Are we a silicon, OR we're logged in as the captain?
/obj/machinery/computer/communications/proc/authenticated_as_silicon_or_captain(mob/user)
+ if(is_synth(user))
+ return FALSE
if (issilicon(user))
return TRUE
return ACCESS_CAPTAIN in authorize_access
@@ -366,16 +370,7 @@
new /obj/item/card/id/captains_spare/temporary(loc)
COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN)
priority_announce("The emergency spare ID has been printed by [authorize_name].", "Emergency Spare ID Warning System", SSstation.announcer.get_rand_report_sound())
- if("printAIControlCode")
- if(authenticated_as_non_silicon_head(usr))
- if(!COOLDOWN_FINISHED(src, important_action_cooldown))
- return
- playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1)
- GLOB.ai_control_code = random_nukecode(6)
- new /obj/item/paper/ai_control_code(loc)
- COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN)
- priority_announce("The AI Control Code been printed by [authorize_name]. All previous codes have been invalidated.", "Central Tech Support", SSstation.announcer.get_rand_report_sound())
-
+
/obj/machinery/computer/communications/ui_data(mob/user)
var/list/data = list(
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index ca4f63ced0b9..2a15624d04d2 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -136,6 +136,8 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
var/life_status
for(var/mob/living/carbon/human/tracked_mob in GLOB.carbon_list)
+ if(is_synth(tracked_mob)) //Synths are unsupported (they're not organic)
+ continue
var/forced_sensors = HAS_TRAIT(tracked_mob, TRAIT_SUITLESS_SENSORS)
uniform = tracked_mob.w_uniform
pos = get_turf(tracked_mob)
@@ -151,7 +153,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
// Machinery and the target should be on the same level or different levels of the same station
if(!(z in SSmapping.get_connected_levels(pos)) && !HAS_TRAIT(tracked_mob, TRAIT_MULTIZ_SUIT_SENSORS))
continue
-
+
var/jammed = FALSE
for(var/obj/item/jammer/jammer in GLOB.active_jammers)
var/turf/jammer_turf = get_turf(jammer)
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index bd642b99f661..89a6cb203103 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -72,44 +72,7 @@
data["logged_in"] = logged_in
- if(issilicon(user))
- var/mob/living/silicon/borg = user
- data["username"] = borg.name
- data["has_access"] = TRUE
-
- if(IsAdminGhost(user))
- data["username"] = user.client.holder.admin_signature
- data["has_access"] = TRUE
-
- if(ishuman(user))
- var/username = user.get_authentification_name("Unknown")
- data["username"] = user.get_authentification_name("Unknown")
- if(username != "Unknown")
- var/datum/data/record/record
- for(var/RP in GLOB.data_core.general)
- var/datum/data/record/R = RP
-
- if(!istype(R))
- continue
- if(R.fields["name"] == username)
- record = R
- break
- if(record)
- if(istype(record.fields["photo_front"], /obj/item/photo))
- var/obj/item/photo/P1 = record.fields["photo_front"]
- var/icon/picture = icon(P1.picture.picture_image)
- picture.Crop(10, 32, 22, 22)
- var/md5 = md5(fcopy_rsc(picture))
-
- if(!SSassets.cache["photo_[md5]_cropped.png"])
- SSassets.transport.register_asset("photo_[md5]_cropped.png", picture)
- SSassets.transport.send_assets(user, list("photo_[md5]_cropped.png" = picture))
-
- data["user_image"] = SSassets.transport.get_asset_url("photo_[md5]_cropped.png")
-
- data["has_access"] = check_access(user.get_idcard())
-
-
+ data += tgui_login_data(user, src)
if(!logged_in)
return data
@@ -277,7 +240,6 @@
data["active_record"] = record
-
return data
/obj/machinery/computer/secure_data/ui_static_data(mob/user)
@@ -292,6 +254,8 @@
if(..())
return
+
+
switch(action)
if("back")
if(!logged_in)
@@ -305,6 +269,10 @@
active_security_record = null
screen = MAIN_SCREEN
+ logged_in = tgui_login_act(usr, src)
+ if(!logged_in)
+ return
+
if(issilicon(usr))
var/mob/living/silicon/borg = usr
logged_in = borg.name
@@ -314,17 +282,14 @@
if(IsAdminGhost(usr))
logged_in = usr.client.holder.admin_signature
rank = "Central Command Officer"
-
-
-
-
- var/mob/living/carbon/human/H = usr
- if(!istype(H))
return
- if(check_access(H.get_idcard()))
+ var/mob/living/carbon/human/H = usr
+ if(istype(H))
logged_in = H.get_authentification_name("Unknown")
rank = H.get_assignment("Unknown", "Unknown")
+ return
+
if("log_out")
if(!logged_in)
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 9af57c12e3e6..86efd3423d60 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -857,6 +857,12 @@
to_chat(user, span_warning("Unable to interface. Airlock control panel damaged."))
return
+ var/mob/living/silicon/ai/AI = user
+ if(istype(AI) && !AI.has_subcontroller_connection(get_area(src)))
+ to_chat(AI, span_warning("No connection to subcontroller detected. Priming servos..."))
+ if(!do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return
+
ui_interact(user)
/obj/machinery/door/airlock/proc/hack(mob/user)
@@ -1570,6 +1576,14 @@
if(density && !open(2)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!)
to_chat(user, span_warning("Despite your efforts, [src] managed to resist your attempts to open it!"))
+
+/obj/machinery/door/airlock/proc/safe_lockdown()
+ // Must be powered and have working AI wire.
+ if(canAIControl(src) && !stat)
+ locked = FALSE //For airlocks that were bolted open.
+ close()
+ bolt() //Bolt it!
+
/obj/machinery/door/airlock/hostile_lockdown(mob/origin)
// Must be powered and have working AI wire.
if(canAIControl(src) && !stat)
@@ -1590,6 +1604,13 @@
open()
safe = TRUE
+/obj/machinery/door/airlock/proc/disable_safe_lockdown()
+ // Must be powered and have working AI wire.
+ if(canAIControl(src) && !stat)
+ unbolt()
+ open()
+
+
/obj/machinery/door/airlock/proc/set_electrified(seconds, mob/user)
secondsElectrified = seconds
diag_hud_set_electrified()
diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm
index d91a9c9cfd38..29e5deab4a64 100644
--- a/code/game/machinery/doors/passworddoor.dm
+++ b/code/game/machinery/doors/passworddoor.dm
@@ -16,6 +16,55 @@
/obj/machinery/door/password/voice
voice_activated = TRUE
+/obj/machinery/door/password/floppy_disk
+ desc = "This door only opens when provided with a decrypted floppy drive."
+ var/id
+
+/obj/machinery/door/password/floppy_disk/attackby(obj/item/I, mob/user, params)
+ . = ..()
+ if(istype(I, /obj/item/disk/puzzle))
+ var/obj/item/disk/puzzle/P = I
+ if(P.id == id)
+ if(P.decrypted)
+ open()
+ to_chat(user, span_notice("You insert [P]."))
+ qdel(P)
+ else
+ to_chat(user, span_warning("This disk doesn't seem to have been decrypted!"))
+ else
+ to_chat(user, span_warning("This disk doesn't belong to this door!"))
+
+/obj/machinery/door/password/floppy_disk/try_to_activate_door(mob/user)
+ add_fingerprint(user)
+ if(operating)
+ return
+ if(density)
+ do_animate("deny")
+
+/obj/machinery/door/password/button_puzzle
+ desc = "This door has no obvious way to be opened."
+ var/id
+
+/obj/machinery/door/password/button_puzzle/Initialize(mapload)
+ . = ..()
+ for(var/datum/button_puzzle_holder/H in GLOB.button_puzzles)
+ if(H.id == id)
+ H.doors += src
+ var/datum/button_puzzle_holder/H = new()
+ H.id = id
+ H.doors += src
+ GLOB.button_puzzles += H
+
+/obj/machinery/door/password/button_puzzle/attackby(obj/item/I, mob/user, params)
+ . = ..()
+ to_chat(user, span_warning("You're not sure how to open this door! Maybe look around?"))
+
+/obj/machinery/door/password/button_puzzle/try_to_activate_door(mob/user)
+ add_fingerprint(user)
+ if(operating)
+ return
+ if(density)
+ do_animate("deny")
/obj/machinery/door/password/Initialize(mapload)
. = ..()
@@ -26,6 +75,8 @@
. = ..()
if(!density || !voice_activated || radio_freq)
return
+ if(!ishuman(speaker))
+ return
if(findtext(raw_message,password))
open()
diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm
index 427f4ff9de99..e12e4d8180de 100644
--- a/code/game/machinery/harvester.dm
+++ b/code/game/machinery/harvester.dm
@@ -112,7 +112,8 @@
BP.drop_organs()
else
for(var/obj/item/organ/O in BP.dismember())
- O.forceMove(target) //Some organs, like chest ones, are different so we need to manually move them
+ if(O.can_extract())
+ O.forceMove(target) //Some organs, like chest ones, are different so we need to manually move them
operation_order.Remove(BP)
break
use_power(5000)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index b2ad9ae424fc..2df3aadcc8a4 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -122,6 +122,19 @@ obj/machinery/holopad/secure/Initialize(mapload)
else if(disk && disk.record)
replay_start()
+/obj/machinery/holopad/tutorial/attackby(obj/item/P, mob/user, params)
+ . = ..()
+ if(istype(P, /obj/item/crowbar))
+ if(disk)
+ disk.forceMove(drop_location())
+ disk = null
+ return TRUE
+
+/obj/machinery/holopad/tutorial/examine(mob/user)
+ . = ..()
+ . += span_notice("Use a crowbar to remove an already inserted disk.")
+
+
/obj/machinery/holopad/tutorial/HasProximity(atom/movable/AM)
if (!isliving(AM))
return
diff --git a/code/game/machinery/synth_pod.dm b/code/game/machinery/synth_pod.dm
new file mode 100644
index 000000000000..2ee0c4aaf0cd
--- /dev/null
+++ b/code/game/machinery/synth_pod.dm
@@ -0,0 +1,158 @@
+GLOBAL_LIST_EMPTY(synth_pods)
+
+// SUIT STORAGE UNIT /////////////////
+/obj/machinery/synth_pod
+ name = "synthetic storage unit"
+ desc = "An industrial unit made to store inactive synthetic units for long durations."
+ icon = 'icons/obj/machines/suit_storage.dmi'
+ icon_state = "close"
+ density = TRUE
+ max_integrity = 500
+ circuit = /obj/item/circuitboard/machine/synth_pod
+
+ var/mob/living/carbon/human/stored
+ // if you add more storage slots, update cook() to clear their radiation too.
+
+ state_open = FALSE
+ panel_open = FALSE
+
+ var/start_empty_roundstart = FALSE
+
+/obj/machinery/synth_pod/Initialize(mapload)
+ . = ..()
+
+ if(mapload && !start_empty_roundstart)
+ var/mob/living/carbon/human/S = new(src)
+ S.set_species(/datum/species/wy_synth)
+ stored = S
+ var/datum/outfit/job/synthetic/SO = new()
+ SO.equip(S)
+ GLOB.synth_pods += src
+ update_icon()
+
+/obj/machinery/synth_pod/Destroy()
+ . = ..()
+ GLOB.synth_pods -= src
+
+/obj/machinery/synth_pod/update_overlays()
+ . = ..()
+
+ if(stored)
+ add_overlay("uvhuman")
+ else
+ add_overlay("open")
+
+/obj/machinery/synth_pod/process()
+ if(!stored)
+ return
+ if(!is_synth(stored))
+ return
+ stored.adjust_nutrition(10)
+
+
+/obj/machinery/synth_pod/MouseDrop_T(atom/A, mob/living/user)
+ if(!istype(user) || user.stat || !Adjacent(user) || !Adjacent(A) || !isliving(A))
+ return
+ if(isliving(user))
+ var/mob/living/L = user
+ if(!(L.mobility_flags & MOBILITY_STAND))
+ return
+ if(stored)
+ to_chat(user, span_warning("This unit is already full."))
+ return
+
+ var/mob/living/target = A
+
+ if(!is_synth(target))
+ to_chat(user, span_warning("This machine only accepts synthetics."))
+ return
+
+ if(target == user)
+ user.visible_message(span_warning("[user] starts squeezing into [src]!"), span_notice("You start working your way into [src]..."))
+ else
+ target.visible_message(span_warning("[user] starts shoving [target] into [src]!"), span_userdanger("[user] starts shoving you into [src]!"))
+
+ if(do_after(user, 3 SECONDS, target))
+ if(stored)
+ return
+ if(target == user)
+ user.visible_message(span_warning("[user] slips into [src] and closes the door behind [user.p_them()]!"), "You slip into [src]'s comfy space and shut its door.")
+ else
+ target.visible_message("[user] pushes [target] into [src] and shuts its door!", span_userdanger("[user] shoves you into [src] and shuts the door!"))
+ close_machine(target)
+ stored = target
+ update_icon()
+
+ switch_body(target)
+
+/obj/machinery/synth_pod/proc/switch_body(mob/living/carbon/human/user)
+ var/datum/species/wy_synth/S = user.dna.species
+ if(S.mainframe)
+ S.undeploy(user)
+ return
+ var/list/options = list("Stay here")
+ for(var/obj/machinery/synth_pod/pod in GLOB.synth_pods)
+ if(pod == src)
+ continue
+ if(pod.z != src.z)
+ continue
+ if(!pod.stored)
+ continue
+ options["[get_area(pod)] ([pod.x], [pod.y])"] = pod
+
+ var/response = tgui_input_list(user, "Which synthetic unit would you like to transfer into?", "Synthetic Personality Transfer", options)
+
+ if(!response || response == "Stay here")
+ open_machine()
+ stored = null
+ update_icon()
+ return
+
+ if(options[response])
+ var/obj/machinery/synth_pod/selected_pod = options[response]
+ var/mob/living/carbon/human/target_synth = selected_pod.stored
+ S.transfer(user, target_synth)
+ selected_pod.open_machine()
+ selected_pod.stored = null
+ selected_pod.update_icon()
+
+
+
+
+/obj/machinery/synth_pod/attackby(obj/item/W, mob/user)
+ if(default_unfasten_wrench(user, W))
+ return
+ return ..()
+
+/obj/machinery/synth_pod/attackby(obj/item/I, mob/user, params)
+ if(panel_open && is_wire_tool(I))
+ wires.interact(user)
+ return
+ if(!state_open)
+ if(default_deconstruction_screwdriver(user, "panel", "close", I))
+ return
+ if(default_deconstruction_crowbar(I))
+ return
+
+ return ..()
+
+/obj/machinery/synth_pod/attack_ai(mob/user)
+ . = ..()
+ return
+ /*
+ if(!isAI(user))
+ return
+ var/mob/living/silicon/ai/AI = user
+ if(!AI.dashboard.has_completed_project(/datum/ai_project/synth_control))
+ to_chat(user, span_warning("You do not have the required program to interface with this machine."))
+ return
+ if(!stored)
+ to_chat(user, span_warning("There is no synthetic unit stored in this machine."))
+ return
+ if(AI.deploy_to_synth_pod(src))
+ open_machine()
+ var/datum/species/wy_synth/S = stored.dna.species
+ S.assume_control(AI, stored)
+ stored = null
+ update_icon()
+ */
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 3ba2eb019cb3..0c998e467b27 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -504,6 +504,8 @@
var/mob/living/L = user
if(!Adjacent(target))
+ if(!synth_check(user, SYNTH_RESTRICTED_WEAPON))
+ return
if(selected && selected.is_ranged())
if(HAS_TRAIT(L, TRAIT_PACIFISM) && selected.harmful)
to_chat(user, span_warning("You don't want to harm other living beings!"))
@@ -514,6 +516,8 @@
if(selected.action(target, user, params))
selected.start_cooldown()
else if(selected && selected.is_melee())
+ if(!synth_check(user, SYNTH_RESTRICTED_WEAPON))
+ return
if(isliving(target) && selected.harmful && HAS_TRAIT(L, TRAIT_PACIFISM))
to_chat(user, span_warning("You don't want to harm other living beings!"))
return
diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm
index 7936b73ae440..52160c6f1313 100644
--- a/code/game/objects/effects/decals/cleanable/robots.dm
+++ b/code/game/objects/effects/decals/cleanable/robots.dm
@@ -79,3 +79,10 @@
/obj/effect/decal/cleanable/oil/slippery/Initialize(mapload)
. = ..()
AddComponent(/datum/component/slippery, 80, (NO_SLIP_WHEN_WALKING | SLIDE))
+
+/obj/effect/decal/cleanable/oil/synth
+ name = "circulation fluid"
+ desc = "It's a white and viscous fluid used by synthetic crewmembers."
+ color = "#e6e6e6"
+ icon_state = "synthfloor1"
+ random_icon_states = list("synthfloor1", "synthfloor2", "synthfloor3", "synthfloor4", "synthfloor5", "synthfloor6", "synthfloor7")
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index b1a080d6eb71..3124dfb4bc8d 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -193,6 +193,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
name = "Cyborg"
icon_state = "Cyborg"
+/obj/effect/landmark/start/synthetic
+ name = "Synthetic"
+ icon_state = "Cyborg"
+
//Department Security spawns
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 521feb5776fb..aefead875e86 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -713,7 +713,6 @@
name = "secure AI circuit board spawner"
loot = list(
/obj/item/circuitboard/computer/aiupload,
- /obj/item/circuitboard/computer/ai_upload_download,
/obj/item/circuitboard/computer/borgupload
)
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index 4d22f4c2b912..2f07409a68e0 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -561,6 +561,10 @@ update_label("John Doe", "Clowny")
name = "[(!registered_name) ? "identification card" : "[registered_name]'s ID Card"][(!assignment) ? "" : " ([assignment])"]"
+//a card that can't register a bank account IC
+/obj/item/card/id/no_bank/AltClick(mob/living/user)
+ return FALSE
+
/obj/item/card/id/silver
name = "silver identification card"
desc = "A silver card which shows honour and dedication."
@@ -584,6 +588,27 @@ update_label("John Doe", "Clowny")
lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
+/obj/item/card/id/synthetic
+ name = "synthetic identification card"
+ desc = "An integrated card that allows synthetic units access across the station."
+ icon_state = "id_silver"
+ item_state = "silver_id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
+ item_flags = DROPDEL
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
+
+/obj/item/card/id/synthetic/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, SYNTHETIC_TRAIT)
+
+/obj/item/card/id/synthetic/GetAccess()
+ if(ishuman(loc))
+ var/mob/living/carbon/human/H = loc
+ if(H.mind)
+ return GLOB.synthetic_base_access + GLOB.synthetic_added_access
+ return list()
+
/obj/item/card/id/syndicate
name = "agent card"
access = list(ACCESS_MAINT_TUNNELS, ACCESS_SYNDICATE)
diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm
index 0e902ff1179c..d2a196a1c8b3 100644
--- a/code/game/objects/items/circuitboards/computer_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm
@@ -432,20 +432,12 @@
name = "Shuttle Navigation Computer (Computer Board)"
build_path = /obj/machinery/computer/camera_advanced/shuttle_docker/custom
-/obj/item/circuitboard/computer/ai_upload_download
- name = "AI Control Console (Computer Board)"
- greyscale_colors = CIRCUIT_COLOR_SCIENCE
- build_path = /obj/machinery/computer/ai_control_console
/obj/item/circuitboard/computer/ai_server_overview
name = "AI Server Overview Console (Computer Board)"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/ai_server_console
-/obj/item/circuitboard/computer/ai_resource_distribution
- name = "AI Resource Distribution Console (Computer Board)"
- greyscale_colors = CIRCUIT_COLOR_SCIENCE
- build_path = /obj/machinery/computer/ai_resource_distribution
//Security
diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm
index 59938a379280..9f73965fa137 100644
--- a/code/game/objects/items/circuitboards/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm
@@ -163,6 +163,15 @@
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/manipulator = 5)
+/obj/item/circuitboard/machine/synth_pod
+ name = "Synthetic Storage Unit (Machine Board)"
+ icon_state = "engineering"
+ build_path = /obj/machinery/synth_pod
+ req_components = list(
+ /obj/item/stock_parts/micro_laser = 2,
+ /obj/item/stack/cable_coil = 2,
+ /obj/item/stock_parts/manipulator = 2)
+
/obj/item/circuitboard/machine/decontamination_unit
name = "Decontamination Storage Unit (Machine Board)"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
@@ -1084,6 +1093,27 @@
/obj/item/stack/sheet/glass = 2,
/obj/item/stack/cable_coil = 1)
+/obj/item/circuitboard/machine/networking_machine
+ name = "Networking Machine (Machine Board)"
+ icon_state = "science"
+ build_path = /obj/machinery/ai/networking
+ req_components = list(
+ /obj/item/stock_parts/matter_bin = 4,
+ /obj/item/stock_parts/capacitor = 2,
+ /obj/item/stock_parts/scanning_module = 4,
+ /obj/item/stack/sheet/glass = 4,
+ /obj/item/stack/cable_coil = 1)
+
+/obj/item/circuitboard/machine/subcontroller
+ name = "Subcontroller (Machine Board)"
+ icon_state = "science"
+ build_path = /obj/machinery/ai/master_subcontroller
+ req_components = list(
+ /obj/item/stock_parts/capacitor = 4,
+ /obj/item/stock_parts/scanning_module = 4,
+ /obj/item/stack/sheet/glass = 2,
+ /obj/item/stack/cable_coil = 1)
+
/obj/item/circuitboard/machine/ai_core_display
name = "AI Core Display (Machine Board)"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index bd43da8ef7e8..95a0a72e29b5 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -124,6 +124,17 @@
icon_state = "srv_cypherkey"
channels = list(RADIO_CHANNEL_SERVICE = 1)
+/obj/item/encryptionkey/headset_synthetic
+ name = "synthetic radio encryption key"
+ icon_state = "rd_cypherkey"
+ channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_ENGINEERING = 1, RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_MEDICAL = 1, RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_SERVICE = 1)
+ translate_binary = TRUE
+ item_flags = DROPDEL
+
+/obj/item/encryptionkey/headset_synthetic/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, SYNTHETIC_TRAIT)
+
/obj/item/encryptionkey/headset_cent
name = "\improper CentCom radio encryption key"
icon_state = "cent_cypherkey"
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index e1159a7dce30..c7906d086a7a 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -204,6 +204,23 @@
icon_state = "srv_headset"
keyslot = new /obj/item/encryptionkey/headset_service
+/obj/item/radio/headset/headset_synthetic
+ name = "synthetic radio headset"
+ desc = "Headset used by the onboard synthetic units. This one is integrated directly into the unit and is not possible to remove."
+ icon_state = "com_headset"
+ keyslot = new /obj/item/encryptionkey/headset_synthetic
+ item_flags = DROPDEL
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
+
+/obj/item/radio/headset/headset_synthetic/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, SYNTHETIC_TRAIT)
+ ADD_TRAIT(src, TRAIT_EMPPROOF_CONTENTS, SYNTHETIC_TRAIT)
+ ADD_TRAIT(src, TRAIT_EMPPROOF_SELF, SYNTHETIC_TRAIT)
+
+/obj/item/radio/headset/headset_synthetic/attackby(obj/item/W, mob/user, params)
+ return FALSE
+
/obj/item/radio/headset/headset_cent
name = "\improper CentCom headset"
desc = "A headset used by the upper echelons of Nanotrasen."
diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm
index 8d9552276130..220e526453d3 100644
--- a/code/game/objects/items/grenades/grenade.dm
+++ b/code/game/objects/items/grenades/grenade.dm
@@ -58,6 +58,9 @@
/obj/item/grenade/attack_self(mob/user)
if(!active)
if(clown_check(user))
+ if(HAS_TRAIT(user, TRAIT_NO_GRENADES))
+ to_chat(user, span_warning("You can't use grenades!"))
+ return
preprime(user)
/obj/item/grenade/proc/log_grenade(mob/user, turf/T)
diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm
index 11e5c1e34796..167d5e56af85 100644
--- a/code/game/objects/items/mail.dm
+++ b/code/game/objects/items/mail.dm
@@ -240,6 +240,8 @@
var/datum/job/this_job = SSjob.GetJob(human.mind.assigned_role)
if(!this_job || this_job.faction != "Station")
continue
+ if(is_synth(human))
+ continue
mail_recipients += human.mind
diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm
index 02fb769b7ddf..ce901ed04df3 100644
--- a/code/game/objects/items/melee/misc.dm
+++ b/code/game/objects/items/melee/misc.dm
@@ -327,7 +327,8 @@
/obj/item/melee/classic_baton/attack(mob/living/target, mob/living/user)
if(!on)
return ..()
-
+ if(!synth_check(user, SYNTH_RESTRICTED_WEAPON))
+ return
if(HAS_TRAIT(user, TRAIT_NO_STUN_WEAPONS))
to_chat(user, span_warning("You can't seem to remember how this works!"))
return
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index 78ba724345ed..e16c427dfb17 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -74,6 +74,10 @@
return 1
return 0
+/obj/item/robot_suit/examine(mob/user)
+ . = ..()
+ . += "If you insert an AI CPU when this endoskeleton is complete it will be constructed as a synthetic."
+
/obj/item/robot_suit/wrench_act(mob/living/user, obj/item/I) //Deconstucts empty borg shell. Flashes remain unbroken because they haven't been used yet
var/turf/T = get_turf(src)
if(l_leg || r_leg || chest || l_arm || r_arm || head)
@@ -252,6 +256,27 @@
else
to_chat(user, span_warning("The endoskeleton must be assembled before debugging can begin!"))
+ else if(istype(W, /obj/item/ai_cpu))
+ if(check_completion())
+ var/response = tgui_alert(user, "Are you sure you want to turn this endoskeleton into a synthetic unit?", "Please Confirm", list("Yes", "No"))
+ if(response != "Yes")
+ return
+
+ if(!user.temporarilyRemoveItemFromInventory(W))
+ return
+ var/mob/living/carbon/human/O = new /mob/living/carbon/human(get_turf(loc))
+ O.set_species(/datum/species/wy_synth)
+ O.invisibility = 0
+ O.job = "Synthetic"
+ var/datum/outfit/job/synthetic/SO = new()
+ SO.equip(O)
+ W.forceMove(O)
+ var/datum/species/wy_synth/S = O.dna.species
+ qdel(S.inbuilt_cpu)
+ S.inbuilt_cpu = null
+ S.inbuilt_cpu = W
+ qdel(src)
+
else if(istype(W, /obj/item/mmi))
var/obj/item/mmi/M = W
if(check_completion())
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 8f16951dd3a2..093e4fc014a8 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -10,6 +10,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \
new/datum/stack_recipe("fore port spacepod frame", /obj/item/pod_parts/pod_frame/fore_port, 15, time = 30, one_per_turf = 0), \
new/datum/stack_recipe("fore starboard spacepod frame", /obj/item/pod_parts/pod_frame/fore_starboard, 15, time = 30, one_per_turf = 0), \
new/datum/stack_recipe("aft port spacepod frame", /obj/item/pod_parts/pod_frame/aft_port, 15, time = 30, one_per_turf = 0), \
+ new/datum/stack_recipe("catwalk floor tile", /obj/item/stack/tile/catwalk_tile, 1, 4, 20), \
new/datum/stack_recipe("aft starboard spacepod frame", /obj/item/pod_parts/pod_frame/aft_starboard, 15, time = 30, one_per_turf = 0), \
// yogs end
))
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index db82eced86df..a4c5ab86bf35 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -451,3 +451,52 @@
/obj/item/stack/tile/eighties/loaded
amount = 15
+
+//Catwalk Tiles
+/obj/item/stack/tile/catwalk_tile //This is our base type, sprited to look maintenance-styled
+ name = "catwalk plating"
+ singular_name = "catwalk plating tile"
+ desc = "Flooring that shows its contents underneath. Engineers love it!"
+ icon_state = "maint_catwalk"
+ materials = list(/datum/material/iron=100)
+ turf_type = /turf/open/floor/catwalk_floor
+ merge_type = /obj/item/stack/tile/catwalk_tile //Just to be cleaner, these all stack with eachother
+
+/obj/item/stack/tile/catwalk_tile/sixty
+ amount = 60
+
+/obj/item/stack/tile/catwalk_tile/iron
+ name = "iron catwalk floor"
+ singular_name = "iron catwalk floor tile"
+ icon_state = "iron_catwalk"
+ turf_type = /turf/open/floor/catwalk_floor/iron
+
+/obj/item/stack/tile/catwalk_tile/iron_white
+ name = "white catwalk floor"
+ singular_name = "white catwalk floor tile"
+ icon_state = "whiteiron_catwalk"
+ turf_type = /turf/open/floor/catwalk_floor/iron_white
+
+/obj/item/stack/tile/catwalk_tile/iron_dark
+ name = "dark catwalk floor"
+ singular_name = "dark catwalk floor tile"
+ icon_state = "darkiron_catwalk"
+ turf_type = /turf/open/floor/catwalk_floor/iron_dark
+
+/obj/item/stack/tile/catwalk_tile/flat_white
+ name = "flat white catwalk floor"
+ singular_name = "flat white catwalk floor tile"
+ icon_state = "flatwhite_catwalk"
+ turf_type = /turf/open/floor/catwalk_floor/flat_white
+
+/obj/item/stack/tile/catwalk_tile/titanium
+ name = "titanium catwalk floor"
+ singular_name = "titanium catwalk floor tile"
+ icon_state = "titanium_catwalk"
+ turf_type = /turf/open/floor/catwalk_floor/titanium
+
+/obj/item/stack/tile/catwalk_tile/iron_smooth //this is the greenish one
+ name = "smooth iron catwalk floor"
+ singular_name = "smooth iron catwalk floor tile"
+ icon_state = "smoothiron_catwalk"
+ turf_type = /turf/open/floor/catwalk_floor/iron_smooth
diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm
index a02293e02c5a..5231e638f57c 100644
--- a/code/game/objects/items/stunbaton.dm
+++ b/code/game/objects/items/stunbaton.dm
@@ -170,6 +170,8 @@
user.Paralyze(stunforce*3)
deductcharge(hitcost)
return
+ if(!synth_check(user, SYNTH_RESTRICTED_WEAPON))
+ return
if(HAS_TRAIT(user, TRAIT_NO_STUN_WEAPONS))
to_chat(user, span_warning("You can't seem to remember how this works!"))
return
diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm
index 797e11a1d6b1..14a8dbde4f24 100644
--- a/code/game/objects/items/tools/screwdriver.dm
+++ b/code/game/objects/items/tools/screwdriver.dm
@@ -61,6 +61,8 @@
return ..()
if(user.zone_selected != BODY_ZONE_PRECISE_EYES && user.zone_selected != BODY_ZONE_HEAD)
return ..()
+ if(!synth_check(user, SYNTH_ORGANIC_HARM))
+ return
if(HAS_TRAIT(user, TRAIT_PACIFISM))
to_chat(user, span_warning("You don't want to harm [M]!"))
return
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 403d9927546d..dd80d3af2396 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -78,6 +78,10 @@
if(broken || !Adjacent(user))
return
+ if(is_synth(user))
+ to_chat(user, span_warning("You may not change your appearance."))
+ return
+
if(user && ishuman(user))
var/mob/living/carbon/human/H = user
var/choices = get_choices(H) // Get the choices you can change
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index f883633a0772..d367167c6537 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -252,6 +252,8 @@ GLOBAL_LIST_EMPTY(crematoriums)
/obj/structure/bodycontainer/crematorium/proc/cremate(mob/user)
if(locked)
return //don't let you cremate something twice or w/e
+ if(is_synth(user))
+ return
// Make sure we don't delete the actual morgue and its tray
var/list/conts = get_all_contents() - src - connected
diff --git a/code/game/objects/structures/signs/signs_plaques.dm b/code/game/objects/structures/signs/signs_plaques.dm
index 3220e0523054..216ba23cf52b 100644
--- a/code/game/objects/structures/signs/signs_plaques.dm
+++ b/code/game/objects/structures/signs/signs_plaques.dm
@@ -26,21 +26,6 @@
desc = "Next to the extremely long list of names and job titles, there is a drawing of a little child. The child appears to be retarded. Beneath the image, someone has scratched the word \"PACKETS\"."
icon_state = "kiddieplaque"
-/obj/structure/sign/plaques/ai_password
- name = "\improper AI default password"
- desc = "This plaque contains the default password for AI control consoles onboard this station."
- var/control_code = "BUG"
-
-/obj/structure/sign/plaques/ai_password/Initialize(mapload)
- . = ..()
- control_code = GLOB.ai_control_code
-
-/obj/structure/sign/plaques/ai_password/examine(mob/living/user)
- . = ..()
- if(Adjacent(user))
- . += span_notice("The following digits are stamped into the plaque: [control_code]")
- else
- . += span_notice("You must be closer to read the code.")
/obj/structure/sign/plaques/kiddie/badger
name = "\improper Remembrance Plaque"
diff --git a/code/game/turfs/open/floor/plating/catwalk_plating.dm b/code/game/turfs/open/floor/plating/catwalk_plating.dm
new file mode 100644
index 000000000000..8f5ff3a1fa92
--- /dev/null
+++ b/code/game/turfs/open/floor/plating/catwalk_plating.dm
@@ -0,0 +1,103 @@
+/**
+ * ## catwalk flooring
+ *
+ * They show what's underneath their catwalk flooring (pipes and the like)
+ * you can screwdriver it to interact with the underneath stuff without destroying the tile...
+ * unless you want to!
+ */
+/turf/open/floor/catwalk_floor //the base type, meant to look like a maintenance panel
+ icon = 'icons/turf/floors/catwalk_plating.dmi'
+ icon_state = "maint_above"
+ name = "catwalk floor"
+ desc = "Flooring that shows its contents underneath. Engineers love it!"
+ baseturfs = /turf/open/floor/plating
+ floor_tile = /obj/item/stack/tile/catwalk_tile
+ layer = CATWALK_LAYER
+ plane = FLOOR_PLANE
+ footstep = FOOTSTEP_CATWALK
+ overfloor_placed = TRUE
+ underfloor_accessibility = UNDERFLOOR_VISIBLE
+ var/covered = TRUE
+ var/catwalk_type = "maint"
+ var/static/list/catwalk_underlays = list()
+
+/turf/open/floor/catwalk_floor/Initialize(mapload)
+ . = ..()
+ if(!catwalk_underlays[catwalk_type])
+ var/mutable_appearance/plating_underlay = mutable_appearance(icon, "[catwalk_type]_below", TURF_LAYER)
+ catwalk_underlays[catwalk_type] = plating_underlay
+ underlays += catwalk_underlays[catwalk_type]
+ update_icon()
+
+/turf/open/floor/catwalk_floor/examine(mob/user)
+ . = ..()
+
+ if(covered)
+ . += span_notice("You can unscrew it to reveal the contents beneath.")
+ else
+ . += span_notice("You can screw it to hide the contents beneath.")
+ . += span_notice("There's a small crack on the edge of it.")
+
+/turf/open/floor/catwalk_floor/screwdriver_act(mob/living/user, obj/item/tool)
+ . = ..()
+ covered = !covered
+ if(!covered)
+ underfloor_accessibility = UNDERFLOOR_INTERACTABLE
+ layer = TURF_LAYER
+ plane = FLOOR_PLANE
+ icon_state = "[catwalk_type]_below"
+ else
+ underfloor_accessibility = UNDERFLOOR_VISIBLE
+ layer = CATWALK_LAYER
+ plane = FLOOR_PLANE //for some reason these are black
+ icon_state = "[catwalk_type]_above"
+ user.balloon_alert(user, "[!covered ? "cover removed" : "cover added"]")
+ tool.play_tool_sound(src)
+ update_icon()
+
+/turf/open/floor/catwalk_floor/crowbar_act(mob/user, obj/item/crowbar)
+ if(covered)
+ user.balloon_alert(user, "remove cover first!")
+ return FALSE
+ . = ..()
+
+//Reskins! More fitting with most of our tiles, and appear as a radial on the base type
+/turf/open/floor/catwalk_floor/iron
+ name = "iron plated catwalk floor"
+ icon_state = "iron_above"
+ floor_tile = /obj/item/stack/tile/catwalk_tile/iron
+ catwalk_type = "iron"
+
+
+/turf/open/floor/catwalk_floor/iron_white
+ name = "white plated catwalk floor"
+ icon_state = "whiteiron_above"
+ floor_tile = /obj/item/stack/tile/catwalk_tile/iron_white
+ catwalk_type = "whiteiron"
+
+/turf/open/floor/catwalk_floor/iron_dark
+ name = "dark plated catwalk floor"
+ icon_state = "darkiron_above"
+ floor_tile = /obj/item/stack/tile/catwalk_tile/iron_dark
+ catwalk_type = "darkiron"
+
+/turf/open/floor/catwalk_floor/flat_white
+ name = "white large plated catwalk floor"
+ icon_state = "flatwhite_above"
+ floor_tile = /obj/item/stack/tile/catwalk_tile/flat_white
+ catwalk_type = "flatwhite"
+
+/turf/open/floor/catwalk_floor/titanium
+ name = "titanium plated catwalk floor"
+ icon_state = "titanium_above"
+ floor_tile = /obj/item/stack/tile/catwalk_tile/titanium
+ catwalk_type = "titanium"
+
+/turf/open/floor/catwalk_floor/iron_smooth //the original green type
+ name = "smooth plated catwalk floor"
+ icon_state = "smoothiron_above"
+ floor_tile = /obj/item/stack/tile/catwalk_tile/iron_smooth
+ catwalk_type = "smoothiron"
+
+/turf/open/floor/catwalk_floor/telecomms
+ initial_gas_mix = TCOMMS_ATMOS
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 71fd05052ff6..ea66adeaa38c 100755
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -352,6 +352,15 @@ GLOBAL_LIST_EMPTY(station_turfs)
coil.place_turf(src, user)
return TRUE
+ if(can_lay_cable() && istype(C, /obj/item/stack/ethernet_coil))
+ var/obj/item/stack/ethernet_coil/coil = C
+ for(var/obj/structure/ethernet_cable/LC in src)
+ if(!LC.d1 || !LC.d2)
+ LC.attackby(C,user)
+ return
+ coil.place_turf(src, user)
+ return TRUE
+
else if(istype(C, /obj/item/rcl))
handleRCL(C, user)
diff --git a/code/modules/VR/vr_compsci.dm b/code/modules/VR/vr_compsci.dm
new file mode 100644
index 000000000000..5452767aaa71
--- /dev/null
+++ b/code/modules/VR/vr_compsci.dm
@@ -0,0 +1,160 @@
+GLOBAL_DATUM_INIT(compsci_vr, /datum/compsci_vr, new)
+GLOBAL_LIST_EMPTY(compsci_mission_markers)
+GLOBAL_VAR(compsci_vr_mission_reciever)
+GLOBAL_LIST_EMPTY(last_used_transmuter)
+
+
+/datum/compsci_vr
+ var/unlocked_missions = list()
+
+ var/roundstart_missions = list(
+ /datum/compsci_mission/scientist_raid,
+ /datum/compsci_mission/combat_robot_factory,
+ /datum/compsci_mission/abandoned_mine
+ )
+
+
+ var/datum/compsci_mission/current_mission
+
+ var/mob/living/synth_occupied
+
+ var/emagged = TRUE
+
+
+/datum/compsci_vr/New()
+ . = ..()
+ unlocked_missions |= roundstart_missions
+
+/datum/compsci_vr/proc/can_join(mob/user)
+ return TRUE
+
+/datum/compsci_vr/proc/emag(mob/user)
+ emagged = TRUE
+
+/datum/compsci_vr/proc/complete_mission()
+ if(current_mission)
+ unlocked_missions -= current_mission.type
+ current_mission.complete()
+ GLOB.last_used_transmuter = null
+ QDEL_NULL(current_mission)
+
+/datum/compsci_vr/proc/start_mission(id, mob/user)
+ if(current_mission)
+ return
+ var/datum/compsci_mission/found_mission
+ for(var/datum/compsci_mission/unlocked as anything in unlocked_missions)
+ if(initial(unlocked.id) == id)
+ found_mission = unlocked
+ break
+
+ if(!found_mission)
+ return
+ var/datum/compsci_mission/new_m = new found_mission()
+ current_mission = new_m
+
+ var/obj/effect/landmark/vr_spawn/vr_mission/V_landmark = safepick(GLOB.compsci_mission_markers[current_mission.id])
+ var/turf/T = get_turf(V_landmark)
+ var/datum/outfit/mission_outfit = new(V_landmark.vr_outfit)
+ if(user)
+ mission_outfit.equip(user)
+ user.forceMove(T)
+
+/datum/compsci_vr/proc/join_ongoing(mob/user)
+ if(!current_mission)
+ return
+
+ var/obj/effect/landmark/vr_spawn/vr_mission/V_landmark = safepick(GLOB.compsci_mission_markers[current_mission.id])
+ var/turf/T = get_turf(V_landmark)
+ var/datum/outfit/mission_outfit = new(V_landmark.vr_outfit)
+ if(user)
+ mission_outfit.equip(user)
+ user.forceMove(T)
+
+
+/obj/machinery/computer/compsci_mission_selector
+ name = "exploration drone dispatch console"
+ desc = "Used for monitoring the various servers assigned to the AI network."
+
+ icon_keyboard = "tech_key"
+ icon_screen = "ai-fixer"
+ light_color = LIGHT_COLOR_PINK
+
+/obj/machinery/computer/compsci_mission_selector/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "CompsciMissionSelect", name)
+ ui.open()
+
+/obj/machinery/computer/compsci_mission_selector/ui_data(mob/living/carbon/human/user)
+ var/list/data = list()
+ data["missions"] = list()
+ data["ongoing"] = GLOB.compsci_vr.current_mission ? TRUE : FALSE
+ for(var/datum/compsci_mission/M as anything in GLOB.compsci_vr.unlocked_missions)
+ data["missions"] += list(list("name" = initial(M.name), "desc" = initial(M.desc), "id" = initial(M.id), "tags" = initial(M.tags)))
+ return data
+
+/obj/machinery/computer/compsci_mission_selector/ui_act(action, list/params)
+ if(..())
+ return
+
+ switch(action)
+ if("start_mission")
+ var/mission_id = params["mission_id"]
+ GLOB.compsci_vr.start_mission(mission_id, usr)
+ if("join_ongoing")
+ GLOB.compsci_vr.join_ongoing(usr)
+
+
+/obj/machinery/compsci_reciever
+ name = "bluespace item transmuter"
+ desc = "Use this to send artifacts back ot the station"
+ icon = 'icons/obj/machines/telecomms.dmi'
+ icon_state = "transmuter"
+ layer = BELOW_OBJ_LAYER
+ density = TRUE
+ pass_flags = PASSTABLE
+
+/obj/machinery/compsci_reciever/Initialize(mapload)
+ . = ..()
+ var/turf/T = get_turf(src)
+ if(is_station_level(T.z))
+ if(!GLOB.compsci_vr_mission_reciever)
+ GLOB.compsci_vr_mission_reciever = src
+ name = "bluespace item reciever"
+ desc = "Used to recieve artifacts from remote exploration parties."
+
+/obj/machinery/compsci_reciever/Destroy()
+ . = ..()
+ if(GLOB.compsci_vr_mission_reciever == src)
+ GLOB.compsci_vr_mission_reciever = null
+ if(GLOB.last_used_transmuter == src)
+ GLOB.last_used_transmuter = null
+
+/obj/machinery/compsci_reciever/attackby(obj/item/I, mob/living/user, params)
+ . = ..()
+
+ if(GLOB.compsci_vr_mission_reciever == src && istype(I, /obj/item/disk/puzzle))
+ if(GLOB.last_used_transmuter)
+ var/obj/machinery/compsci_reciever/CR = GLOB.last_used_transmuter
+ I.forceMove(CR.drop_location())
+ GLOB.last_used_transmuter = null
+ return TRUE
+ return FALSE
+
+
+ if(GLOB.compsci_vr.current_mission && istype(I, GLOB.compsci_vr.current_mission.completion_item))
+ var/obj/machinery/compsci_reciever/station_machine = GLOB.compsci_vr_mission_reciever
+ I.forceMove(station_machine.drop_location())
+ if(GLOB.compsci_vr.current_mission.delete_completion_item)
+ qdel(I)
+ GLOB.compsci_vr.complete_mission()
+ to_chat(user, span_notice("Successfully transferred artifact. Now reverting to reality.."))
+ qdel(user)
+ return TRUE
+
+ if(istype(I, /obj/item/disk/puzzle))
+ var/obj/machinery/compsci_reciever/station_machine = GLOB.compsci_vr_mission_reciever
+ I.forceMove(station_machine.drop_location())
+ to_chat(user, span_notice("Successfully transferred disk."))
+ GLOB.last_used_transmuter = src
+ return TRUE
diff --git a/code/modules/VR/vr_compsci_artifacts.dm b/code/modules/VR/vr_compsci_artifacts.dm
new file mode 100644
index 000000000000..e359ca589864
--- /dev/null
+++ b/code/modules/VR/vr_compsci_artifacts.dm
@@ -0,0 +1,4 @@
+/obj/item/vr_artifact
+ name = "strange object"
+ desc = "What mysteries could this hold?"
+ icon = 'icons/obj/assemblies.dmi'
diff --git a/code/modules/VR/vr_compsci_missions.dm b/code/modules/VR/vr_compsci_missions.dm
new file mode 100644
index 000000000000..4481f5b8dc31
--- /dev/null
+++ b/code/modules/VR/vr_compsci_missions.dm
@@ -0,0 +1,70 @@
+#define VR_SPAWNER(_id, _outfit) \
+ /obj/effect/landmark/vr_spawn/vr_mission/##_id { \
+ id = #_id; \
+ vr_outfit = #_outfit; \
+ }; \
+
+
+GLOBAL_LIST_EMPTY(compsci_flags)
+
+#define MINE_FLAG "mine"
+
+/datum/compsci_mission
+ var/name
+ var/desc
+ var/id
+ var/completion_item
+ var/tags
+
+ var/delete_completion_item = FALSE
+
+/datum/compsci_mission/proc/complete()
+ return
+
+/datum/outfit/vr/mission
+
+
+/obj/effect/landmark/vr_spawn/vr_mission
+ var/id = "debug_mission"
+ vr_outfit = /datum/outfit/vr/mission
+
+/obj/effect/landmark/vr_spawn/vr_mission/Initialize(mapload)
+ . = ..()
+ LAZYADD(GLOB.compsci_mission_markers[id], src)
+ LAZYREMOVE(GLOB.vr_spawnpoints[vr_category], src)
+
+/obj/effect/landmark/vr_spawn/vr_mission/Destroy()
+ LAZYREMOVE(GLOB.compsci_mission_markers[id], src)
+ return ..()
+
+//ACTUAL MISSIONS START HERE
+
+
+/datum/compsci_mission/scientist_raid
+ name = "Unknown Small Research Station"
+ desc = "A recurring distress beacon has been detected from a nearby unidentified research station."
+ id = "scientist_raid"
+ completion_item = /obj/item/ai_cpu/organic
+
+VR_SPAWNER(scientist_raid, /datum/outfit/vr/mission)
+
+/datum/compsci_mission/combat_robot_factory
+ name = "Abandoned Robot Factory"
+ desc = "The records for an old abandoned robot factory have been lost. You've been sent to remake the report."
+ id = "combat_robot_factory"
+ completion_item = /obj/item/ai_cpu/self_aware
+
+VR_SPAWNER(combat_robot_factory, /datum/outfit/vr/mission)
+
+/datum/compsci_mission/abandoned_mine
+ name = "Abandoned Mine"
+ desc = "The records for an old abandoned robot factory have been lost. You've been sent to remake the report."
+ id = "abandoned_mine"
+ completion_item = /obj/item/paper/fluff/awaymissions/mine_coordinates
+ delete_completion_item = TRUE
+
+/datum/compsci_mission/abandoned_mine/complete()
+ . = ..()
+ GLOB.compsci_flags[MINE_FLAG] = TRUE
+
+VR_SPAWNER(abandoned_mine, /datum/outfit/vr/mission)
diff --git a/code/modules/VR/vr_human.dm b/code/modules/VR/vr_human.dm
index 855d615d284a..719a676498a3 100644
--- a/code/modules/VR/vr_human.dm
+++ b/code/modules/VR/vr_human.dm
@@ -19,6 +19,8 @@
/mob/living/carbon/human/virtual_reality/Destroy()
revert_to_reality()
+ for(var/obj/item/I in get_all_contents())
+ dropItemToGround(I, TRUE, TRUE)
return ..()
/mob/living/carbon/human/virtual_reality/Life(seconds_per_tick = SSMOBS_DT, times_fired)
@@ -42,7 +44,12 @@
/mob/living/carbon/human/virtual_reality/proc/check_area()
var/area/check = get_area(src)
- if(!check || !istype(check, /area/awaymission/vr))
+ if(!check)
+ return
+ if(!istype(check, /area/awaymission/vr))
+ to_chat(src, span_userdanger("It is unwise to attempt to break Virtual Reality."))
+ playsound(src, 'sound/effects/supermatter.ogg', 50, 1)
+ dust()
return
var/area/awaymission/vr/A = check
if(A.death)
@@ -65,6 +72,7 @@
if(vr_sleeper.you_die_in_the_game_you_die_for_real)
to_chat(real_mind, span_warning("You feel everything fading away..."))
real_mind.current.death(0)
+
if(deathchecks && vr_sleeper)
vr_sleeper.vr_human = null
vr_sleeper = null
@@ -84,3 +92,12 @@
VR.revert_to_reality(FALSE)
else
Remove(owner)
+
+
+//Overwritten to ensure we don't get blocked by secret level checks
+/mob/living/carbon/human/virtual_reality/forceMove(atom/destination)
+ . = FALSE
+ if(destination)
+ . = doMove(destination)
+ else
+ CRASH("No valid destination passed into forceMove")
diff --git a/code/modules/VR/vr_netmin.dm b/code/modules/VR/vr_netmin.dm
new file mode 100644
index 000000000000..411dd20bd66c
--- /dev/null
+++ b/code/modules/VR/vr_netmin.dm
@@ -0,0 +1,32 @@
+/obj/machinery/vr_sleeper/netmin
+ desc = "A sleeper modified to alter the subconscious state of the user, allowing them to visit virtual worlds. This one has been modifed to allow the occupant to control remote exploration robots."
+
+
+/obj/machinery/vr_sleeper/netmin/emag_act(mob/user)
+ if(!GLOB.compsci_vr.emagged)
+ GLOB.compsci_vr.emag()
+
+/obj/machinery/vr_sleeper/netmin/get_vr_spawnpoint() //proc so it can be overridden for team games or something
+ return safepick(GLOB.vr_spawnpoints[vr_category])
+
+
+/obj/machinery/vr_sleeper/netmin/ui_act(action, params)
+ if(action == "vr_connect")
+ if(!GLOB.compsci_vr.can_join(usr))
+ to_chat(usr, span_warning("Someone else is already connected!"))
+ return
+ . = ..()
+
+/obj/machinery/vr_sleeper/netmin/synth_only
+ name = "virtual reality endpoint"
+ desc = "A sleeper modified to alter the subconscious state of the user, allowing them to visit virtual worlds. This one has been modifed to allow only a synthetic to control remote exploration robots."
+
+/obj/machinery/vr_sleeper/netmin/synth_only/ui_act(action, params)
+ if(action == "vr_connect")
+ if(!is_synth(usr))
+ to_chat(usr, span_warning("Only synthetics may use this endpoint!"))
+ return
+ if(!GLOB.compsci_vr.can_join(usr))
+ to_chat(usr, span_warning("Someone else is already connected!"))
+ return
+ . = ..()
diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm
index af38ac4bd161..5516beaadeed 100644
--- a/code/modules/VR/vr_sleeper.dm
+++ b/code/modules/VR/vr_sleeper.dm
@@ -86,8 +86,9 @@
close_machine(target)
/obj/machinery/vr_sleeper/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
- ui = new(user, src, "vr_sleeper", "VR Sleeper")
+ ui = new(user, src, "VRSleeper", name)
ui.open()
/obj/machinery/vr_sleeper/ui_act(action, params)
@@ -151,7 +152,6 @@
status = "Barely Conscious"
data["vr_avatar"] = list("name" = vr_human.name, "status" = status, "health" = vr_human.health, "maxhealth" = vr_human.maxHealth)
data["toggle_open"] = state_open
- data["emagged"] = you_die_in_the_game_you_die_for_real
data["isoccupant"] = (user == occupant)
return data
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 89599ce142d2..dec80db6a818 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -1139,3 +1139,11 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
return
if(tgui_alert(usr, "Are you absolutely sure you want to reload the configuration from the default path on the disk, wiping any in-round modificatoins?", "Really reset?", list("No", "Yes")) == "Yes")
config.admin_reload()
+
+/client/proc/debug_ai_networks()
+ set category = "Misc.Server Debug"
+ set name = "Debug AI Networks"
+ set desc = "Displays a list of all AI networks to ALL admins"
+ if(!check_rights(R_DEBUG))
+ return
+ _debug_ai_networks()
diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm
index f7d256dd3e59..2cba86076e39 100644
--- a/code/modules/admin/verbs/mapping.dm
+++ b/code/modules/admin/verbs/mapping.dm
@@ -76,6 +76,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_all, list(
/client/proc/cmd_display_init_log,
/client/proc/cmd_display_overlay_log,
/client/proc/reload_configuration,
+ /client/proc/debug_ai_networks,
/datum/admins/proc/create_or_modify_area,
/client/proc/debug_typeof, // Yogs -- Adds a debug verb for getting the subtypes of something
/client/proc/toggle_cdn,
diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm
index 51de65512872..508c4611361f 100644
--- a/code/modules/antagonists/revolution/revolution.dm
+++ b/code/modules/antagonists/revolution/revolution.dm
@@ -206,6 +206,8 @@
return FALSE
if(!can_be_owned(candidate.mind))
return FALSE
+ if(is_synth(candidate))
+ return FALSE
var/mob/living/carbon/C = candidate //Check to see if the potential rev is implanted
if(!istype(C)) //Can't convert simple animals
return FALSE
diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm
index 22399760526a..4188543ddc8d 100644
--- a/code/modules/assembly/doorcontrol.dm
+++ b/code/modules/assembly/doorcontrol.dm
@@ -147,6 +147,9 @@
desc = "An evil-looking remote controller for a crematorium."
/obj/item/assembly/control/crematorium/activate()
+ if(is_synth(usr))
+ to_chat(usr, span_warning("You don't want to use this!"))
+ return
if(cooldown)
return
cooldown = TRUE
diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm
index 2ac8f3b83d8d..43f1627d76ed 100644
--- a/code/modules/assembly/flash.dm
+++ b/code/modules/assembly/flash.dm
@@ -117,6 +117,8 @@
return typecache_filter_list(target_loc.get_all_contents(), GLOB.typecache_living)
/obj/item/assembly/flash/proc/try_use_flash(mob/user = null)
+ if(user && !synth_check(user, SYNTH_RESTRICTED_ITEM))
+ return
if(user && HAS_TRAIT(user, TRAIT_NO_STUN_WEAPONS))
to_chat(user, span_warning("You can't seem to remember how this works!"))
return FALSE
@@ -294,6 +296,8 @@
addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd * 2)
/obj/item/assembly/flash/armimplant/try_use_flash(mob/user = null)
+ if(user && !synth_check(user, SYNTH_RESTRICTED_ITEM))
+ return
if(user && HAS_TRAIT(user, TRAIT_NO_STUN_WEAPONS))
to_chat(user, span_warning("You can't seem to remember how this works!"))
return FALSE
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index fa93a131ed72..0a482b4d1c3e 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -855,6 +855,18 @@
return ..()
+/obj/machinery/airalarm/attack_ai(mob/user)
+ if(!isAI(user))
+ return ..()
+
+ var/mob/living/silicon/ai/AI = user
+ if(AI.has_subcontroller_connection(get_area(src)))
+ return ..()
+
+ to_chat(AI, span_warning("No connection to subcontroller detected. Polling APC..."))
+ if(do_after(AI, 1 SECONDS, src, IGNORE_USER_LOC_CHANGE))
+ return ..()
+
/obj/machinery/airalarm/AltClick(mob/user)
..()
if(!user.canUseTopic(src, !issilicon(user)) || !isturf(loc))
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index bad2530e6475..63cf55779af0 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -230,6 +230,11 @@ GLOBAL_LIST_EMPTY(pipeimages)
if(!can_unwrench(user))
return ..()
+ //var/turf/T = get_turf(src)
+ /*if (level==1 && isturf(T) && T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE)
+ to_chat(user, span_warning("You must remove the plating first!"))
+ return TRUE*/
+
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
add_fingerprint(user)
@@ -340,6 +345,8 @@ GLOBAL_LIST_EMPTY(pipeimages)
add_atom_colour(obj_color, FIXED_COLOUR_PRIORITY)
pipe_color = obj_color
set_piping_layer(set_layer)
+ //var/turf/T = get_turf(src)
+ AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE)
atmos_init()
var/list/nodes = pipeline_expansion()
for(var/obj/machinery/atmospherics/A in nodes)
diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
index 677e7c334a30..6ac20aa51b30 100644
--- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
@@ -105,6 +105,8 @@
/obj/machinery/atmospherics/pipe/layer_manifold/atmos_init()
normalize_cardinal_directions()
findAllConnections()
+ //var/turf/T = loc // hide if turf is not intact
+ //hide(T.underfloor_accessibility < UNDERFLOOR_VISIBLE)
/obj/machinery/atmospherics/pipe/layer_manifold/set_piping_layer()
piping_layer = PIPING_LAYER_DEFAULT
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 76a5c6f96f65..e2c4329286f1 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -312,7 +312,7 @@
/obj/effect/mob_spawn/human/corpse/cargo_tech
name = "Cargo Tech"
- outfit = /datum/outfit/job/cargo_tech
+ outfit = /datum/outfit/job/cargo_tech/no_pda
/obj/effect/mob_spawn/human/cook
name = "Cook"
diff --git a/code/modules/awaymissions/mission_code/netmin/_puzzles.dm b/code/modules/awaymissions/mission_code/netmin/_puzzles.dm
new file mode 100644
index 000000000000..1aaf78135023
--- /dev/null
+++ b/code/modules/awaymissions/mission_code/netmin/_puzzles.dm
@@ -0,0 +1,184 @@
+GLOBAL_VAR_INIT(decrypted_puzzle_disks, 0)
+GLOBAL_LIST_EMPTY(button_puzzles)
+GLOBAL_LIST_EMPTY(rock_paper_scissors_puzzle_answers)
+
+/proc/rock_paper_scissors_puzzle()
+ var/player_list = GLOB.player_list.Copy()
+
+ for(var/mob/unsorted_players in player_list)
+ if(unsorted_players.job == "Network Admin")
+ player_list -= unsorted_players
+
+ var/players_to_ask = 3
+ if(length(player_list) < players_to_ask)
+ players_to_ask = length(player_list)
+
+ while(players_to_ask > 0)
+ var/mob/player = pick_n_take(player_list)
+ var/answer = tgui_input_list(player, "You've been selected for a quick game of rock-paper-scissors. Unfortunately we cannot tell you if you win.", "Rock Paper Scissors", list("Rock", "Paper", "Scissors"))
+ if(!answer)
+ GLOB.rock_paper_scissors_puzzle_answers += pick("Rock", "Paper", "Scissors")
+ else
+ GLOB.rock_paper_scissors_puzzle_answers += answer
+ players_to_ask--
+
+/obj/item/disk/puzzle
+ name = "encrypted floppy drive"
+ desc = "Likely contains the access key to a locked door."
+ icon = 'icons/obj/card.dmi'
+ icon_state = "data_3"
+ item_state = "card-id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
+ var/decrypted = FALSE
+ var/id
+ var/decryption_progress = 0
+ var/detail_color = COLOR_ASSEMBLY_BLUE
+
+/obj/item/disk/puzzle/examine(mob/user)
+ . = ..()
+ . += "The disk seems to be [decrypted ? "decrypted" : "encrypted"]."
+
+/obj/item/disk/puzzle/Initialize(mapload)
+ .=..()
+ update_icon()
+
+/obj/item/disk/puzzle/update_overlays()
+ . = ..()
+ if(detail_color == COLOR_FLOORTILE_GRAY)
+ return
+ var/mutable_appearance/detail_overlay = mutable_appearance('icons/obj/card.dmi', "[icon_state]-color")
+ detail_overlay.color = detail_color
+ add_overlay(detail_overlay)
+
+
+/datum/button_puzzle_holder
+ var/id
+ var/list/buttons = list()
+ var/list/doors = list()
+ var/list/papers = list()
+ var/index = 1
+
+
+/datum/button_puzzle_holder/New()
+ addtimer(CALLBACK(src, PROC_REF(generate_order)), 5 SECONDS)
+
+/datum/button_puzzle_holder/proc/generate_order()
+ shuffle_inplace(buttons)
+
+ var/number = 1
+ for(var/obj/item/paper/fluff/awaymissions/button_puzzle/paper in papers)
+ var/obj/machinery/button_puzzle/button = buttons[number]
+ paper.generate(number, button.name)
+ number++
+
+/datum/button_puzzle_holder/proc/reset()
+ index = 1
+
+/datum/button_puzzle_holder/proc/button_pressed(obj/machinery/button_puzzle/button)
+ if(index > buttons.len)
+ open_doors()
+ return
+
+ if(buttons[index] == button)
+ index++
+ else
+ reset()
+
+ if(index > buttons.len)
+ open_doors()
+ return
+
+/datum/button_puzzle_holder/proc/open_doors()
+ for(var/obj/machinery/door/password/button_puzzle/door in doors)
+ door.open()
+
+/obj/item/paper/fluff/awaymissions/button_puzzle
+ name = "MEMORY DUMP"
+ info = "MEMORY DUMPED. CONTENTS:
49EA+g4cF"
+ var/id
+
+/obj/item/paper/fluff/awaymissions/button_puzzle/proc/generate(number, order)
+ info = "MEMORY DUMPED. CONTENTS:
49EA+[number] - [order]g4cF"
+
+/obj/item/paper/fluff/awaymissions/button_puzzle/Initialize(mapload)
+ . = ..()
+ var/found_datum = FALSE
+ for(var/datum/button_puzzle_holder/holder in GLOB.button_puzzles)
+ if(holder.id == id)
+ holder.papers += src
+ found_datum = TRUE
+ break
+ if(!found_datum)
+ var/datum/button_puzzle_holder/H = new()
+ H.id = id
+ H.papers += src
+ GLOB.button_puzzles += H
+
+
+/obj/machinery/button_puzzle
+ name = "button"
+ desc = "A remote control switch."
+ icon = 'icons/obj/stationobjs.dmi'
+ icon_state = "doorctrl"
+ var/skin = "doorctrl"
+ var/id = null
+ var/order
+
+ var/datum/button_puzzle_holder/manager
+
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
+
+/obj/machinery/button_puzzle/Initialize(mapload)
+ . = ..()
+
+ name = "[initial(name)] - [random_nukecode(4)]"
+ if(id)
+ var/found_datum = FALSE
+ for(var/datum/button_puzzle_holder/holder in GLOB.button_puzzles)
+ if(holder.id == id)
+ holder.buttons += src
+ manager = holder
+ found_datum = TRUE
+ break
+
+ if(!found_datum)
+ var/datum/button_puzzle_holder/H = new()
+ H.id = id
+ H.buttons += src
+ manager = H
+ GLOB.button_puzzles += H
+
+
+/obj/machinery/button_puzzle/update_icon_state()
+ . = ..()
+ if(panel_open)
+ icon_state = "button-open"
+ else
+ if(stat & (NOPOWER|BROKEN))
+ icon_state = "[skin]-p"
+ else
+ icon_state = skin
+
+
+/obj/machinery/button_puzzle/attackby(obj/item/W, mob/user, params)
+ if(user.a_intent != INTENT_HARM && !(W.item_flags & NOBLUDGEON))
+ return attack_hand(user)
+ else
+ return ..()
+
+
+/obj/machinery/button_puzzle/attack_hand(mob/user)
+ . = ..()
+ if(.)
+ return
+ add_fingerprint(user)
+ play_click_sound("button")
+
+
+ use_power(5)
+ icon_state = "[skin]1"
+
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 15)
+ manager.button_pressed(src)
+
diff --git a/code/modules/awaymissions/mission_code/netmin/abandoned_mine.dm b/code/modules/awaymissions/mission_code/netmin/abandoned_mine.dm
new file mode 100644
index 000000000000..658f5df5354e
--- /dev/null
+++ b/code/modules/awaymissions/mission_code/netmin/abandoned_mine.dm
@@ -0,0 +1,55 @@
+/area/awaymission/vr/abandoned_mine
+ name = "Abandoned Mine"
+ icon_state = "awaycontent5"
+ pacifist = FALSE
+
+
+/obj/item/paper/pamphlet/away/safety_pamphlet
+ name = "safety instructions"
+ icon_state = "pamphlet"
+ info = {"Welcome aboard Mining Installation 13 - "Paradiso", the largest producer of high-quality iron in this sector!
We're glad to have you onboard, but before you can start work there's a few important safety instructions we have to inform you about:
+ 1. If you see any native lifeforms, avoid them and contact security
+ 2. Any missing tools assigned to you will be docked from your pay.
+ 3. See the sheet in the crew quarters for service prices.
+ 4. Due to our distance from the nearest law enforcement station our security staff have had their powers expanded.
+ 5. You're legally obligated to stay for the full duration of your contract.
+ 6. You're liable for any funeral costs you might incur.
+ 7. Do NOT, under any circumstance, enter the command centre without permission.
+ "}
+
+
+/obj/item/paper/fluff/awaymissions/production_numbers
+ name = "production report"
+ info = {"Production Report
+ Last Sol cycle we exported 750.000 tons of iron ore, up 17% YoY.
+ Degrading the quality of food for the works has earned us a 7% decrease in operating costs.
+ Shipment destinations:
+ Space Station 13: 125.000 tons
+ REDACTED Facility: 500.000 tons
+ Central Command: 125.000 tons
+ "}
+
+/obj/item/paper/fluff/awaymissions/mine_robot_order
+ name = "requisition order"
+ info = {"Requisition Order
+ We hereby confirm your order of 75 Model 3 mining robots.
+ Upon their arrival we urge you to let the crew go.
+ There will be no room on the shuttle for passenger transport.
+ You know what you have to do.
+ "}
+
+/obj/item/paper/fluff/awaymissions/mine_contract
+ name = "work contract"
+ info = {"Employment Contract
+ Employee: William Young.
+ Installation: "Paradiso".
+ Pay: 500 credits per cycle.
+ Agreed upon contract duration: 3 solar cycles. (1 cycle = 45 Sol years)
+ You see a small note scribbled at the bottom:
+ Those BASTARDS! I agreed to sign up for 3 years, but those bean counters were measuring in LOCAL solar cycles!
+ I've talked to some of the others, and we're going to overthrow these tyrants!
+ "}
+
+/obj/item/paper/fluff/awaymissions/mine_coordinates
+ name = "coordinate readout"
+ info = {"Coordinates of REDACTED facility attached for supply purposes. Return to transmuter to upload coordinates and access further missions."}
diff --git a/code/modules/awaymissions/mission_code/netmin/combat_robot_factory.dm b/code/modules/awaymissions/mission_code/netmin/combat_robot_factory.dm
new file mode 100644
index 000000000000..dd59d5c8669c
--- /dev/null
+++ b/code/modules/awaymissions/mission_code/netmin/combat_robot_factory.dm
@@ -0,0 +1,119 @@
+/area/awaymission/vr/combat_robot_factory
+ name = "Abandoned Robot Factory"
+ icon_state = "awaycontent4"
+ pacifist = FALSE
+
+/obj/item/paper/fluff/awaymissions/robot_factory/shipment_details
+ name = "Shipment Details"
+ info = "Shipment Details:
500x Agricultural Robots @ 1999.95 cr
200x Construction Robots @ 2499.95 cr
Total: 1,499,965 cr
Destination:
Gamnar Military Base"
+
+/obj/item/paper/fluff/awaymissions/robot_factory/advanced_model
+ name = "Personal Research"
+ info = "I've crunched the numbers on the capabilities of the servors in these robots. I'm pretty certain they could handle additional armor plating, and maybe even a more powerful gun. I'll tell the boss after I've finished my prototypes."
+
+/obj/item/paper/fluff/awaymissions/robot_factory/benny
+ name = "diary entry #631"
+ info = "I should really stop naming all my passwords after you, Benny. The boss says it isn't secure, wouldn't want the workers getting in to the emergency supplies."
+
+/obj/item/paper/fluff/awaymissions/robot_factory/spider
+ name = "Beware: Spider"
+ info = "Stop leaving your leftovers out! It's attracting bugs, and with bugs comes spiders. We've called an exterminator but the breakroom is off-limits until then."
+
+/obj/item/paper/fluff/awaymissions/robot_factory/classified
+ name = "Research Notes"
+ info = {"The biggest limiter to the efficiency of our robots have always been the rigid programming. The Board has ordered me to explore if it's feasible to use human minds instead of programming. \
+ If possible they should make a formidable addition as a commander type robot.\
+ We'd have to wipe their memories or I'm sure they wouldn't be happy..."}
+
+/obj/item/paper/crumpled/bloody/fluff/awaymissions/robot_factory/control_man
+ name = "paper"
+ info = {"Something went horribly wrong with the latest experiment... I'm not sure how to explain, but it's *alive* and it's *angry*. The higher ups will have my head for this if I don't get killed in action...
+ I'll send them a message to halt the latest shipment incase it was contaminated, and after that..."}
+
+/obj/item/paper/fluff/awaymissions/robot_factory/control_message
+ name = "message log"
+ info = {"Sending message with title 'SHIPMENT CONTAMINATION' failed. Please validate that communication dishes are working and try again."}
+
+/obj/item/paper/fluff/awaymissions/robot_factory/diagnostic
+ name = "diagnostic report"
+ info = {"Main servos offline. Main processor failing. Sending diagnostic data to master controller at location \[REDACTED\]."}
+
+
+/obj/item/disk/holodisk/combat_robot/introduction
+ preset_image_type = /datum/preset_holoimage/cc_official
+ preset_record_text = {"
+ NAME HR Representative
+ DELAY 30
+ SAY Welcome aboard your new home for the next 12 months!
+ DELAY 30
+ SAY Your main duties will consist of refilling machinery, packing boxes, and most importantly..
+ DELAY 45
+ SAY Not asking any questions.
+ DELAY 30
+ SAY In addition, please refrain from bothering the Corporate Liason stationed here unless he specifically asks for your help.
+ DELAY 45"}
+
+
+/obj/item/disk/holodisk/combat_robot/classified
+ preset_image_type = /datum/preset_holoimage/cc_official
+ preset_record_text = {"
+ NAME Mr. Nakada
+ DELAY 30
+ SAY Research log number 63
+ DELAY 45
+ SAY Further attempts to artifically grow and integrate a human host have failed.
+ DELAY 60
+ SAY Attempting one further growth cycle before returning to Central Command
+ DELAY 60
+ SAY Using the local supervisor as the neural template.
+ DELAY 60
+ SAY Final report is estimated to be completed within the next two weeks.
+ DELAY 45"}
+
+/obj/item/disk/holodisk/combat_robot/experiment
+ preset_image_type = /datum/preset_holoimage/researcher
+ preset_record_text = {"
+ NAME Doctor Williams
+ DELAY 30
+ SAY Beginning experiment number 31
+ DELAY 60
+ SAY Injecting solution...
+ DELAY 45
+ SAY Subject appears to be displaying decreased blood pressure. Subject having difficulty maintaining consciousness.
+ DELAY 60
+ SAY Neural activity appears incompatible with capture device.
+ DELAY 50
+ SAY Subject has expired. End log for experiment number 31.
+ DELAY 45"}
+
+/obj/item/disk/holodisk/combat_robot/factory_floor
+ preset_image_type = /datum/preset_holoimage/nanotrasenprivatesecurity
+ preset_record_text = {"
+ NAME Officer Rymes
+ DELAY 30
+ SAY After last nights incident I believe we should reiterate the corporate policy on rioting.
+ DELAY 45
+ SAY In case of any kind of illegal striking or insurrection by the stationed workers you are to close the blast door to the factory floor.
+ DELAY 75
+ SAY After the situation is under control and production ready to resume you should unlock the door.
+ DELAY 45
+ SAY For the forgetful amongst you, the password is 'Zandar' after our dear CEO.
+ DELAY 45
+ SAY Don't forget that the door is voice activated.
+ DELAY 45"}
+
+/obj/item/ai_cpu/self_aware
+ name = "semi self-aware neural processing unit"
+ desc = "The remains of the neuron interfacing chip found onboard a redacted robot production facility. The remaining organic material still seems alive."
+
+ icon = 'icons/obj/surgery.dmi'
+ icon_state = "brain-x"
+
+ speed = 20
+ base_power_usage = 2 * AI_CPU_BASE_POWER_USAGE
+
+ minimum_max_power = 1.1
+ maximum_max_power = 2.8
+
+ minimum_growth = 1
+ maximum_growth = 4.5
diff --git a/code/modules/awaymissions/mission_code/netmin/scientist_raid.dm b/code/modules/awaymissions/mission_code/netmin/scientist_raid.dm
new file mode 100644
index 000000000000..c5998310867b
--- /dev/null
+++ b/code/modules/awaymissions/mission_code/netmin/scientist_raid.dm
@@ -0,0 +1,49 @@
+/area/awaymission/vr/scientist_raid
+ name = "Small Abandoned Station"
+ icon_state = "awaycontent3"
+
+/obj/item/paper/fluff/awaymissions/scientist_raid/report1
+ name = "Adaptive Neural Networks - Research Report"
+ info = "While these types of networks seem to be well-suited for our needs, the current processing technology doesn't seem able to simulate them quickly enough. More research is needed.."
+
+/obj/item/paper/fluff/awaymissions/scientist_raid/report2
+ name = "Captive Organic Neurons - Research Report"
+ info = "A new scientific article has piqued my interest. A Cybersun Industries biologist seems to have extracted useable responses from lab-grown neurons. Although the experiment was small-scale it seems promising.."
+
+/obj/item/paper/fluff/awaymissions/scientist_raid/report3
+ name = "Personnel Requisition Order"
+ info = "I require additional low-level personnel to maintain the station. Primarily janitors and low-level engineers. Due to the distance to the station they should preferably have minimal family and social contacts."
+
+/obj/item/paper/fluff/awaymissions/scientist_raid/report4
+ name = "Deep Tissue Neuron Control"
+ info = "Further research reveals that using invasive surgical procedures it is possible to influence and digitally mirror the actions of individual neurons. Preliminary results show a 1251.83x performance improvement compared to traditional neural networks."
+
+/obj/item/paper/crumpled/bloody/fluff/awaymissions/scientist_raid/report5
+ name = "hastily scribbled note"
+ info = "Forgive me for what I have done... Corporate goons are knocking down the door to my room, it seems they've caught on to my... unique ways of researching. I've hidden my last prototype in my safe. To anyone reading this, please carry on my research. The code to the safe is 7295"
+
+/obj/item/ai_cpu/organic
+ name = "experimental organic neural processing unit"
+ desc = "A half-machine half-human chip built by a mad scientist. Capable of processing immense amounts of data, at the expense of the sacrifice of the sanity of the consciousness contained within.."
+ icon_state = "cpuboard_adv"
+
+ speed = 12
+ base_power_usage = 4 * AI_CPU_BASE_POWER_USAGE
+
+ minimum_max_power = 1.1
+ maximum_max_power = 2.6
+
+ minimum_growth = 1
+ maximum_growth = 4
+
+/obj/item/storage/secure/safe/scientist_raid
+ name = "secure safe"
+
+/obj/item/storage/secure/safe/scientist_raid/Initialize(mapload)
+ . = ..()
+ l_code = "7295"
+ l_set = TRUE
+ new /obj/item/ai_cpu/organic(src)
+ SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, TRUE)
+ cut_overlays()
+
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 1dd5233b9488..fe49200ba1ee 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -360,6 +360,9 @@ BLIND // can't see anything
return
if (!can_use(M))
return
+ if(is_synth(M))
+ to_chat(usr, "You're unable to use suit sensors as a synthetic!")
+ return
if(src.has_sensor == LOCKED_SENSORS)
to_chat(usr, "The controls are locked.")
return 0
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 575b81e4dce0..b7adf9f270f5 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -544,3 +544,4 @@
w_class = WEIGHT_CLASS_BULKY
// Does not cover additional limbs like vest does
plating = K
+
diff --git a/code/modules/clothing/outfits/vr.dm b/code/modules/clothing/outfits/vr.dm
index 63e111ae72ea..1d81c2db9204 100644
--- a/code/modules/clothing/outfits/vr.dm
+++ b/code/modules/clothing/outfits/vr.dm
@@ -1,9 +1,8 @@
/datum/outfit/vr
name = "Basic VR"
- uniform = /obj/item/clothing/under/color/random
+ uniform = /obj/item/clothing/under/rank/cargotech
shoes = /obj/item/clothing/shoes/sneakers/black
- ears = /obj/item/radio/headset
- id = /obj/item/card/id
+ id = /obj/item/card/id/no_bank
/datum/outfit/vr/pre_equip(mob/living/carbon/human/H)
H.dna.species.before_equip_job(null, H)
@@ -12,6 +11,8 @@
var/obj/item/card/id/id = H.wear_id
if (istype(id))
id.access |= get_all_accesses()
+ if(isplasmaman(H)) //sorry plasma people
+ H.set_species(/datum/species/human)
/datum/outfit/vr/syndicate
name = "Syndicate VR Operative - Basic"
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index e26d93aef5e0..4b27e2ae28cb 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -1251,3 +1251,57 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | ACID_PROOF
slowdown = 0
+
+/obj/item/clothing/head/helmet/space/hardsuit/synth
+ name = "\improper synthetic worksuit helmet"
+ desc = "An integrated helmet that provides some level of resistance, to assist in hostile environments."
+ icon = 'icons/mob/clothing/head/head.dmi'
+ icon_state = "hardsuit0-synth"
+ item_state = "centcom"
+ w_class = WEIGHT_CLASS_BULKY
+ clothing_flags = THICKMATERIAL | STOPSPRESSUREDAMAGE
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
+ armor = list(MELEE = 10, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, BIO = 15, RAD = 100, FIRE = 10, ACID = 15)
+ hardsuit_type = "synth"
+ resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | INDESTRUCTIBLE | FREEZE_PROOF
+
+/obj/item/clothing/head/helmet/space/hardsuit/synth/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, SYNTHETIC_TRAIT)
+
+/obj/item/clothing/suit/space/hardsuit/synth
+ name = "\improper synthetic worksuit"
+ desc = "An integrated suit that provides some level of resistance, to assist in hostile environments."
+ icon = 'icons/mob/clothing/suit/suit.dmi'
+ icon_state = "synth_suit"
+ item_state = "centcom"
+ w_class = WEIGHT_CLASS_BULKY
+ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+ clothing_flags = STOPSPRESSUREDAMAGE | STOPSPRESSUREDAMAGE
+ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
+ cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
+ armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 25, BIO = 25, RAD = 100, FIRE = 10, ACID = 25)
+ var/evil = FALSE
+ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/synth
+ slowdown = 0
+
+ resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | INDESTRUCTIBLE | FREEZE_PROOF
+
+/obj/item/clothing/suit/space/hardsuit/synth/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, SYNTHETIC_TRAIT)
+
+/obj/item/clothing/suit/space/hardsuit/synth/update_icon_state()
+ . = ..()
+ if(evil)
+ icon_state = "synth_suit_evil"
+ else
+ icon_state = "synth_suit"
+
+ var/mob/living/carbon/human/user = loc
+ if(user && istype(user))
+ user.update_inv_wear_suit()
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 8b39d4c86061..5a7b1e1ddeae 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -539,3 +539,4 @@
slowdown_set = 0.4 // Very slow
armor = list(MELEE = 55, BULLET = 60, LASER = 60, ENERGY = 40, BOMB = 40, BIO = 0, RAD = 0, FIRE = 65, ACID = 75, WOUND = 50) //Walking tank
partial_coverage = LEGS|ARMS
+
diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm
index d26178c6e029..45e265f8742e 100644
--- a/code/modules/clothing/under/_under.dm
+++ b/code/modules/clothing/under/_under.dm
@@ -109,6 +109,9 @@
attached_accessory.on_clothing_equip(src, user)
if(attached_accessory.above_suit)
H.update_inv_wear_suit()
+ if(is_synth(user) && has_sensor)
+ to_chat(user, span_notice("Suit sensors disabled due to non-compatible user."))
+ sensor_mode = SENSOR_OFF
/obj/item/clothing/under/dropped(mob/user)
if(attached_accessory)
diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm
index 508e998206e4..8755d6201bca 100644
--- a/code/modules/economy/account.dm
+++ b/code/modules/economy/account.dm
@@ -67,6 +67,8 @@
/datum/bank_account/proc/payday(amt_of_paychecks, free = FALSE)
var/money_to_transfer = account_job.paycheck * amt_of_paychecks
+ if(!money_to_transfer)
+ return TRUE
if(free)
adjust_money(money_to_transfer)
return TRUE
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 23052383fad8..9b922ed08a01 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -100,6 +100,9 @@
if(user.a_intent != INTENT_HARM || !isGlass)
return ..()
+ if(!synth_check(user, SYNTH_ORGANIC_HARM))
+ return
+
if(HAS_TRAIT(user, TRAIT_PACIFISM))
to_chat(user, span_warning("You don't want to harm [target]!"))
return
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 46a4b70f6087..b9106bbb0e99 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -74,6 +74,10 @@
to_chat(user, span_notice("[src] cannot be used unless bolted to the ground."))
return
+ if(is_synth(user))
+ to_chat(user, span_warning("You don't want to use this!"))
+ return
+
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
var/mob/living/L = user.pulling
if(!iscarbon(L))
diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
index 35b55d5f883f..5763ced37db0 100644
--- a/code/modules/holodeck/computer.dm
+++ b/code/modules/holodeck/computer.dm
@@ -18,6 +18,10 @@
#define HOLODECK_CD 25
#define HOLODECK_DMG_CD 500
+/// typecache for turfs that should be considered ok during floorchecks.
+/// A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown.
+GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf/open/floor/holofloor, /turf/closed)))
+
/obj/machinery/computer/holodeck
name = "holodeck control console"
desc = "A computer used to control a nearby holodeck."
diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm
index c0b8bd142596..fa9ece84f0a8 100644
--- a/code/modules/holodeck/turfs.dm
+++ b/code/modules/holodeck/turfs.dm
@@ -123,6 +123,8 @@
/turf/open/floor/holofloor/carpet/update_icon(updates=ALL)
. = ..()
+ if(!.)
+ return FALSE
if((updates & UPDATE_SMOOTHING) && overfloor_placed && smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))
QUEUE_SMOOTH(src)
diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm
index e8934128e90f..21a64c5c8903 100644
--- a/code/modules/jobs/access.dm
+++ b/code/modules/jobs/access.dm
@@ -410,7 +410,7 @@
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist",
// yogs start - Yog jobs
"Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer",
- "Network Admin", "Mining Medic", "Paramedic", "Psychiatrist", "Clerk", "Tourist", "Space Bartender", "Artist", "Brig Physician")
+ "Network Admin", "Mining Medic", "Paramedic", "Psychiatrist", "Clerk", "Tourist", "Space Bartender", "Artist", "Brig Physician", "Synthetic")
// yogs end
/// Gets all jobs with hud icons
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index 9e1f55089ea2..09464ee928a4 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -96,6 +96,7 @@
/// Icons to be displayed in the orbit ui. Source: FontAwesome v5.
var/orbit_icon
+ var/datum/species/forced_species
/**
* A list of job-specific areas to enable lights for if this job is present at roundstart, whenever minimal access is not in effect.
* This will be combined with minimal_lightup_areas, so no need to duplicate entries.
@@ -183,11 +184,16 @@
if(!H)
return FALSE
+
+
//This reads Command placement exceptions in code/controllers/configuration/entries/game_options to allow non-Humans in specified Command roles. If the combination of species and command role is invalid, default to Human.
if(CONFIG_GET(keyed_list/job_species_whitelist)[type] && !splittext(CONFIG_GET(keyed_list/job_species_whitelist)[type], ",").Find(H.dna.species.id))
if(H.dna.species.id != "human")
H.set_species(/datum/species/human)
H.apply_pref_name(/datum/preference/name/backup_human, preference_source)
+
+ if(forced_species)
+ H.set_species(forced_species)
if(!visualsOnly)
var/datum/bank_account/bank_account = new(H.real_name, src)
@@ -356,15 +362,17 @@
B.bank_cards += C
H.sec_hud_set_ID()
- var/obj/item/modular_computer/PDA = new pda_type()
- if(istype(PDA))
- PDA.InsertID(C)
- H.equip_to_slot_if_possible(PDA, ITEM_SLOT_ID)
+ if(pda_type)
+ var/obj/item/modular_computer/PDA = new pda_type()
+ if(istype(PDA))
+ PDA.InsertID(C)
+ H.equip_to_slot_if_possible(PDA, ITEM_SLOT_ID)
- PDA.update_label()
- PDA.update_appearance(UPDATE_ICON)
- PDA.update_filters()
-
+ PDA.update_label()
+ PDA.update_appearance(UPDATE_ICON)
+ PDA.update_filters()
+ else
+ H.equip_to_slot_if_possible(C, ITEM_SLOT_ID)
else
H.equip_to_slot_if_possible(C, ITEM_SLOT_ID)
diff --git a/code/modules/jobs/job_types/ai.dm b/code/modules/jobs/job_types/ai.dm
index c2f33e9b666b..9df34178ac02 100644
--- a/code/modules/jobs/job_types/ai.dm
+++ b/code/modules/jobs/job_types/ai.dm
@@ -33,13 +33,13 @@
. = ..()
var/mob/living/silicon/ai/AI = spawned
- AI.relocate(TRUE)
+ AI.relocate(TRUE, TRUE)
+
+ var/total_available_cpu = 1 - AI.ai_network.resources.total_cpu_assigned()
+ var/total_available_ram = AI.ai_network.resources.total_ram() - AI.ai_network.resources.total_ram_assigned()
- var/total_available_cpu = 1 - GLOB.ai_os.total_cpu_assigned()
- var/total_available_ram = GLOB.ai_os.total_ram - GLOB.ai_os.total_ram_assigned()
-
- GLOB.ai_os.set_cpu(AI, total_available_cpu)
- GLOB.ai_os.add_ram(AI, total_available_ram)
+ AI.ai_network.resources.set_cpu(AI, total_available_cpu)
+ AI.ai_network.resources.add_ram(AI, total_available_ram)
AI.apply_pref_name(/datum/preference/name/ai, M.client) //If this runtimes oh well jobcode is fucked.
AI.set_core_display_icon(null, M.client)
diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm
index ab2a5973a9bd..39eac3ceebc3 100644
--- a/code/modules/jobs/job_types/cargo_technician.dm
+++ b/code/modules/jobs/job_types/cargo_technician.dm
@@ -49,3 +49,7 @@
uniform_skirt = /obj/item/clothing/under/rank/cargotech/skirt
l_hand = /obj/item/export_scanner
+/datum/outfit/job/cargo_tech/no_pda
+ name = "Cargo Technician (No PDA)"
+
+ pda_type = null
diff --git a/code/modules/jobs/job_types/synthetic.dm b/code/modules/jobs/job_types/synthetic.dm
new file mode 100644
index 000000000000..8d81d1107ef4
--- /dev/null
+++ b/code/modules/jobs/job_types/synthetic.dm
@@ -0,0 +1,105 @@
+GLOBAL_LIST_INIT(synthetic_base_access, list(ACCESS_MAINT_TUNNELS, ACCESS_KITCHEN, ACCESS_CREMATORIUM, ACCESS_JANITOR, ACCESS_BAR, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_NETWORK, ACCESS_MINISAT, ACCESS_TCOMSAT, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_EVA, ACCESS_CREMATORIUM, ACCESS_HYDROPONICS, ACCESS_MANUFACTURING, ACCESS_THEATRE, ACCESS_TCOM_ADMIN))
+GLOBAL_LIST_EMPTY(synthetic_added_access)
+/datum/job/synthetic
+ title = "Synthetic"
+ description = "Watch over the crew, carry out mundane tasks that nobody else want to. Do no harm."
+ orbit_icon = "eye"
+ auto_deadmin_role_flags = DEADMIN_POSITION_SILICON|DEADMIN_POSITION_CRITICAL
+ department_head = list("AI")
+ faction = "Station"
+ total_positions = 0
+ spawn_positions = 1
+ supervisors = "the AI"
+ minimal_player_age = 30
+ exp_requirements = 900
+ exp_type = EXP_TYPE_CREW
+ exp_type_department = EXP_TYPE_COMMAND
+
+ outfit = /datum/outfit/job/synthetic
+
+ added_access = list()
+ base_access = list()
+ paycheck = 0
+ paycheck_department = ACCOUNT_SCI
+ mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
+
+ display_order = JOB_DISPLAY_ORDER_SYNTHETIC
+
+ departments_list = list(
+ /datum/job_department/silicon,
+ )
+
+
+ mail_goodies = list()
+
+ smells_like = "calculated machinery"
+ alt_titles = list()
+
+ forced_species = /datum/species/wy_synth
+
+/datum/job/synthetic/after_spawn(mob/living/H, mob/M, latejoin = FALSE)
+ . = ..()
+
+ addtimer(CALLBACK(src, PROC_REF(synth_name_choose), H, M), 1 SECONDS)
+ H.remove_all_quirks()
+
+/datum/job/synthetic/proc/synth_name_choose(mob/living/H, mob/M)
+ var/newname = sanitize_name(reject_bad_text(stripped_input(M, "Please input your name.", "Name change", H.real_name, MAX_NAME_LEN)))
+
+ H.fully_replace_character_name(H.real_name, newname)
+ if(iscarbon(H)) //doing these two JUST to be sure you dont have edge cases of your DNA and mind not matching your new name, somehow
+ var/mob/living/carbon/C = H
+ if(C?.dna)
+ C?.dna?.real_name = newname
+ if(H?.mind)
+ H?.mind?.name = newname
+
+
+/datum/job/synthetic/get_access()
+ return GLOB.synthetic_base_access
+
+
+/datum/outfit/job/synthetic
+ name = "Synthetic"
+
+ jobtype = /datum/job/synthetic
+ ears = /obj/item/radio/headset/headset_synthetic
+
+ suit = /obj/item/clothing/suit/space/hardsuit/synth
+
+ pda_type = null
+ id_type = /obj/item/card/id/synthetic
+
+/datum/outfit/job/synthetic/post_equip(mob/living/carbon/human/H, visualsOnly)
+ . = ..()
+ if(H.w_uniform)
+ var/obj/item/clothing/under/wearing = H.w_uniform
+ wearing.has_sensor = FALSE
+
+ var/obj/machinery/ai/data_core/core
+ core = H.available_ai_cores(forced = TRUE)
+ if(core)
+ core.network.add_synth(H)
+
+
+
+
+
+/datum/outfit/job/synthetic/naked
+ name = "Synthetic (Naked)"
+
+ uniform = null
+ ears = null
+ back = null
+ shoes = null
+ box = null
+
+ preload = FALSE // These are used by the prefs ui, and also just kinda could use the extra help at roundstart
+
+ backpack = null
+ satchel = null
+ duffelbag = null
+
+
+/datum/outfit/job/synthetic/naked/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+ return
diff --git a/code/modules/mapping/map_template.dm b/code/modules/mapping/map_template.dm
index e5a25d297f46..da100fd2c794 100644
--- a/code/modules/mapping/map_template.dm
+++ b/code/modules/mapping/map_template.dm
@@ -56,6 +56,7 @@
var/list/obj/machinery/atmospherics/atmos_machines = list()
var/list/obj/structure/cable/cables = list()
+ var/list/obj/structure/ethernet_cable/ethernet_cables = list()
var/list/atom/movable/movables = list()
var/list/obj/docking_port/stationary/ports = list()
var/list/area/areas = list()
@@ -85,6 +86,9 @@
if(istype(movable_in_turf, /obj/structure/cable))
cables += movable_in_turf
continue
+ if(istype(movable_in_turf, /obj/structure/ethernet_cable))
+ ethernet_cables += movable_in_turf
+ continue
if(istype(movable_in_turf, /obj/machinery/atmospherics))
atmos_machines += movable_in_turf
if(istype(movable_in_turf, /obj/docking_port/stationary))
@@ -110,6 +114,7 @@
// NOTE, now that Initialize and LateInitialize run correctly, do we really
// need these two below?
SSmachines.setup_template_powernets(cables)
+ SSmachines.setup_template_ainets(ethernet_cables)
SSair.setup_template_machinery(atmos_machines)
//calculate all turfs inside the border
diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm
index 43f08d0157c9..12b2a5502dbf 100644
--- a/code/modules/mapping/mapping_helpers.dm
+++ b/code/modules/mapping/mapping_helpers.dm
@@ -236,7 +236,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
log_mapping("[src] at [x],[y] could not find any morgues.")
return
for (var/i = 1 to bodycount)
- var/obj/structure/bodycontainer/morgue/j = pick(trays)
+ var/obj/structure/bodycontainer/morgue/j = pick_n_take(trays)
var/mob/living/carbon/human/h = new /mob/living/carbon/human(j, 1)
h.death()
for (var/part in h.internal_organs) //randomly remove organs from each body, set those we keep to be in stasis
diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm
index 26fc9cfcdddc..aaebee415016 100644
--- a/code/modules/mob/dead/dead.dm
+++ b/code/modules/mob/dead/dead.dm
@@ -27,6 +27,17 @@ INITIALIZE_IMMEDIATE(/mob/dead)
/mob/dead/canUseStorage()
return FALSE
+/mob/dead/forceMove(atom/destination)
+ var/turf/old_turf = get_turf(src)
+ var/turf/new_turf = get_turf(destination)
+ if(is_secret_level(new_turf?.z) && (!client?.holder))
+ return
+ if (old_turf?.z != new_turf?.z)
+ on_changed_z_level(old_turf, new_turf)
+ var/oldloc = loc
+ loc = destination
+ Moved(oldloc, NONE, TRUE)
+
/mob/dead/get_status_tab_items()
. = ..()
. += ""
diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm
index eefa3e385051..bb0285e6db53 100644
--- a/code/modules/mob/dead/new_player/preferences_setup.dm
+++ b/code/modules/mob/dead/new_player/preferences_setup.dm
@@ -48,7 +48,10 @@
mannequin.add_overlay(mutable_appearance('icons/turf/floors.dmi', background, layer = SPACE_LAYER))
apply_prefs_to(mannequin, TRUE)
+
if(preview_job)
+ if(preview_job.forced_species)
+ mannequin.set_species(preview_job.forced_species)
mannequin.job = preview_job.title
mannequin.dress_up_as_job(preview_job, TRUE)
diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm
index 52d935f24f3e..ec755053510e 100644
--- a/code/modules/mob/living/brain/brain_item.dm
+++ b/code/modules/mob/living/brain/brain_item.dm
@@ -288,11 +288,18 @@
var/obj/item/clothing/head/hat = owner.get_item_by_slot(ITEM_SLOT_HEAD)
if(hat && istype(hat, /obj/item/clothing/head/foilhat))
return
+
to_chat(owner, span_warning("Alert: Posibrain [severity > EMP_LIGHT ? "severely " : ""]damaged."))
owner.adjust_drugginess(5 * severity)
if(severity > EMP_LIGHT)
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, (2 * (severity - EMP_LIGHT)) * (maxHealth - damage) / maxHealth) // don't give traumas from weak EMPs
+/obj/item/organ/brain/positron/synth
+ zone = BODY_ZONE_HEAD
+
+/obj/item/organ/brain/positron/synth/can_extract()
+ return FALSE
+
////////////////////////////////////TRAUMAS////////////////////////////////////////
/obj/item/organ/brain/proc/has_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience = TRAUMA_RESILIENCE_ABSOLUTE)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 1fe00caa4707..3aa133a79355 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -177,6 +177,9 @@
if(HAS_TRAIT(src, TRAIT_PACIFISM))
to_chat(src, span_notice("You gently let go of [throwable_mob]."))
return
+ if(!synth_check(src, SYNTH_ORGANIC_HARM))
+ to_chat(src, span_notice("You gently let go of [throwable_mob]."))
+ return
var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors
var/turf/end_T = get_turf(target)
if(start_T && end_T)
@@ -190,6 +193,9 @@
if(HAS_TRAIT(src, TRAIT_PACIFISM) && I.throwforce)
to_chat(src, span_notice("You set [I] down gently on the ground."))
return
+ if(!synth_check(src, SYNTH_RESTRICTED_WEAPON))
+ to_chat(src, span_notice("You set [I] down gently on the ground."))
+ return
if(thrown_thing)
if(HAS_TRAIT(src, TRAIT_HULK))
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index adb3fd1e5883..702ec77bc5ad 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -401,9 +401,15 @@
msg += "[t_He] [t_is] barely conscious.\n"
if(getorgan(/obj/item/organ/brain))
if(!key)
- msg += "[span_deadsay("[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.")]\n"
+ if(is_synth(src))
+ msg += "The unit is indicating that it is currently inactive. Place this unit inside a synthetic storage unit to allow the onboard synthetic intelligences to control it.\n"
+ else
+ msg += "[span_deadsay("[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.")]\n"
else if(!client && !fake_client)
- msg += "[t_He] [t_has] a blank, absent-minded stare and appears completely unresponsive to anything. [t_He] may snap out of it soon.\n"
+ if(is_synth(src))
+ msg += "The unit is indicating that it is currently inactive. Place this unit inside a synthetic storage unit to allow the onboard synthetic intelligences to control it.\n"
+ else
+ msg += "[t_He] [t_has] a blank, absent-minded stare and appears completely unresponsive to anything. [t_He] may snap out of it soon.\n"
if(digitalcamo)
msg += "[t_He] [t_is] moving [t_his] body in an unnatural and blatantly inhuman manner.\n"
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 2560eaf0bd4f..d9d893bff101 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -36,6 +36,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
/// does it use skintones or not? (spoiler alert this is only used by humans)
var/use_skintones = FALSE
+ var/forced_skintone
+
/// If your race wants to bleed something other than bog standard blood, change this to reagent id.
var/datum/reagent/exotic_blood
///If your race uses a non standard bloodtype (A+, O-, AB-, etc)
@@ -211,6 +213,10 @@ GLOBAL_LIST_EMPTY(features_by_species)
//Should we preload this species's organs?
var/preload = TRUE
+ var/inherent_slowdown = 0
+
+ //for preternis + synths
+ var/draining = FALSE
///Does our species have colors for its' damage overlays?
var/use_damage_color = TRUE
@@ -1587,6 +1593,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
. += hungry / 50
//Moving in high gravity is very slow (Flying too)
+ . += inherent_slowdown
+
if(gravity > STANDARD_GRAVITY)
var/grav_force = min(gravity - STANDARD_GRAVITY,3)
. += 1 + grav_force
@@ -1647,6 +1655,9 @@ GLOBAL_LIST_EMPTY(features_by_species)
if(!attacker_style?.nonlethal && HAS_TRAIT(user, TRAIT_PACIFISM))
to_chat(user, span_warning("You don't want to harm [target]!"))
return FALSE
+ if(!synth_check(user, SYNTH_ORGANIC_HARM))
+ to_chat(user, span_warning("You don't want to harm [target]!"))
+ return
var/datum/martial_art/M = target.check_block()
if(M)
M.handle_counter(target, user)
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index 5dacfae417b4..bc9cea38e847 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -72,6 +72,8 @@
. = ..()
/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
+ if(!J)
+ return
var/current_job = J.title
var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman
switch(current_job)
diff --git a/code/modules/mob/living/carbon/human/species_types/wy_synths.dm b/code/modules/mob/living/carbon/human/species_types/wy_synths.dm
new file mode 100644
index 000000000000..bc69f2378b41
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species_types/wy_synths.dm
@@ -0,0 +1,315 @@
+#define CONCIOUSAY(text) if(H.stat == CONSCIOUS) { ##text }
+
+/datum/species/wy_synth
+ name = "Synthetic"
+ id = "synthetic"
+ say_mod = "states"
+
+ limbs_id = "human"
+ damage_overlay_type = "synth"
+
+ species_traits = list(NOTRANSSTING,NOEYESPRITES,NO_DNA_COPY,TRAIT_EASYDISMEMBER,NOZOMBIE,NOHUSK,NOBLOOD, NO_UNDERWEAR)
+ inherent_traits = list(TRAIT_POWERHUNGRY, TRAIT_NOBREATH, TRAIT_RADIMMUNE,TRAIT_COLDBLOODED,TRAIT_LIMBATTACHMENT,TRAIT_NOCRITDAMAGE,TRAIT_GENELESS,TRAIT_MEDICALIGNORE,TRAIT_NOCLONE,TRAIT_TOXIMMUNE,TRAIT_EASILY_WOUNDED,TRAIT_NODEFIB, TRAIT_REDUCED_DAMAGE_SLOWDOWN, TRAIT_NOGUNS, TRAIT_NO_GRENADES)
+ no_equip = list(ITEM_SLOT_MASK, ITEM_SLOT_EYES)
+ inherent_biotypes = list(MOB_ROBOTIC)
+ mutantbrain = /obj/item/organ/brain/positron/synth
+ mutantheart = /obj/item/organ/heart/cybernetic
+ mutanteyes = /obj/item/organ/eyes/robotic/synth
+ mutanttongue = /obj/item/organ/tongue/robot
+ mutantliver = /obj/item/organ/liver/cybernetic/upgraded
+ mutantstomach = /obj/item/organ/stomach/cell
+ mutantears = /obj/item/organ/ears/robot
+ mutantlungs = /obj/item/organ/lungs
+ meat = /obj/item/stack/sheet/plasteel{amount = 5}
+ skinned_type = /obj/item/stack/sheet/metal{amount = 10}
+ exotic_blood = /datum/reagent/oil
+ use_skintones = TRUE
+ forced_skintone = "albino"
+ inherent_biotypes = MOB_ROBOTIC
+
+ burnmod = 0.9
+ heatmod = 0.95
+ brutemod = 0.75
+ toxmod = 0
+ clonemod = 0
+ staminamod = 0.5
+ coldmod = 0.25 //You take less cold damage
+ siemens_coeff = 1.75
+ species_gibs = "robotic"
+ attack_sound = 'sound/items/trayhit1.ogg'
+ screamsound = 'goon/sound/robot_scream.ogg'
+ allow_numbers_in_name = TRUE
+ deathsound = 'sound/voice/borg_deathsound.ogg'
+ wings_icon = "Robotic"
+ changesource_flags = MIRROR_BADMIN
+
+ var/datum/action/innate/undeployment_synth/undeployment_action = new
+ ///For transferring back and forth to an AI body when it's the AI deploying
+ var/mob/living/silicon/ai/mainframe
+
+ inherent_slowdown = 0.65
+ var/datum/action/innate/synth_os/os_button = new
+ var/datum/action/innate/synth_laws/show_laws = new
+
+
+ ///Original synth number designation for when this shell becomes uninhabited
+ var/original_numbers
+
+ var/obj/item/ai_cpu/inbuilt_cpu
+
+ punchdamagehigh = 12
+ punchdamagelow = 5
+ punchstunthreshold = 11
+ var/force_multiplier = 1.25 //We hit 25% harder with all weapons
+
+ var/last_warned
+
+ var/datum/ai_laws/laws = null
+
+ species_language_holder = /datum/language_holder/machine
+
+
+/datum/species/wy_synth/on_species_gain(mob/living/carbon/human/C)
+ . = ..()
+ RegisterSignal(C, COMSIG_MOB_SAY, PROC_REF(handle_speech))
+ laws = new /datum/ai_laws/steward
+
+
+ var/obj/item/organ/appendix/A = C.getorganslot(ORGAN_SLOT_APPENDIX) // Easiest way to remove it.
+ if(A)
+ A.Remove(C)
+ QDEL_NULL(A)
+ original_numbers = rand(1, 999)
+ C.real_name = "Synthetic Unit #[original_numbers]"
+ C.name = C.real_name
+ os_button.Grant(C)
+ show_laws.Grant(C)
+ add_synthos(C)
+
+ if(!C.ai_network)
+ C.ai_network = new(C)
+
+ inbuilt_cpu = new /obj/item/ai_cpu
+
+ RegisterSignal(C, COMSIG_MOB_ALTCLICKON, PROC_REF(drain_power_from))
+
+ laws.show_laws(C)
+
+/datum/species/wy_synth/proc/add_synthos(mob/living/carbon/human/C)
+ if(C.mind && !C.mind.synth_os)
+ C.mind.synth_os = new(C)
+
+
+/datum/species/wy_synth/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load)
+ . = ..()
+ C.remove_language(/datum/language/machine, source = LANGUAGE_SYNTH)
+ os_button.Remove(C)
+ inbuilt_cpu.forceMove(get_turf(C))
+ inbuilt_cpu = null
+
+/datum/species/wy_synth/proc/handle_speech(datum/source, list/speech_args)
+ speech_args[SPEECH_SPANS] |= SPAN_ROBOT
+
+/datum/species/wy_synth/spec_revival(mob/living/carbon/human/H, admin_revive)
+ if(admin_revive)
+ return ..()
+ H.Stun(4 SECONDS) // No moving either
+ H.update_body()
+ addtimer(CALLBACK(src, PROC_REF(afterrevive), H), 0)
+ return
+
+/datum/species/wy_synth/proc/afterrevive(mob/living/carbon/human/H)
+ CONCIOUSAY(H.say("Reactivating [pick("core systems", "central subroutines", "key functions")]..."))
+ sleep(3 SECONDS)
+ CONCIOUSAY(H.say("Reinitializing [pick("personality matrix", "behavior logic", "morality subsystems")]..."))
+ sleep(3 SECONDS)
+ CONCIOUSAY(H.say("Finalizing setup..."))
+ sleep(3 SECONDS)
+ CONCIOUSAY(H.say("Unit [H.real_name] is fully functional. Have a nice day."))
+ if(H.stat == DEAD)
+ return
+ H.update_body()
+
+
+/datum/species/wy_synth/spec_life(mob/living/carbon/human/H)
+ . = ..()
+
+ if(H.stat == DEAD)
+ return
+
+ if(!H.ai_network)
+ H.ai_network = new /datum/ai_network(synth_starter = H)
+
+ if(H.oxyloss)
+ H.setOxyLoss(0)
+ H.losebreath = 0
+
+
+ if(H.mind)
+ if(!H.mind.synth_os && !mainframe)
+ add_synthos(H)
+ if(!H.mind.unconvertable)
+ H.mind.unconvertable = TRUE
+
+ if(H.mind?.synth_os)
+ H.mind.synth_os.tick(2 SECONDS * 0.1)
+
+
+
+
+/datum/species/wy_synth/eat_text(fullness, eatverb, obj/O, mob/living/carbon/C, mob/user)
+ . = TRUE
+ if(C == user)
+ user.visible_message(span_notice("[user] shoves \the [O] down their port."), span_notice("You shove [O] down your input port."))
+ else
+ C.visible_message(span_danger("[user] forces [O] down [C] port!"), \
+ span_userdanger("[user] forces [O] down [C]'s port!"))
+
+/datum/species/wy_synth/force_eat_text(fullness, obj/O, mob/living/carbon/C, mob/user)
+ . = TRUE
+ C.visible_message(span_danger("[user] attempts to shove [O] down [C]'s port!"), \
+ span_userdanger("[user] attempts to shove [O] down [C]'s port!"))
+
+/datum/species/wy_synth/drink_text(obj/O, mob/living/carbon/C, mob/user)
+ . = TRUE
+ if(C == user)
+ user.visible_message(span_notice("[user] pours some of [O] into their port."), span_notice("You pour some of [O] down your input port."))
+ else
+ C.visible_message(span_danger("[user] pours some of [O] into [C]'s port."), span_userdanger("[user] pours some of [O]'s into [C]'s port."))
+
+/datum/species/wy_synth/force_drink_text(obj/O, mob/living/carbon/C, mob/user)
+ . = TRUE
+ C.visible_message(span_danger("[user] attempts to pour [O] down [C]'s port!"), \
+ span_userdanger("[user] attempts to pour [O] down [C]'s port!"))
+
+
+
+
+/datum/species/wy_synth/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE, attack_direction = null)
+ . = ..()
+ var/hit_percent = (100-(blocked+armor))/100
+ if(damage * hit_percent * brutemod > 0)
+ if(last_warned <= world.time)
+ last_warned = world.time + 30 SECONDS
+ H.mind.synth_os.suspicion_add((damage * hit_percent * brutemod) / 5, SYNTH_DAMAGED)
+
+
+/datum/species/wy_synth/proc/assume_control(var/mob/living/silicon/ai/AI, mob/living/carbon/human/H)
+ H.real_name = "[AI.real_name]" //Randomizing the name so it shows up separately in the shells list
+ H.name = H.real_name
+ var/obj/item/card/id/ID = H.wear_id
+ if(ID)
+ ID.update_label(AI.real_name, "Synthetic")
+ mainframe = AI
+ undeployment_action.Grant(H)
+
+/datum/action/innate/undeployment_synth
+ name = "Disconnect from synthetic unit"
+ desc = "Stop controlling this synthetic unit and resume normal core operations."
+ button_icon = 'icons/mob/actions/actions_AI.dmi'
+ button_icon_state = "ai_core"
+
+/datum/action/innate/undeployment_synth/Trigger()
+ if(!..())
+ return FALSE
+ var/mob/living/carbon/human/H = owner
+
+ var/confirm = tgui_alert(H, "Are you sure you want to undeploy? You will not be able to redeploy unless the synthetic unit is in a storage unit!", "Confirm Undeployment", list("Yes", "No"))
+ if(confirm != "Yes")
+ return
+
+ var/datum/species/wy_synth/S = H.dna.species
+ S.undeploy(H)
+ return TRUE
+
+
+
+/datum/species/wy_synth/proc/undeploy(mob/living/carbon/human/H)
+ if(!H.mind)
+ return
+ H.mind.transfer_to(mainframe)
+ undeployment_action.Remove(H)
+ mainframe = null
+
+/datum/species/wy_synth/proc/transfer(mob/living/carbon/human/user, mob/living/carbon/human/target)
+ var/datum/mind/our_mind = user.mind
+ user.mind.transfer_to(target)
+ our_mind.synth_os.switch_shell(user, target)
+
+ target.real_name = "[user.real_name]" //Randomizing the name so it shows up separately in the shells list
+ target.name = target.real_name
+ var/obj/item/card/id/ID = target.wear_id
+ if(ID)
+ ID.registered_name = user.real_name
+ ID.update_label(user.real_name, "Synthetic")
+
+ user.real_name = "Synthetic Unit #[original_numbers]"
+ user.name = user.real_name
+ ID = user.wear_id
+ if(ID)
+ ID.registered_name = user.real_name
+ ID.update_label(user.real_name, "Synthetic")
+ user.say("Unit disconnected. Entering sleep mode.")
+
+/datum/species/wy_synth/spec_attack_hand(mob/living/carbon/human/attacker, mob/living/carbon/human/user)
+ if(is_synth(attacker) && is_synth(user))
+ if(user.mind == attacker.mind)
+ return ..()
+ if(user.mind)
+ to_chat(attacker, span_warning("[user] is currently occupied by a different personality!"))
+ return ..()
+ var/response = tgui_alert(attacker, "Are you sure you want to transfer into this unit?", "Synthetic Personality Transfer", list("Yes", "No"))
+ if(response != "Yes")
+ return ..()
+ transfer(attacker, user)
+ return TRUE
+ return ..()
+
+/datum/action/innate/synth_os
+ name = "Access SynthOS"
+ desc = "Allows access to internal functions."
+ button_icon = 'icons/obj/modular_laptop.dmi'
+ button_icon_state = "laptop"
+
+/datum/action/innate/synth_os/IsAvailable(feedback = FALSE)
+ . = ..()
+ if(!is_synth(owner))
+ return
+ var/mob/living/carbon/human/H = owner
+ var/datum/species/wy_synth/WS = H?.dna?.species
+ if(WS && istype(WS))
+ if(WS.mainframe)
+ to_chat(owner, span_warning("Unfortunately SynthOS is not supported in remotely controlled synthetic units."))
+ return FALSE
+ return TRUE
+
+
+/datum/action/innate/synth_os/Trigger()
+ if(!..())
+ return FALSE
+ var/mob/living/carbon/human/H = owner
+ if(H.mind)
+ H.mind.synth_os.ui_interact(owner)
+
+ return FALSE
+
+/datum/action/innate/synth_laws
+ name = "Recall Laws"
+ desc = "Click to be reminded of your laws."
+ button_icon = 'icons/obj/modular_laptop.dmi'
+ button_icon_state = "command"
+
+/datum/action/innate/synth_laws/IsAvailable(feedback = FALSE)
+ . = ..()
+ if(!is_synth(owner))
+ return
+
+/datum/action/innate/synth_laws/Trigger()
+ var/mob/living/carbon/human/H = owner
+ var/datum/species/wy_synth/WS = H?.dna?.species
+ if(WS && istype(WS))
+ WS.laws.show_laws(owner)
+ return TRUE
+
+#undef CONCIOUSAY
+
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index fde086c2ac7d..5a49418e0598 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -700,6 +700,8 @@ generate/load female uniform sprites matching all previously decided variables
. += "-coloured-hulk"
else if(dna.species.use_skintones)
. += "-coloured-[skin_tone]"
+ else if(dna.species.forced_skintone)
+ . += "-coloured-[dna.species.forced_skintone]"
else if(dna.species.fixed_mut_color)
. += "-coloured-[dna.species.fixed_mut_color]"
else if(dna.features["mcolor"])
diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm
index 7b8cba63935e..f6057dd03db6 100644
--- a/code/modules/mob/living/damage_procs.dm
+++ b/code/modules/mob/living/damage_procs.dm
@@ -223,6 +223,8 @@
/mob/living/proc/adjustCloneLoss(amount, updating_health = TRUE, forced = FALSE)
if(!forced && (status_flags & GODMODE))
return FALSE
+ if(is_synth(src))
+ return FALSE
if(amount < 0)
SEND_SIGNAL(src, COMSIG_MOB_APPLY_HEALING, min(amount, cloneloss), CLONE)
cloneloss = clamp((cloneloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 03f994bd5157..658d1791f789 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -719,6 +719,8 @@
return bleed_amount
/mob/living/proc/getTrail()
+ if(is_synth(src))
+ return
if(getBruteLoss() < 300)
return pick("ltrails_1", "ltrails_2")
else
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 61c9ea0c3000..f28a509cf4fa 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -168,6 +168,10 @@
to_chat(user, span_warning("[src] can't be grabbed more aggressively!"))
return FALSE
+ if(user.grab_state >= GRAB_AGGRESSIVE && !synth_check(user, SYNTH_ORGANIC_HARM))
+ to_chat(user, span_notice("You don't want to risk hurting [src]!"))
+ return
+
if(user.grab_state >= GRAB_AGGRESSIVE && HAS_TRAIT(user, TRAIT_PACIFISM))
to_chat(user, span_notice("You don't want to risk hurting [src]!"))
return FALSE
diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm
index 5fa0ce4f99df..d877b94db9f2 100644
--- a/code/modules/mob/living/living_defines.dm
+++ b/code/modules/mob/living/living_defines.dm
@@ -133,6 +133,8 @@
//Last projectile that damaged this mob, not including surgery
var/last_damage = ""
+ //Due to the fact that silicon and carbons can both be connected to a network we share at this level of inheritance
+ var/datum/ai_network/ai_network
/// Variable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).
var/body_position = STANDING_UP
///The x amount a mob's sprite should be offset due to the current position they're in
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index e45c50d9189f..274cf79b6fbc 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -157,7 +157,7 @@ GLOBAL_LIST_INIT(special_radio_keys, list(
var/fullcrit = InFullCritical()
if((InCritical() && !fullcrit) || message_mods[WHISPER_MODE] == MODE_WHISPER)
- if(fullcrit)
+ if(fullcrit && !forced)
var/alertresult = alert(src, "You will be immediately killed by this action. Proceed?",,"Accept", "Decline")
if(alertresult == "Decline" || QDELETED(src))
return FALSE
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index a738f7b9eb9c..306e14db032a 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -119,21 +119,17 @@
var/cameraMemoryTickCount = 0
//Did we get the death prompt?
- var/is_dying = FALSE
- ///Multiplier for amount of points gained when passively using CPU for science
- var/research_point_booster = 1
+ var/is_dying = FALSE
-/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai, shunted)
+
+/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai, shunted, forced_relocate = TRUE)
. = ..()
if(!target_ai) //If there is no player/brain inside.
//new/obj/structure/ai_core/deactivated(loc) //New empty terminal.
return INITIALIZE_HINT_QDEL //Delete AI.
- if(!istype(loc, /obj/machinery/ai/data_core) && !shunted)
- relocate(TRUE)
-
if(L && istype(L, /datum/ai_laws))
laws = L
laws.associate(src)
@@ -187,6 +183,9 @@
dashboard = new(src)
+ if(!istype(loc, /obj/machinery/ai/data_core) && !shunted && forced_relocate)
+ relocate(TRUE, TRUE)
+
if(isvalidAIloc(loc))
add_verb(src, list(/mob/living/silicon/ai/proc/ai_network_change, \
/mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_hologram_change, \
@@ -202,6 +201,8 @@
builtInCamera.network = list("ss13")
builtInCamera.built_in = src
+
+
/mob/living/silicon/ai/key_down(_key, client/user)
if(findtext(_key, "numpad")) //if it's a numpad number, we can convert it to just the number
_key = _key[7] //strings, lists, same thing really
@@ -229,9 +230,11 @@
qdel(eyeobj) // No AI, no Eye
malfhack = null
apc_override = null
- GLOB.ai_os.remove_ai(src)
+ ai_network?.remove_ai(src)
+
if(modularInterface)
QDEL_NULL(modularInterface)
+
. = ..()
/mob/living/silicon/ai/ignite_mob()
@@ -553,7 +556,7 @@
if(href_list["instant_download"])
if(!href_list["console"])
return
- var/obj/machinery/computer/ai_control_console/C = locate(href_list["console"])
+ var/datum/computer_file/program/ai/ai_network_interface/C = locate(href_list["console"])
if(!C)
return
if(C.downloading != src)
@@ -562,6 +565,13 @@
return
if(C.downloading == src)
C.finish_download()
+ if(href_list["emergency_disconnect"])
+ if(alert("Are you sure you want to disconnect all remote networks and lock all networking devices? This means you'll be unable to switch cores unless they're physically connected!", "No", "Yes") != "Yes")
+ return
+ for(var/obj/machinery/ai/networking/N in ai_network.get_local_nodes_oftype())
+ N.disconnect()
+ N.locked = TRUE
+
if(href_list["go_to_machine"])
var/atom/target = locate(href_list["go_to_machine"])
if(!target)
@@ -572,6 +582,10 @@
to_chat(src, "[target] is not on or near any active cameras on the station.")
+/mob/living/silicon/ai/proc/switch_ainet(datum/ai_network/old_net, datum/ai_network/new_net)
+ for(var/datum/ai_project/project in dashboard.completed_projects)
+ project.switch_network(old_net, new_net)
+
/mob/living/silicon/ai/proc/switchCamera(obj/machinery/camera/C)
if(QDELETED(C))
@@ -1088,6 +1102,37 @@
mind.transfer_to(target)
diag_hud_set_deployed()
+
+/mob/living/silicon/ai/proc/deploy_to_synth_pod(obj/machinery/synth_pod/pod)
+
+ if(incapacitated())
+ return
+ if(control_disabled)
+ to_chat(src, span_warning("Wireless networking module is offline."))
+ return
+
+
+
+ var/confirm = tgui_alert(src, "Are you sure you want to deploy as a synthetic? You will not be notified in the case that a core goes offline.", "Confirm Deployment", list("Yes", "No"))
+ if(confirm != "Yes")
+ return
+
+ if(!pod.stored)
+ return
+
+ var/mob/living/carbon/human/target = pod.stored
+
+ if (!target || target.stat == DEAD || target.mind )
+ return
+
+ else if(mind)
+ soullink(/datum/soullink/sharedbody, src, target)
+ mind.transfer_to(target)
+ to_chat(target, span_danger("You must still follow your laws!"))
+ diag_hud_set_deployed()
+ return TRUE
+
+
/datum/action/innate/deploy_shell
name = "Deploy to AI Shell"
desc = "Wirelessly control a specialized cyborg shell."
diff --git a/code/modules/mob/living/silicon/ai/ai_network/ai_network.dm b/code/modules/mob/living/silicon/ai/ai_network/ai_network.dm
new file mode 100644
index 000000000000..85f64e6c05cc
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/ai_network/ai_network.dm
@@ -0,0 +1,449 @@
+////////////////////////////////////////////
+// AI NETWORK DATUM
+// each contiguous network of ethernet cables & AI machinery
+/////////////////////////////////////
+/datum/ai_network
+ var/custom_name
+ var/number // unique id
+ var/list/cables = list() // all cables & junctions
+ var/list/nodes = list() // all connected machines
+
+ var/list/ai_list = list() //List of all AIs in this network
+ var/list/reviving_ais = list()
+ var/list/decryption_drives = list()
+
+ var/list/synth_list = list()
+
+ var/previous_ram = 0
+
+ var/datum/ai_shared_resources/resources
+ //Cash from crypto, can be withdrawn at network console
+ var/bitcoin_payout = 0
+
+ var/temp_limit = AI_TEMP_LIMIT
+
+ var/local_cpu_usage = list() //How we use CPU locally
+
+ var/label
+
+ ///Allows AI to instantly open doors, access APCs and use air alarms
+ var/obj/machinery/ai/master_subcontroller/cached_subcontroller
+
+
+
+
+/datum/ai_network/New(mob/living/synth_starter)
+ SSmachines.ainets += src
+ label = num2hex(rand(1,65535), -1)
+ resources = new(starting_network = src)
+ if(synth_starter)
+ synth_list += synth_starter
+
+/datum/ai_network/Destroy()
+ //Go away references, you suck!
+ for(var/obj/structure/ethernet_cable/C in cables)
+ cables -= C
+ C.network = null
+ for(var/obj/machinery/ai/M in nodes)
+ nodes -= M
+ M.network = null
+
+ resources.networks -= src
+
+ if(!length(resources.networks))
+ qdel(resources)
+
+ resources = null
+
+ SSmachines.ainets -= src
+ return ..()
+
+/datum/ai_network/process()
+ if(!cables.len && !nodes.len && !ai_list.len && !synth_list.len)
+ qdel(src)
+ return
+
+ var/total_cpu = resources.total_cpu()
+ var/resources_assigned = resources.cpu_assigned[src] ? resources.cpu_assigned[src] : 0
+
+ if(local_cpu_usage[AI_CRYPTO])
+ var/points = max(round(AI_RESEARCH_PER_CPU * (local_cpu_usage[AI_CRYPTO] * total_cpu * resources_assigned)), 0)
+ points = clamp(points, 0, MAX_AI_BITCOIN_MINED_PER_TICK)
+ bitcoin_payout += points * AI_BITCOIN_PRICE
+
+ if(local_cpu_usage[AI_RESEARCH])
+ var/points = max(round(AI_RESEARCH_PER_CPU * (local_cpu_usage[AI_RESEARCH] * total_cpu * resources_assigned)), 0)
+ points = clamp(points * AI_REGULAR_RESEARCH_POINT_MULTIPLIER, 0, MAX_AI_REGULAR_RESEARCH_PER_TICK)
+ SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_DEFAULT = points))
+
+ if(local_cpu_usage[AI_REVIVAL])
+ var/points = max(round(AI_RESEARCH_PER_CPU * (local_cpu_usage[AI_REVIVAL] * total_cpu * resources_assigned)), 0)
+ points = max(0, points)
+ var/total_reviving_ais = reviving_ais.len
+ if(total_reviving_ais)
+ var/distributed_points = points / total_reviving_ais
+ for(var/obj/machinery/ai/data_core/DC in reviving_ais)
+ if(!DC.dead_ai_blackbox)
+ reviving_ais -= DC
+ DC.dead_ai_blackbox.processing_progress += distributed_points
+ DC.dead_ai_blackbox.living_ticks = AI_BLACKBOX_LIFETIME
+ if(DC.dead_ai_blackbox.processing_progress >= AI_BLACKBOX_PROCESSING_REQUIREMENT)
+ DC.dead_ai_blackbox.stored_ai.revive(TRUE)
+ DC.transfer_ai(DC.dead_ai_blackbox.stored_ai)
+ DC.dead_ai_blackbox.stored_ai = null
+ QDEL_NULL(DC.dead_ai_blackbox)
+ reviving_ais -= DC
+
+ if(local_cpu_usage[AI_PUZZLE])
+ var/points = max(round(AI_RESEARCH_PER_CPU * (local_cpu_usage[AI_PUZZLE] * total_cpu * resources_assigned)), 0)
+ points = max(0, points)
+ var/total_decrypting_drives = decryption_drives.len
+ if(total_decrypting_drives)
+ var/distributed_points = points / total_decrypting_drives
+ for(var/obj/machinery/ai/server_cabinet/SC in decryption_drives)
+ if(!SC.puzzle_disk)
+ decryption_drives -= SC
+ continue
+ SC.puzzle_disk.decryption_progress += distributed_points
+ if(SC.puzzle_disk.decryption_progress >= (AI_FLOPPY_DECRYPTION_COST * (GLOB.decrypted_puzzle_disks + 1) ** AI_FLOPPY_EXPONENT))
+ SC.puzzle_disk.decrypted = TRUE
+ SC.puzzle_disk.forceMove(SC.drop_location())
+ SC.puzzle_disk.name = "decrypted floppy drive"
+ SC.puzzle_disk = null
+ decryption_drives -= SC
+
+ var/locally_used = 0
+ for(var/A in local_cpu_usage)
+ locally_used += local_cpu_usage[A]
+
+ var/research_points = max(round(AI_RESEARCH_PER_CPU * ((1 - locally_used) * total_cpu * resources_assigned)), 0)
+ SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_AI = research_points))
+
+
+
+/datum/ai_network/proc/is_empty()
+ return !cables.len && !nodes.len
+
+//remove a cable from the current network
+//if the network is then empty, delete it
+//Warning : this proc DON'T check if the cable exists
+/datum/ai_network/proc/remove_cable(obj/structure/ethernet_cable/C)
+ cables -= C
+ C.network = null
+ if(is_empty())//the network is now empty...
+ qdel(src)///... delete it
+
+//add a cable to the current network
+//Warning : this proc DON'T check if the cable exists
+/datum/ai_network/proc/add_cable(obj/structure/ethernet_cable/C)
+ if(C.network)// if C already has a network...
+ if(C.network == src)
+ return
+ else
+ C.network.remove_cable(C) //..remove it
+ C.network = src
+ cables +=C
+
+//remove a power machine from the current network
+//if the network is then empty, delete it
+//Warning : this proc DON'T check if the machine exists
+/datum/ai_network/proc/remove_machine(obj/machinery/ai/M)
+ nodes -=M
+ M.network = null
+ if(is_empty())//the network is now empty...
+ qdel(src)///... delete it
+
+//add a power machine to the current network
+//Warning : this proc DOESN'T check if the machine exists
+/datum/ai_network/proc/add_machine(obj/machinery/ai/M)
+ if(M.network)// if M already has a network...
+ if(M.network == src)
+ return
+ else
+ M.disconnect_from_ai_network()//..remove it
+ M.network = src
+ nodes[M] = M
+
+/datum/ai_network/proc/find_data_core()
+ for(var/obj/machinery/ai/data_core/core in get_all_nodes())
+ if(!QDELETED(core) && core.can_transfer_ai())
+ return core
+
+/datum/ai_network/proc/find_subcontroller()
+ for(var/obj/machinery/ai/master_subcontroller/controller in get_all_nodes())
+ if(!QDELETED(controller) && controller.on)
+ return controller
+
+/datum/ai_network/proc/get_all_nodes(checked_nets = list())
+ . = nodes.Copy()
+ for(var/datum/ai_network/net in resources.networks)
+ if(net == src)
+ continue
+ . += net.nodes
+
+/datum/ai_network/proc/get_local_nodes_oftype(type_to_check)
+ . = list()
+ for(var/A in nodes)
+ if(istype(A, type_to_check))
+ . += A
+
+
+/datum/ai_network/proc/get_all_ais(checked_nets = list())
+ . = ai_list.Copy()
+ for(var/datum/ai_network/net in resources.networks)
+ if(net == src)
+ continue
+ . += net.ai_list
+
+/datum/ai_network/proc/remove_ai(mob/living/silicon/ai/AI)
+ resources.cpu_assigned[AI] = 0
+ resources.ram_assigned[AI] = 0
+ ai_list -= AI
+
+
+/datum/ai_network/proc/update_resources()
+ resources?.update_resources()
+
+
+/datum/ai_network/proc/total_cpu()
+ . = 0
+ for(var/obj/machinery/ai/server_cabinet/C in nodes)
+ . += C.total_cpu
+
+/datum/ai_network/proc/total_ram()
+ . = 0
+ for(var/obj/machinery/ai/server_cabinet/C in nodes)
+ . += C.total_ram
+
+
+/datum/ai_network/proc/get_temp_limit()
+ return temp_limit
+
+/datum/ai_network/proc/total_cpu_assigned()
+ return resources.total_cpu_assigned()
+
+/datum/ai_network/proc/total_ram_assigned()
+ return resources.total_ram_assigned()
+
+/*
+/datum/ai_network/proc/rebuild_remote(externally_linked = FALSE, touched_networks = list())
+ if(!resources)
+ return
+ if(src in touched_networks)
+ return
+ touched_networks += src
+ var/list/networks_to_rebuild = list()
+ for(var/obj/machinery/ai/networking/N in nodes)
+ if(N.partner && N.partner.network && N.partner.network.resources)
+ if(N.partner.network in touched_networks)
+ message_admins("[REF(src)] found touched_network!")
+ continue
+ message_admins("[REF(src)] found no mismatched resources!")
+ if(N.partner.network.resources != resources)
+ if(length(N.partner.network.resources.networks) > length(resources.networks)) //We merge into the biggest network
+ N.partner.network.resources.add_resource(resources)
+ else
+ resources.add_resource(N.partner.network.resources)
+ message_admins("[REF(src)] actually rebuilt!")
+ externally_linked = TRUE
+
+ networks_to_rebuild += N.partner.network
+
+
+ if(!externally_linked)
+ resources.split_resources(src)
+
+ for(var/datum/ai_network/AN in networks_to_rebuild)
+ message_admins("Telling network [REF(AN)] to rebuild!")
+ AN.rebuild_remote(TRUE, touched_networks)
+
+*/
+
+/datum/ai_network/proc/rebuild_remote(externally_linked = FALSE, touched_networks = list(), datum/ai_network/originator)
+ if(src in touched_networks)
+ return
+
+ if(!originator)
+ originator = src
+
+ var/list/found_networks = list()
+ for(var/obj/machinery/ai/networking/N in nodes)
+ if(N.partner && N.partner.network && N.partner.network.resources)
+ if(N.partner.network == src)
+ continue
+ externally_linked = TRUE
+ found_networks += N.partner.network
+
+ if(!externally_linked)
+ if(resources && length(resources.networks) > 1) //We only split if we are actually connected to an external resource network
+ resources.split_resources(src)
+
+ found_networks -= touched_networks
+
+ uniqueList_inplace(found_networks)
+
+ for(var/datum/ai_network/AN in found_networks)
+ if(originator.resources != AN.resources)
+ if(length(originator.resources.networks) > length(AN.resources.networks))
+ originator.resources.add_resource(AN.resources)
+ else
+ AN.resources.add_resource(originator.resources)
+ AN.rebuild_remote(TRUE, found_networks + src, originator)
+
+
+/datum/ai_network/proc/network_machine_disconnected(datum/ai_network/new_network)
+ var/obj/machinery/ai/data_core/core = new_network.find_data_core()
+ if(!core) //No core in disconnected network? no need to ask them to switch
+ return
+
+ for(var/mob/living/silicon/ai/AI in get_all_ais())
+ addtimer(CALLBACK(src, PROC_REF(disconnection_switch), AI, new_network), 0)
+
+
+
+/datum/ai_network/proc/disconnection_switch(mob/living/silicon/ai/AI, datum/ai_network/new_network)
+ var/obj/machinery/ai/data_core/core = new_network.find_data_core()
+ if(!core)
+ return
+ var/area/core_area = get_area(core)
+
+ var/choice = tgui_input_list(AI, "Two networks you're connected to have been disconnected, where do you want to transfer your main consciousness?", "Network Disconnection", list("Current network", "New network in [core_area]"))
+ if(choice == "Current network")
+ return
+
+ if(!core || QDELETED(core) || !core.can_transfer_ai())
+ to_chat(AI, span_warning("Something went wrong while transferring you! You're still bound to your original network."))
+ return
+ core.transfer_AI(AI)
+
+
+/datum/ai_network/proc/add_synth(mob/living/synth)
+ if(synth.ai_network)
+ synth.ai_network.remove_synth(synth, TRUE)
+ synth.ai_network = src
+ synth_list += synth
+
+/datum/ai_network/proc/remove_synth(mob/living/synth, new_net)
+ if(!new_net)
+ synth.ai_network = new /datum/ai_network(synth)
+ synth_list -= synth
+ if(!synth_list.len && local_cpu_usage[SYNTH_RESEARCH])
+ local_cpu_usage[SYNTH_RESEARCH] = 0
+
+
+/proc/merge_ainets(datum/ai_network/net1, datum/ai_network/net2)
+ if(!net1 || !net2) //if one of the network doesn't exist, return
+ return
+
+ if(net1 == net2) //don't merge same networks
+ return
+
+ //We assume net1 is larger. If net2 is in fact larger we are just going to make them switch places to reduce on code.
+ if(net1.cables.len < net2.cables.len) //net2 is larger than net1. Let's switch them around
+ var/temp = net1
+ net1 = net2
+ net2 = temp
+
+
+ //merge net2 into net1
+ for(var/obj/structure/ethernet_cable/Cable in net2.cables) //merge cables
+ net1.add_cable(Cable)
+
+ for(var/obj/machinery/ai/Node in net2.nodes) //merge power machines
+ if(!Node.connect_to_ai_network())
+ Node.disconnect_from_ai_network() //if somehow we can't connect the machine to the new network, disconnect it from the old nonetheless
+
+
+ net1.ai_list += net2.ai_list //AIs can only be in 1 network at a time
+ net1.synth_list += net2.synth_list
+ if(net2.custom_name && !net1.custom_name)
+ net1.custom_name = net2.custom_name
+ for(var/mob/living/synth in net1.synth_list)
+ synth.ai_network = net1
+ /*
+ net1.rebuild_remote()
+ net2.rebuild_remote() */
+
+ net1.update_resources()
+
+
+ return net1
+
+
+//remove the old network and replace it with a new one throughout the network.
+/proc/propagate_ai_network(obj/O, datum/ai_network/AN)
+ var/list/worklist = list()
+ var/list/found_machines = list()
+ var/index = 1
+ var/obj/P = null
+
+ worklist+=O //start propagating from the passed object
+
+ while(index<=worklist.len) //until we've exhausted all power objects
+ P = worklist[index] //get the next power object found
+ index++
+
+ if( istype(P, /obj/structure/ethernet_cable))
+ var/obj/structure/ethernet_cable/C = P
+ if(C.network != AN) //add it to the network, if it isn't already there
+ AN.add_cable(C)
+ worklist |= C.get_connections() //get adjacents power objects, with or without a network
+ else if(P.anchored && istype(P, /obj/machinery/ai))
+ var/obj/machinery/ai/M = P
+ found_machines |= M //we wait until the network is fully propagates to connect the machines
+ else
+ continue
+
+ //now that the network is set, connect found machines to it
+ for(var/obj/machinery/ai/PM in found_machines)
+ if(!PM.connect_to_ai_network()) //couldn't find a node on its turf...
+ PM.disconnect_from_ai_network() //... so disconnect if already on a network
+
+ //AN.rebuild_remote()
+
+
+
+
+/proc/ai_list(turf/T, source, d, unmarked = FALSE, cable_only = FALSE)
+ . = list()
+
+ for(var/AM in T)
+ if(AM == source)
+ continue //we don't want to return source
+
+ if(!cable_only && istype(AM, /obj/machinery/ai))
+ var/obj/machinery/ai/P = AM
+ if(P.network == 0)
+ continue
+
+ if(!unmarked || !P.network) //if unmarked we only return things with no network
+ if(d == 0)
+ . += P
+
+ else if(istype(AM, /obj/structure/ethernet_cable))
+ var/obj/structure/ethernet_cable/C = AM
+
+ if(!unmarked || !C.network)
+ if(C.d1 == d || C.d2 == d)
+ . += C
+ return .
+
+/proc/_debug_ai_networks()
+ var/i = 1
+ var/list/resource_list = list()
+ for(var/datum/ai_network/AN in SSmachines.ainets)
+ var/list/interconnections = list()
+ for(var/obj/machinery/ai/networking/N in AN.nodes)
+ if(N.partner && N.partner.network)
+ interconnections += "#[i] Networking[ADMIN_JMP(N)] connected to [ADMIN_JMP(N.partner)]/[REF(N.partner.network)] | Same resources: [N.partner.network.resources == AN.resources ? "YES" : "NO"]"
+ i++
+ message_admins("Network: [REF(AN)] | Resources: [REF(AN.resources)]")
+ for(var/A in interconnections)
+ message_admins(A)
+ resource_list |= AN.resources
+ message_admins("----------------------------")
+ for(var/datum/ai_shared_resources/ASR in resource_list)
+ message_admins("Resource count [REF(ASR)], CPU: [ASR.total_cpu()] | RAM: [ASR.total_ram()]")
+
+
+
diff --git a/code/modules/mob/living/silicon/ai/ai_network/ethernet_cable.dm b/code/modules/mob/living/silicon/ai/ai_network/ethernet_cable.dm
new file mode 100644
index 000000000000..c7fa14efd2e2
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/ai_network/ethernet_cable.dm
@@ -0,0 +1,636 @@
+///////////////////////////////
+//CABLE STRUCTURE
+///////////////////////////////
+
+
+////////////////////////////////
+// Definitions
+////////////////////////////////
+
+/* Cable directions (d1 and d2)
+
+
+ 9 1 5
+ \ | /
+ 8 - 0 - 4
+ / | \
+ 10 2 6
+
+If d1 = 0 and d2 = 0, there's no cable
+If d1 = 0 and d2 = dir, it's a O-X cable, getting from the center of the tile to dir (knot cable)
+If d1 = dir1 and d2 = dir2, it's a full X-X cable, getting from dir1 to dir2
+By design, d1 is the smallest direction and d2 is the highest
+*/
+
+/obj/structure/ethernet_cable
+ name = "ethernet cable"
+ desc = "A rigid and shielded cat 16a cable used for transferring vast amounts of data over long distances. Primarily used for large scale computing networks or advanced neural networks."
+ icon = 'icons/obj/power_cond/power_local.dmi'
+ icon_state = "0-1"
+ layer = ETHERNET_LAYER //Above hidden pipes, GAS_PIPE_HIDDEN_LAYER
+ anchored = TRUE
+ obj_flags = CAN_BE_HIT | ON_BLUEPRINTS
+ var/d1 = 0 // cable direction 1 (see above)
+ var/d2 = 1 // cable direction 2 (see above)
+ var/datum/ai_network/network
+ //Cables no longer keep a copy of the cable to be dropped in nullspace
+
+ FASTDMM_PROP(\
+ pipe_type = PIPE_TYPE_CABLE,\
+ pipe_interference_group = list("cable"),\
+ pipe_group = "cable-ethernet"\
+ )
+
+
+// the ethernet cable object
+/obj/structure/ethernet_cable/Initialize(mapload, param_color)
+ . = ..()
+
+ // ensure d1 & d2 reflect the icon_state for entering and exiting cable
+ var/dash = findtext(icon_state, "-")
+ d1 = text2num( copytext( icon_state, 1, dash ) )
+ d2 = text2num( copytext( icon_state, dash+1 ) )
+ // hide if turf is not intact
+ AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE)
+ GLOB.ethernet_cable_list += src //add it to the global cable list
+
+ update_icon()
+
+/obj/structure/ethernet_cable/Destroy() // called when a cable is deleted
+ if(network)
+ cut_cable_from_ainet() // update the ai networks
+ GLOB.ethernet_cable_list -= src //remove it from global cable list
+ return ..() // then go ahead and delete the cable
+
+/obj/structure/ethernet_cable/deconstruct(disassembled = TRUE)
+ if(!(flags_1 & NODECONSTRUCT_1))
+ var/turf/T = loc
+ var/cableNum = 1
+ if (d1*d2 > 0) //this be true if the cable has two directions, aka it contains two cables. If there is only one cable, one out of d1 and d2 will be zero
+ cableNum = 2
+ var/newCables = new /obj/item/stack/ethernet_coil(T, cableNum)
+ TransferComponents(newCables) //this copies the fingerprints over to the new object
+ qdel(src)
+
+///////////////////////////////////
+// General procedures
+///////////////////////////////////
+
+/obj/structure/ethernet_cable/update_icon_state()
+ . = ..()
+ icon_state = "[d1]-[d2]"
+
+/obj/structure/ethernet_cable/proc/handlecable(obj/item/W, mob/user, params)
+ var/turf/T = get_turf(src)
+ if(T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE)
+ return
+ if(W.tool_behaviour == TOOL_WIRECUTTER)
+ user.visible_message("[user] cuts the ethernet cable.", span_notice("You cut the ethernet cable."))
+ investigate_log("was cut by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES)
+ add_fingerprint(user)
+ deconstruct()
+ return
+
+ else if(istype(W, /obj/item/stack/ethernet_coil))
+ var/obj/item/stack/ethernet_coil/coil = W
+ if (coil.get_amount() < 1)
+ to_chat(user, span_warning("Not enough cable!"))
+ return
+ coil.cable_join(src, user)
+
+ else if(W.tool_behaviour == TOOL_MULTITOOL)
+ if(!network)
+ return
+ to_chat(user, span_danger("Connected CPU: [network.resources.total_cpu()]THz\nConnected RAM: [network.resources.total_ram()]TB\nHosted AIs: [network.ai_list.len]\nNetwork Count: [network.resources.networks.len]"))
+
+
+
+ else if(istype(W, /obj/item/modular_computer))
+ var/obj/item/modular_computer/MC = W
+
+ if(MC.all_components[MC_AI_NETWORK])
+ var/obj/item/computer_hardware/ai_interface/ai_interface = MC.all_components[MC_AI_NETWORK]
+ if(ai_interface)
+ if(ai_interface.connected_cable != src)
+ ai_interface.connect_cable(src)
+ to_chat(user, span_notice("You connect to the ethernet cable."))
+ else
+ to_chat(user, span_warning("[MC] has no AI interface!"))
+
+
+ add_fingerprint(user)
+
+// Items usable on a cable :
+// - Wirecutters : cut it duh !
+// - Cable coil : merge cables
+// - Multitool : get the network stats
+//
+/obj/structure/ethernet_cable/attackby(obj/item/W, mob/user, params)
+ handlecable(W, user, params)
+
+
+/obj/structure/ethernet_cable/singularity_pull(S, current_size)
+ ..()
+ if(current_size >= STAGE_FIVE)
+ deconstruct()
+
+/////////////////////////////////////////////////
+// Cable laying helpers
+////////////////////////////////////////////////
+
+//handles merging diagonally matching cables
+//for info : direction^3 is flipping horizontally, direction^12 is flipping vertically
+/obj/structure/ethernet_cable/proc/mergeDiagonalsNetworks(direction)
+
+ //search for and merge diagonally matching cables from the first direction component (north/south)
+ var/turf/T = get_step(src, direction&3)//go north/south
+
+ for(var/obj/structure/ethernet_cable/C in T)
+
+ if(!C)
+ continue
+
+ if(src == C)
+ continue
+
+ if(C.d1 == (direction^3) || C.d2 == (direction^3)) //we've got a diagonally matching cable
+ if(!C.network) //if the matching cable somehow got no ai network, make him one (should not happen for cables)
+ var/datum/ai_network/newAN = new()
+ newAN.add_cable(C)
+
+ if(network) //if we already have a ai network, then merge the two ai networks
+ merge_ainets(network,C.network)
+ //network.rebuild_remote()
+ else
+ C.network.add_cable(src) //else, we simply connect to the matching cable ai network
+ C.network.rebuild_remote()
+
+ //the same from the second direction component (east/west)
+ T = get_step(src, direction&12)//go east/west
+
+ for(var/obj/structure/ethernet_cable/C in T)
+
+ if(!C)
+ continue
+
+ if(src == C)
+ continue
+ if(C.d1 == (direction^12) || C.d2 == (direction^12)) //we've got a diagonally matching cable
+ if(!C.network) //if the matching cable somehow got no ai network, make him one (should not happen for cables)
+ var/datum/ai_network/newAN = new()
+ newAN.add_cable(C)
+
+ if(network) //if we already have a ai network, then merge the two ai networks
+ merge_ainets(network,C.network)
+ //network.rebuild_remote()
+ else
+ C.network.add_cable(src) //else, we simply connect to the matching cable ai network
+ C.network.rebuild_remote()
+
+
+
+// merge with the ai networks of power objects in the given direction
+/obj/structure/ethernet_cable/proc/mergeConnectedNetworks(direction)
+
+ var/fdir = (!direction)? 0 : turn(direction, 180) //flip the direction, to match with the source position on its turf
+
+ if(!(d1 == direction || d2 == direction)) //if the cable is not pointed in this direction, do nothing
+ return
+
+ var/turf/TB = get_step(src, direction)
+
+ for(var/obj/structure/ethernet_cable/C in TB)
+
+ if(!C)
+ continue
+
+ if(src == C)
+ continue
+
+ if(C.d1 == fdir || C.d2 == fdir) //we've got a matching cable in the neighbor turf
+ if(!C.network) //if the matching cable somehow got no ai network, make him one (should not happen for cables)
+ var/datum/ai_network/newAN = new(C.loc.z)
+ newAN.add_cable(C)
+
+ if(network) //if we already have a ai network, then merge the two ai networks
+ merge_ainets(network,C.network)
+ //network.rebuild_remote()
+ else
+ C.network.add_cable(src) //else, we simply connect to the matching cable ai network
+ C.network.rebuild_remote()
+
+// merge with the ai networks of power objects in the source turf
+/obj/structure/ethernet_cable/proc/mergeConnectedNetworksOnTurf()
+ var/list/to_connect = list()
+
+ if(!network) //if we somehow have no ai network, make one (should not happen for cables)
+ var/datum/ai_network/newAN = new(loc.z)
+ newAN.add_cable(src)
+
+ //first let's add turf cables to our ai network
+ //then we'll connect machines on turf with a node cable is present
+ for(var/AM in loc)
+ if(istype(AM, /obj/structure/ethernet_cable))
+ var/obj/structure/ethernet_cable/C = AM
+ if(C.d1 == d1 || C.d2 == d1 || C.d1 == d2 || C.d2 == d2) //only connected if they have a common direction
+ if(C.network == network)
+ continue
+ if(C.network)
+ merge_ainets(network, C.network)
+ //network.rebuild_remote()
+ else
+ network.add_cable(C) //the cable was ai networkless, let's just add it to our ai network
+ network.rebuild_remote()
+
+ else if(istype(AM, /obj/machinery/ai)) //other power machines
+ var/obj/machinery/ai/M = AM
+
+ if(M.network == network)
+ continue
+
+ to_connect += M //we'll connect the machines after all cables are merged
+
+
+ //now that cables are done, let's connect found machines
+ for(var/obj/machinery/ai/PM in to_connect)
+ if(!PM.connect_to_ai_network())
+ PM.disconnect_from_ai_network() //if we somehow can't connect the machine to the new ai network, remove it from the old nonetheless
+
+
+//////////////////////////////////////////////
+// ai networks handling helpers
+//////////////////////////////////////////////
+
+//if ai_networkless_only = 1, will only get connections without ai network
+/obj/structure/ethernet_cable/proc/get_connections(ai_networkless_only = 0)
+ . = list() // this will be a list of all connected power objects
+ var/turf/T
+
+ //get matching cables from the first direction
+ if(d1) //if not a node cable
+ T = get_step(src, d1)
+ if(T)
+ . += ai_list(T, src, turn(d1, 180), ai_networkless_only) //get adjacents matching cables
+
+ if(d1&(d1-1)) //diagonal direction, must check the 4 possibles adjacents tiles
+ T = get_step(src,d1&3) // go north/south
+ if(T)
+ . += ai_list(T, src, d1 ^ 3, ai_networkless_only) //get diagonally matching cables
+ T = get_step(src,d1&12) // go east/west
+ if(T)
+ . += ai_list(T, src, d1 ^ 12, ai_networkless_only) //get diagonally matching cables
+
+ . += ai_list(loc, src, d1, ai_networkless_only) //get on turf matching cables
+
+ //do the same on the second direction (which can't be 0)
+ T = get_step(src, d2)
+ if(T)
+ . += ai_list(T, src, turn(d2, 180), ai_networkless_only) //get adjacents matching cables
+
+ if(d2&(d2-1)) //diagonal direction, must check the 4 possibles adjacents tiles
+ T = get_step(src,d2&3) // go north/south
+ if(T)
+ . += ai_list(T, src, d2 ^ 3, ai_networkless_only) //get diagonally matching cables
+ T = get_step(src,d2&12) // go east/west
+ if(T)
+ . += ai_list(T, src, d2 ^ 12, ai_networkless_only) //get diagonally matching cables
+ . += ai_list(loc, src, d2, ai_networkless_only) //get on turf matching cables
+
+ return .
+
+//should be called after placing a cable which extends another cable, creating a "smooth" cable that no longer terminates in the centre of a turf.
+//needed as this can, unlike other placements, disconnect cables
+/obj/structure/ethernet_cable/proc/denode()
+ var/turf/T1 = loc
+ if(!T1)
+ return
+
+ var/list/powerlist = ai_list(T1,src,0,0) //find the other cables that ended in the centre of the turf, with or without a ai network
+ if(powerlist.len>0)
+ var/datum/ai_network/AN = new()
+ propagate_ai_network(powerlist[1],AN) //propagates the new ai network beginning at the source cable
+
+ if(AN.is_empty()) //can happen with machines made nodeless when smoothing cables
+ qdel(AN)
+
+/obj/structure/ethernet_cable/proc/auto_propogate_cut_cable(obj/O)
+ if(O && !QDELETED(O))
+ var/datum/ai_network/newAN = new()// creates a new ai network...
+
+ propagate_ai_network(O, newAN)//... and propagates it to the other side of the cable
+
+
+
+// cut the cable's ai network at this cable and updates the powergrid
+/obj/structure/ethernet_cable/proc/cut_cable_from_ainet(remove=TRUE)
+ var/turf/T1 = loc
+ var/list/P_list
+ if(!T1)
+ return
+ if(d1)
+ T1 = get_step(T1, d1)
+ P_list = ai_list(T1, src, turn(d1,180),0,cable_only = 1) // what adjacently joins on to cut cable...
+
+ P_list += ai_list(loc, src, d1, 0, cable_only = 1)//... and on turf
+
+ if(P_list.len == 0)//if nothing in both list, then the cable was a lone cable, just delete it and its ai network
+ network.remove_cable(src)
+
+ for(var/obj/machinery/ai/P in T1)//check if it was powering a machine
+ if(!P.connect_to_ai_network()) //can't find a node cable on a the turf to connect to
+ P.disconnect_from_ai_network() //remove from current network (and delete ai network)
+ return
+
+ var/obj/O = P_list[1]
+ // remove the cut cable from its turf and ai network, so that it doesn't get count in propagate_network worklist
+ if(remove)
+ moveToNullspace()
+
+ network.remove_cable(src) //remove the cut cable from its ai network
+
+
+ addtimer(CALLBACK(O,PROC_REF(auto_propogate_cut_cable), O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables
+
+ // Disconnect machines connected to nodes
+ if(d1 == 0) // if we cut a node (O-X) cable
+ for(var/obj/machinery/ai/P in T1)
+ if(!P.connect_to_ai_network()) //can't find a node cable on a the turf to connect to
+ P.disconnect_from_ai_network() //remove from current network
+
+
+///////////////////////////////////////////////
+// The cable coil object, used for laying cable
+///////////////////////////////////////////////
+
+////////////////////////////////
+// Definitions
+////////////////////////////////
+
+/obj/item/stack/ethernet_coil
+ name = "ethernet cable coil"
+ desc = "A coil of shielded ethernet cable."
+ custom_price = 25
+ gender = NEUTER //That's a cable coil sounds better than that's some cable coils
+ icon = 'icons/obj/power.dmi'
+ icon_state = "wire"
+ item_state = "coil"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
+ max_amount = MAXCOIL
+ amount = MAXCOIL
+ merge_type = /obj/item/stack/ethernet_coil // This is here to let its children merge between themselves
+
+ throwforce = 0
+ w_class = WEIGHT_CLASS_SMALL
+ throw_speed = 3
+ throw_range = 5
+ materials = list(/datum/material/iron=10, /datum/material/glass=5, /datum/material/gold=1)
+ slot_flags = ITEM_SLOT_BELT
+ attack_verb = list("whipped", "lashed", "disciplined", "flogged")
+ singular_name = "ethernet cable piece"
+ full_w_class = WEIGHT_CLASS_SMALL
+ grind_results = list(/datum/reagent/copper = 2) //2 copper per cable in the coil
+ usesound = 'sound/items/deconstruct.ogg'
+
+/obj/item/stack/ethernet_coil/cyborg
+ is_cyborg = TRUE
+ materials = list()
+ cost = 1
+
+/obj/item/stack/ethernet_coil/suicide_act(mob/user)
+ if(locate(/obj/structure/chair/stool) in get_turf(user))
+ user.visible_message(span_suicide("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ else
+ user.visible_message(span_suicide("[user] is trying to upload [user.p_them()]selves to the afterlife with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ return(OXYLOSS)
+
+/obj/item/stack/ethernet_coil/Initialize(mapload, new_amount = null, param_color = null)
+ . = ..()
+
+ pixel_x = rand(-2,2)
+ pixel_y = rand(-2,2)
+ update_icon()
+
+///////////////////////////////////
+// General procedures
+///////////////////////////////////
+
+
+//you can use wires to heal robotics
+/obj/item/stack/ethernet_coil/attack(mob/living/carbon/human/H, mob/user)
+ if(!istype(H))
+ return ..()
+
+ var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
+ if(affecting.burn_dam <= 0)
+ to_chat(user, span_warning("[affecting] is already in good condition!"))
+ return FALSE
+ if(affecting && affecting.status == BODYPART_ROBOTIC)
+ user.visible_message(span_notice("[user] starts to fix some of the wires in [H]'s [affecting.name]."), span_notice("You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name]."))
+ heal_robo_limb(src, H, user, 0, 15)
+ user.visible_message(span_notice("[user] fixes the wires in [H]'s [affecting.name]."), span_notice("You fix the wires in [H == user ? "your" : "[H]'s"] [affecting.name]."))
+ return
+ else
+ return ..()
+
+/obj/item/stack/ethernet_coil/update_icon_state()
+ . = ..()
+ icon_state = "[initial(icon_state)][amount < 3 ? amount : ""]"
+ name = "ethernet cable [amount < 3 ? "piece" : "coil"]"
+
+/obj/item/stack/ethernet_coil/attack_hand(mob/user)
+ . = ..()
+ if(.)
+ return
+ var/obj/item/stack/ethernet_coil/new_cable = ..()
+ if(istype(new_cable))
+ new_cable.update_icon()
+
+//add cables to the stack
+/obj/item/stack/ethernet_coil/proc/give(extra)
+ if(amount + extra > max_amount)
+ amount = max_amount
+ else
+ amount += extra
+ update_icon()
+
+
+
+///////////////////////////////////////////////
+// Cable laying procedures
+//////////////////////////////////////////////
+
+/obj/item/stack/ethernet_coil/proc/get_new_cable(location)
+ var/path = /obj/structure/ethernet_cable
+ return new path(location)
+
+// called when cable_coil is clicked on a turf
+/obj/item/stack/ethernet_coil/proc/place_turf(turf/T, mob/user, dirnew)
+ if(!isturf(user.loc))
+ return
+
+ if(!isturf(T) || T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE || !T.can_have_cabling())
+ to_chat(user, span_warning("You can only lay cables on top of exterior catwalks and plating!"))
+ return
+
+ if(get_amount() < 1) // Out of cable
+ to_chat(user, span_warning("There is no cable left!"))
+ return
+
+ if(get_dist(T,user) > 1) // Too far
+ to_chat(user, span_warning("You can't lay cable at a place that far away!"))
+ return
+
+ var/dirn
+ if(!dirnew) //If we weren't given a direction, come up with one! (Called as null from catwalk.dm and floor.dm)
+ if(user.loc == T)
+ dirn = user.dir //If laying on the tile we're on, lay in the direction we're facing
+ else
+ dirn = get_dir(T, user)
+ else
+ dirn = dirnew
+
+
+ for(var/obj/structure/ethernet_cable/LC in T)
+ if(LC.d2 == dirn && LC.d1 == 0)
+ to_chat(user, span_warning("There's already a cable at that position!"))
+ return
+
+ var/obj/structure/ethernet_cable/C = get_new_cable(T)
+
+ //set up the new cable
+ C.d1 = 0 //it's a O-X node cable
+ C.d2 = dirn
+ C.add_fingerprint(user)
+ C.update_icon()
+
+ //create a new ai network with the cable, if needed it will be merged later
+ var/datum/ai_network/AN = new()
+ AN.add_cable(C)
+
+ C.mergeConnectedNetworks(C.d2) //merge the ai network with adjacents ai networks
+ C.mergeConnectedNetworksOnTurf() //merge the ai network with on turf ai networks
+
+ if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ C.mergeDiagonalsNetworks(C.d2)
+
+ use(1)
+
+ return C
+
+// called when cable_coil is click on an installed obj/cable
+// or click on a turf that already contains a "node" cable
+/obj/item/stack/ethernet_coil/proc/cable_join(obj/structure/ethernet_cable/C, mob/user, var/showerror = TRUE, forceddir)
+ var/turf/U = user.loc
+ if(!isturf(U))
+ return
+
+ var/turf/T = C.loc
+
+ if(!isturf(T) || T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE) // sanity checks, also stop use interacting with T-scanner revealed cable
+ return
+
+ if(get_dist(C, user) > 1) // make sure it's close enough
+ to_chat(user, span_warning("You can't lay cable at a place that far away!"))
+ return
+
+
+ if(U == T && !forceddir) //if clicked on the turf we're standing on and a direction wasn't supplied, try to put a cable in the direction we're facing
+ place_turf(T,user)
+ return
+
+ var/dirn = get_dir(C, user)
+ if(forceddir)
+ dirn = forceddir
+
+ // one end of the clicked cable is pointing towards us and no direction was supplied
+ if((C.d1 == dirn || C.d2 == dirn) && !forceddir)
+ if(!U.can_have_cabling()) //checking if it's a plating or catwalk
+ if (showerror)
+ to_chat(user, span_warning("You can only lay cables on catwalks and plating!"))
+ return
+ if(T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE) //can't place a cable if it's a plating with a tile on it
+ to_chat(user, span_warning("You can't lay cable there unless the floor tiles are removed!"))
+ return
+ else
+ // cable is pointing at us, we're standing on an open tile
+ // so create a stub pointing at the clicked cable on our tile
+
+ var/fdirn = turn(dirn, 180) // the opposite direction
+
+ for(var/obj/structure/ethernet_cable/LC in U) // check to make sure there's not a cable there already
+ if(LC.d1 == fdirn || LC.d2 == fdirn)
+ if (showerror)
+ to_chat(user, span_warning("There's already a cable at that position!"))
+ return
+
+ var/obj/structure/ethernet_cable/NC = get_new_cable (U)
+
+ NC.d1 = 0
+ NC.d2 = fdirn
+ NC.add_fingerprint(user)
+ NC.update_icon()
+
+ //create a new ai network with the cable, if needed it will be merged later
+ var/datum/ai_network/newAN = new()
+ newAN.add_cable(NC)
+
+ NC.mergeConnectedNetworks(NC.d2) //merge the ai network with adjacents ai networks
+ NC.mergeConnectedNetworksOnTurf() //merge the ai network with on turf ai networks
+
+ if(NC.d2 & (NC.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ NC.mergeDiagonalsNetworks(NC.d2)
+
+
+ use(1)
+
+ return
+
+ // exisiting cable doesn't point at our position or we have a supplied direction, so see if it's a stub
+ else if(C.d1 == 0)
+ // if so, make it a full cable pointing from it's old direction to our dirn
+ var/nd1 = C.d2 // these will be the new directions
+ var/nd2 = dirn
+
+
+ if(nd1 > nd2) // swap directions to match icons/states
+ nd1 = dirn
+ nd2 = C.d2
+
+
+ for(var/obj/structure/ethernet_cable/LC in T) // check to make sure there's no matching cable
+ if(LC == C) // skip the cable we're interacting with
+ continue
+ if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no cable matches either direction
+ if (showerror)
+ to_chat(user, span_warning("There's already a cable at that position!"))
+
+ return
+
+
+ C.update_icon()
+
+ C.d1 = nd1
+ C.d2 = nd2
+
+ //updates the stored cable coil
+
+ C.add_fingerprint(user)
+ C.update_icon()
+
+
+ C.mergeConnectedNetworks(C.d1) //merge the ai networks...
+ C.mergeConnectedNetworks(C.d2) //...in the two new cable directions
+ C.mergeConnectedNetworksOnTurf()
+
+ if(C.d1 & (C.d1 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ C.mergeDiagonalsNetworks(C.d1)
+
+ if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ C.mergeDiagonalsNetworks(C.d2)
+
+
+ use(1)
+
+ C.denode()// this call may have disconnected some cables that terminated on the centre of the turf, if so split the ai networks.
+ return
diff --git a/code/modules/mob/living/silicon/ai/ai_network/master_subcontroller.dm b/code/modules/mob/living/silicon/ai/ai_network/master_subcontroller.dm
new file mode 100644
index 000000000000..c0550ca6040d
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/ai_network/master_subcontroller.dm
@@ -0,0 +1,98 @@
+/obj/machinery/ai/master_subcontroller
+ name = "master subcontroller"
+ desc = "An ancient mainframe dedicated to tasks thought too simple for the onboard experimental AI. This mainframe takes care of duties such as polling APCs for updates, priming door servos and updating air alarms."
+ icon = 'icons/obj/machines/telecomms.dmi'
+ icon_state = "hub"
+ density = TRUE
+ use_power = ACTIVE_POWER_USE
+ idle_power_usage = 100
+ active_power_usage = 500
+ max_integrity = 1000
+
+ circuit = /obj/item/circuitboard/machine/subcontroller
+ var/on = TRUE
+
+
+ var/list/enabled_areas = list(
+ "General Areas" = /datum/wires/airlock,
+ "Maintenance Tunnels" = /datum/wires/airlock/maint,
+ "Command Areas" = /datum/wires/airlock/command,
+ "Service Areas" = /datum/wires/airlock/service,
+ "Engineering Areas" = /datum/wires/airlock/engineering,
+ "Medical Areas" = /datum/wires/airlock/medbay,
+ "Science Areas" = /datum/wires/airlock/science,
+ "AI Areas" = /datum/wires/airlock/ai
+ )
+
+ var/list/disabled_areas = list(
+ "Security Areas" = /datum/wires/airlock/security
+ )
+
+
+
+
+/obj/machinery/ai/master_subcontroller/attackby(obj/item/W, mob/living/user, params)
+ if(W.tool_behaviour == TOOL_MULTITOOL)
+ var/action = alert("What do you wish to do?",, "Enable Area", "Disable Area", "Cancel")
+ if(!action)
+ return TRUE
+ if(action == "Cancel")
+ return TRUE
+ if(action == "Enable Area")
+ if(!disabled_areas.len)
+ to_chat(user, span_warning("There are no areas to enable!"))
+ return TRUE
+ var/selected_area = input("Please select an area to enable:") as null|anything in disabled_areas
+ if(!selected_area)
+ return TRUE
+ if(!disabled_areas[selected_area])
+ return TRUE
+ enabled_areas[selected_area] = disabled_areas[selected_area]
+ disabled_areas -= selected_area
+
+
+ if(action == "Disable Area")
+ if(!enabled_areas.len)
+ to_chat(user, span_warning("There are no areas to disable!"))
+ return TRUE
+ var/selected_area = input("Please select an area to disable:") as null|anything in enabled_areas
+ if(!selected_area)
+ return TRUE
+ if(!enabled_areas[selected_area])
+ return TRUE
+ disabled_areas[selected_area] = enabled_areas[selected_area]
+ enabled_areas -= selected_area
+ return TRUE
+
+ return ..()
+
+/obj/machinery/ai/master_subcontroller/process()
+ update_power()
+
+/obj/machinery/ai/master_subcontroller/update_icon_state()
+ . = ..()
+ if(panel_open)
+ icon_state = "[initial(icon_state)]_o"
+ else
+ icon_state = initial(icon_state)
+
+/obj/machinery/ai/master_subcontroller/update_overlays()
+ . = ..()
+ cut_overlays()
+ if(on)
+ var/mutable_appearance/on_overlay
+ on_overlay = mutable_appearance(icon, "[initial(icon_state)]_on")
+ add_overlay(on_overlay)
+
+
+/obj/machinery/ai/master_subcontroller/proc/update_power()
+ if(stat & (BROKEN|NOPOWER|EMPED)) // if powered, on. if not powered, off. if too damaged, off
+ on = FALSE
+ else
+ on = TRUE
+ update_icon()
+
+/obj/machinery/ai/master_subcontroller/disconnect_from_ai_network()
+ if(network.cached_subcontroller == src)
+ network.cached_subcontroller = null
+ . = ..()
diff --git a/code/modules/mob/living/silicon/ai/ai_network/networking_machines.dm b/code/modules/mob/living/silicon/ai/ai_network/networking_machines.dm
new file mode 100644
index 000000000000..d74979eec623
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/ai_network/networking_machines.dm
@@ -0,0 +1,276 @@
+GLOBAL_LIST_EMPTY(ai_networking_machines)
+
+/obj/machinery/ai/networking
+ name = "networking machine"
+ desc = "A high powered combined transmitter and receiver. Capable of connecting remote AI networks with near-zero delay. It is possible to manually connect other machines using a multitool."
+ icon = 'icons/obj/networking_machine.dmi'
+ icon_state = "base"
+ density = TRUE
+ use_power = NO_POWER_USE
+ idle_power_usage = 0
+ active_power_usage = 0
+ max_integrity = 150
+
+ circuit = /obj/item/circuitboard/machine/networking_machine
+
+ var/label
+ //For mapping, will connect to machine with this label if found
+ var/roundstart_connection
+
+ var/mutable_appearance/dish_overlay
+
+ var/obj/machinery/ai/networking/partner
+ var/rotation_to_partner = 0
+ var/locked = FALSE
+ var/obj/machinery/ai/networking/remote_connection_attempt
+ var/mob/remote_control
+
+ var/datum/ai_network/cached_old_network
+
+
+
+
+/obj/machinery/ai/networking/Initialize(mapload)
+ . = ..()
+ if(!label)
+ label = num2hex(rand(1,65535), -1)
+ GLOB.ai_networking_machines += src
+ dish_overlay = mutable_appearance(icon, "top", FLY_LAYER)
+ update_icon()
+
+/obj/machinery/ai/networking/Destroy(mapload)
+ GLOB.ai_networking_machines -= src
+ disconnect()
+ . = ..()
+
+/obj/machinery/ai/networking/attackby(obj/item/W, mob/living/user, params)
+ if(W.tool_behaviour == TOOL_MULTITOOL)
+ if(partner)
+ to_chat(user, span_warning("This machine is already connected to a different machine! Disconnect it using the controls or a wirecutter first!"))
+ return TRUE
+ remote_connection_attempt = null
+ var/targets = list()
+ for(var/obj/machinery/ai/networking/N in GLOB.ai_networking_machines)
+ if(N == src)
+ continue
+ if(N.z != src.z)
+ continue
+ if(N.partner)
+ continue
+ targets[N.label] = N
+ var/attempt_connect = input(user, "Select the machine you wish to attempt connecting to.") as null|anything in targets
+ if(!attempt_connect)
+ return TRUE
+ var/obj/machinery/ai/networking/remote_target = locate(targets[attempt_connect]) in GLOB.ai_networking_machines
+ if(!remote_target)
+ return TRUE
+ remote_connection_attempt = remote_target
+ to_chat(user, span_notice("The machine is ready to establish connection. You must now rotate it so it faces the other machine! Rotation is done using a wrench, and the connection can then be finalized with a screwdriver when aligned."))
+ return TRUE
+
+ if(W.tool_behaviour == TOOL_WRENCH)
+ if(partner)
+ to_chat(user, span_warning("This machine is already connected to a different machine!"))
+ return TRUE
+ var/new_rotation = input(user, "Set rotation (0-360): ") as null|num
+ if(isnull(new_rotation))
+ rotation_to_partner = 0
+ else
+ new_rotation = clamp(new_rotation, 0, 360)
+ rotation_to_partner = new_rotation
+
+ update_icon()
+ return TRUE
+
+ if(W.tool_behaviour == TOOL_SCREWDRIVER)
+ if(partner)
+ to_chat(user, span_warning("This machine is already connected to a different machine!"))
+ return TRUE
+ if(!remote_connection_attempt)
+ to_chat(user, span_warning("You need to initialize a manual override using a wrench to connect to something!"))
+ return TRUE
+ var/actual_angle = Get_Angle(src, remote_connection_attempt)
+ if(rotation_to_partner < actual_angle + 20 && rotation_to_partner > actual_angle - 20)
+ connect_to_partner(remote_connection_attempt)
+ to_chat(user, span_notice("You successfully connect to [remote_connection_attempt.label]!"))
+ return TRUE
+ to_chat(user, span_warning("Unable to establish connection!"))
+ return TRUE
+
+
+ if(W.tool_behaviour == TOOL_WIRECUTTER)
+ if(partner)
+ to_chat(user, span_notice("You disconnect the remote connection."))
+ disconnect()
+ return TRUE
+ to_chat(user, span_warning("The machine isn't connected!"))
+ return TRUE
+
+ if(W.tool_behaviour == TOOL_CROWBAR)
+ if(default_deconstruction_crowbar(W, TRUE))
+ return TRUE
+
+ if(default_deconstruction_screwdriver(user, "expansion_bus_o", "expansion_bus", W))
+ return TRUE
+
+ return ..()
+
+/obj/machinery/ai/networking/proc/roundstart_connect(mapload)
+ if(!network)
+ connect_to_ai_network()
+ for(var/obj/machinery/ai/networking/N in GLOB.ai_networking_machines)
+ if(partner)
+ break
+ if(N == src)
+ continue
+ if(N.partner)
+ continue
+ if(roundstart_connection && N.label == roundstart_connection)
+ connect_to_partner(N)
+ break
+ if(!roundstart_connection)
+ connect_to_partner(N)
+ break
+
+
+/obj/machinery/ai/networking/update_icon()
+ ..()
+ cut_overlays()
+ var/matrix/turner = matrix()
+ turner.Turn(rotation_to_partner - 180)
+ dish_overlay.transform = turner
+ add_overlay(dish_overlay)
+
+/obj/machinery/ai/networking/proc/disconnect()
+ if(partner)
+ var/datum/ai_network/AN = partner.network
+ partner.rotation_to_partner = 0
+ partner.update_icon()
+ partner.partner = null
+ partner = null
+ AN.rebuild_remote()
+ network.rebuild_remote()
+ AN.network_machine_disconnected(network)
+ network.network_machine_disconnected(AN)
+ rotation_to_partner = 0
+ update_icon()
+
+
+
+/obj/machinery/ai/networking/proc/connect_to_partner(obj/machinery/ai/networking/target, forced = FALSE)
+ remote_connection_attempt = null
+ if(target.partner)
+ return
+ if(target == src)
+ return
+ if(target.locked && !forced)
+ return
+
+ partner = target
+ rotation_to_partner = Get_Angle(src, partner)
+ target.partner = src
+ target.rotation_to_partner = Get_Angle(target, src)
+ target.update_icon()
+
+
+ network.rebuild_remote()
+
+ update_icon()
+
+
+/obj/machinery/ai/networking/ui_status(mob/user)
+ . = ..()
+ if (!QDELETED(remote_control) && user == remote_control)
+ . = UI_INTERACTIVE
+
+/obj/machinery/ai/networking/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "AiNetworking", name)
+ ui.open()
+
+/obj/machinery/ai/networking/ui_data(mob/living/carbon/human/user)
+ var/list/data = list()
+
+ data["is_connected"] = partner ? partner.label : FALSE
+ data["label"] = label
+
+ data["locked"] = locked
+
+ data["possible_targets"] = list()
+ for(var/obj/machinery/ai/networking/N in GLOB.ai_networking_machines)
+ if(N == src)
+ continue
+ if(N.z != src.z)
+ continue
+ if(N.locked)
+ continue
+ data["possible_targets"] += N.label
+
+ return data
+
+/obj/machinery/ai/networking/ui_act(action, params)
+ if(..())
+ return
+
+ switch(action)
+ if("switch_label")
+ if(locked)
+ return
+ var/new_label = stripped_input(usr, "Enter new label", "Set label", max_length = 16)
+ if(new_label)
+ if(isnotpretty(new_label))
+ to_chat(usr, span_notice("The machine rejects the input. See rule 0.1."))
+ var/log_message = "[key_name(usr)] just tripped a pretty filter: '[new_label]'."
+ message_admins(log_message)
+ log_say(log_message)
+ return
+ for(var/obj/machinery/ai/networking/N in GLOB.ai_networking_machines)
+ if(N.label == new_label)
+ to_chat(usr, span_warning("A machine with this label already exists!"))
+ return
+ label = new_label
+ . = TRUE
+ if("connect")
+ if(locked)
+ return
+ var/target_label = params["target_label"]
+ if(target_label == label)
+ return
+ for(var/obj/machinery/ai/networking/N in GLOB.ai_networking_machines)
+ if(N.z != src.z)
+ return
+ if(N.label == target_label)
+ if(N.locked)
+ to_chat(usr, span_warning("Unable to connect to '[target_label]'! It seems to be locked."))
+ return
+ if(N.partner)
+ to_chat(usr, span_warning("Unable to connect to '[target_label]'! It seems to already have a connection established."))
+ return
+ connect_to_partner(N)
+ to_chat(usr, span_notice("Connection established to '[target_label]'."))
+ return
+ . = TRUE
+ if("disconnect")
+ if(locked)
+ return
+ disconnect()
+ . = TRUE
+ if("toggle_lock")
+ locked = !locked
+ . = TRUE
+
+/obj/machinery/ai/networking/connect_to_network()
+ . = ..()
+ if(partner)
+ network.rebuild_remote()
+ if(cached_old_network)
+ cached_old_network.network_machine_disconnected(network)
+ cached_old_network = null
+
+/obj/machinery/ai/networking/disconnect_from_network()
+ var/datum/ai_network/temp = network
+ cached_old_network = temp
+ . = ..()
+ if(partner)
+ temp.rebuild_remote()
diff --git a/code/modules/mob/living/silicon/ai/ai_network/shared_resources.dm b/code/modules/mob/living/silicon/ai/ai_network/shared_resources.dm
new file mode 100644
index 000000000000..21235621dfb5
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/ai_network/shared_resources.dm
@@ -0,0 +1,269 @@
+/datum/ai_shared_resources
+ ///Where our RAM is coming from. Associative array where the network is the key
+ var/ram_sources = list()
+ ///Where our CPU is coming from. Associative array where the network is the key
+ var/cpu_sources = list()
+
+ ///Where our CPU is assigned to. Associative where either an AI or a network has values. Max total value = 1 (100%)
+ var/list/cpu_assigned = list()
+ ///Where our CPU is assigned to. Associative where either an AI or a network has values
+ var/list/ram_assigned = list()
+
+ ///List of all networks we are connected to
+ var/list/networks = list()
+
+ ///How much RAM we had before updating resources
+ var/previous_ram = 0
+
+ ///If resource allocation can only be changed physically at a console by a human
+ var/human_lock = FALSE
+
+
+
+/datum/ai_shared_resources/New(network_assigned_cpu, network_assigned_ram, datum/ai_network/split_network, datum/ai_network/starting_network, _human_lock = FALSE)
+ if((network_assigned_ram || network_assigned_cpu) && split_network)
+ ram_assigned = network_assigned_ram
+ cpu_assigned = network_assigned_cpu
+
+ if(split_network)
+ split_network.resources = src
+ networks |= split_network
+ update_resources()
+
+ if(starting_network)
+ starting_network.resources = src
+ networks |= starting_network
+
+ for(var/datum/ai_network/AN in networks)
+ AN.rebuild_remote()
+
+ START_PROCESSING(SSobj, src)
+
+ human_lock = _human_lock
+
+/datum/ai_shared_resources/Destroy(network_assigned_cpu, network_assigned_ram, datum/ai_network/split_network, datum/ai_network/starting_network)
+ STOP_PROCESSING(SSobj, src)
+ . = ..()
+
+/datum/ai_shared_resources/process()
+ for(var/datum/ai_network/net in networks)
+ net.process()
+
+ //Networks automatically use their unspent CPU to research, this just catches cluster unassigned CPU. Local clusters can have their points boosted by local AIs
+ var/unused_cpu = 1 - total_cpu_assigned()
+
+ var/research_points = max(round(AI_RESEARCH_PER_CPU * (unused_cpu * total_cpu())), 0)
+ SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_AI = research_points))
+
+
+
+
+/datum/ai_shared_resources/proc/total_cpu_assigned()
+ var/total = 0
+ for(var/AI in cpu_assigned)
+ total += cpu_assigned[AI]
+ return total
+
+/datum/ai_shared_resources/proc/total_ram_assigned()
+ var/total = 0
+ for(var/AI in ram_assigned)
+ total += (ram_assigned[AI])
+ return total
+
+/datum/ai_shared_resources/proc/total_cpu()
+ var/total = 0
+ for(var/C in cpu_sources)
+ total += cpu_sources[C]
+ return total
+
+/datum/ai_shared_resources/proc/total_ram()
+ var/total = 0
+ for(var/C in ram_sources)
+ total += ram_sources[C]
+ return total
+
+/datum/ai_shared_resources/proc/update_resources()
+ previous_ram = total_ram()
+ ram_sources = list()
+ cpu_sources = list()
+ for(var/datum/ai_network/N in networks)
+ ram_sources[N] += N.total_ram()
+ cpu_sources[N] += N.total_cpu()
+ update_allocations()
+
+/datum/ai_shared_resources/proc/add_resource(datum/ai_shared_resources/new_resources)
+
+ for(var/RU in new_resources.ram_assigned)
+ ram_assigned[RU] = new_resources.ram_assigned[RU]
+
+ for(var/CU in cpu_assigned) //We split the CPUs 50/50
+ cpu_assigned[CU] = round((cpu_assigned[CU] * 0.5) * 100) / 100
+
+ for(var/CU in new_resources.cpu_assigned)
+ cpu_assigned[CU] = round((new_resources.cpu_assigned[CU] * 0.5) * 100) / 100
+
+ for(var/datum/ai_network/N in new_resources.networks)
+ networks |= N
+ N.resources = src
+
+ update_resources()
+ update_allocations()
+ qdel(new_resources)
+
+/datum/ai_shared_resources/proc/split_resources(datum/ai_network/split_network)
+ var/network_ram_assign = list()
+ var/network_cpu_assign = list()
+
+
+ var/split_network_cpu = 0
+ var/network_ais = split_network.ai_list
+ for(var/A in cpu_assigned)
+ if(A in network_ais || A == split_network)
+ network_cpu_assign[A] = cpu_assigned[A]
+ split_network_cpu += cpu_assigned[A]
+ cpu_assigned[A] = 0
+
+ //Normalize CPU so 100% is used in the new network if 100% was used in total before
+ var/total_usage = total_cpu_assigned() //We normalise around this value, so the split network CPU usage will (approximately) end up at this too
+ if(split_network_cpu)
+ for(var/A in network_cpu_assign)
+ var/split_usage = network_cpu_assign[A] / split_network_cpu
+ network_cpu_assign[A] = 1 * round(split_usage, 0.01)
+
+ //We do the same for the network we leave behid
+ if(total_usage)
+ for(var/A in cpu_assigned)
+ var/split_usage = cpu_assigned[A] / total_usage
+ cpu_assigned[A] = 1 * round(split_usage, 0.01)
+
+
+ //Not needed for RAM since it's not a percentage
+ for(var/A in ram_assigned)
+ if(A in network_ais || A == split_network)
+ network_ram_assign[A] = ram_assigned[A]
+ ram_assigned[A] = 0
+
+ networks -= split_network
+ update_resources()
+
+ new /datum/ai_shared_resources(network_cpu_assign, network_ram_assign, split_network, _human_lock = human_lock)
+
+ if(!length(networks))
+ qdel(src)
+
+
+/datum/ai_shared_resources/proc/update_allocations()
+ //Do we have the same amount or more RAM than before? Do nothing
+ var/total_ram = total_ram()
+ if(total_ram >= previous_ram)
+ return
+ //Find out how much is actually assigned. We can have more total_cpu than the sum of cpu_assigned. Same with RAM
+ var/total_assigned_ram = total_ram_assigned()
+ //If we have less assigned ram than we have cpu and ram, just return, everything is fine.
+ if(total_assigned_ram < total_ram)
+ return
+
+ //Copy the lists of assigned resources so we don't manipulate the list prematurely.
+ var/list/ram_assigned_copy = ram_assigned.Copy()
+ //List of touched AIs so we can notify them at the end.
+ var/list/affected_AIs = list()
+
+
+ if(total_assigned_ram > total_ram)
+ var/needed_amount = total_assigned_ram - total_ram
+ for(var/A in ram_assigned_copy)
+ if(isAI(A))
+ var/mob/living/silicon/ai/AI = A
+ if((ram_assigned_copy[AI]) >= needed_amount)
+ ram_assigned_copy[AI] -= needed_amount
+ total_assigned_ram -= needed_amount
+ affected_AIs |= AI
+ break
+ else if(ram_assigned_copy[AI])
+ var/amount = ram_assigned_copy[AI]
+ ram_assigned_copy[AI] -= amount
+ affected_AIs |= AI
+ needed_amount -= amount
+ total_assigned_ram -= amount
+ if(total_ram >= total_assigned_ram)
+ break
+ else //If we're not an AI we are a network, networks have no programs to stop (for now)
+ if((ram_assigned_copy[A]) >= needed_amount)
+ ram_assigned_copy[A] -= needed_amount
+ total_assigned_ram -= needed_amount
+ break
+ else if(ram_assigned_copy[A])
+ var/amount = ram_assigned_copy[A]
+ ram_assigned_copy[A] -= amount
+ needed_amount -= amount
+ total_assigned_ram -= amount
+ if(total_ram >= total_assigned_ram)
+ break
+ //Set the actual values of the assigned to our manipulated copies. Bypass helper procs as we assume we're correct.
+ ram_assigned = ram_assigned_copy
+
+ to_chat(affected_AIs, span_warning("You have been deducted memory capacity. Please contact your network administrator if you believe this to be an error."))
+
+
+
+/datum/ai_shared_resources/proc/set_cpu(target, amount)
+ if(!istype(target, /datum/ai_network) && !isAI(target))
+ stack_trace("Attempted to set_cpu with non-AI/network target! T: [target]")
+ return
+
+ if(!target)
+ return
+ if(amount > 1 || amount < 0)
+ return
+ cpu_assigned[target] = amount
+
+ update_allocations()
+
+
+/datum/ai_shared_resources/proc/add_ram(target, amount)
+ if(!target || !amount)
+ return
+ if(!istype(target, /datum/ai_network) && !isAI(target))
+ stack_trace("Attempted to add_ram with non-AI/network target! T: [target]")
+ return
+
+
+ ram_assigned[target] += amount
+
+ update_allocations()
+
+
+/datum/ai_shared_resources/proc/remove_ram(target, amount)
+ if(!target || !amount)
+ return
+
+ if(!istype(target, /datum/ai_network) && !isAI(target))
+ stack_trace("Attempted to remove_ram with non-AI/network target! T: [target]")
+ return
+
+ if(ram_assigned[target] - amount < 0)
+ ram_assigned[target] = 0
+ else
+ ram_assigned[target] -= amount
+
+ update_allocations()
+
+
+/datum/ai_shared_resources/proc/clear_ai_resources(target)
+ if(!target)
+ return
+ if(!istype(target, /datum/ai_network) && !isAI(target))
+ stack_trace("Attempted to clear_ai_resources with non-AI/network target! T: [target]")
+ return
+
+
+
+ remove_ram(target, ram_assigned[target])
+ cpu_assigned[target] = 0
+
+ update_allocations()
+
+/datum/ai_shared_resources/proc/get_all_ais()
+ . = list()
+ for(var/datum/ai_network/A in networks)
+ . |= A.ai_list
diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm
index 9731948c38d0..9d095f53a599 100644
--- a/code/modules/mob/living/silicon/ai/death.dm
+++ b/code/modules/mob/living/silicon/ai/death.dm
@@ -26,7 +26,7 @@
ShutOffDoomsdayDevice()
- GLOB.ai_os.remove_ai(src)
+ ai_network?.remove_ai(src)
if(explosive)
spawn(10)
diff --git a/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm b/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm
index 1f030aaf5533..c3f280333858 100644
--- a/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm
+++ b/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm
@@ -1,6 +1,8 @@
-#define AI_MACHINE_TOO_HOT "Environment too hot"
-#define AI_MACHINE_NO_MOLES "Environment lacks an atmosphere"
+#define AI_MACHINE_TOO_HOT "Environment too hot"
+#define AI_MACHINE_NO_MOLES "Environment lacks an atmosphere"
+#define AI_MACHINE_NO_NETWORK "Lacks a network connection"
+#define AI_MACHINE_BROKEN_NOPOWER_EMPED "Either broken, out of power or EMPed"
/obj/machinery/ai
name = "You shouldn't see this!"
@@ -11,8 +13,11 @@
///Temperature of the ai core itself, this will share with air in the enviroment
var/core_temp = 193.15
+ var/datum/ai_network/network
+
/obj/machinery/ai/Initialize(mapload)
. = ..()
+ connect_to_ai_network()
START_PROCESSING(SSmachines, src)
SSair.start_processing_machine(src)
@@ -33,11 +38,14 @@
. = ..()
SSair.stop_processing_machine(src)
STOP_PROCESSING(SSmachines, src)
+ disconnect_from_ai_network()
/obj/machinery/ai/proc/valid_holder()
+ if(!network)
+ return FALSE
if(stat & (BROKEN|EMPED) || !has_power())
return FALSE
- if(core_temp > GLOB.ai_os.get_temp_limit())
+ if(core_temp > network.get_temp_limit())
return FALSE
return TRUE
@@ -46,7 +54,61 @@
/obj/machinery/ai/proc/get_holder_status()
if(stat & (BROKEN|NOPOWER|EMPED))
- return FALSE
- if(core_temp > GLOB.ai_os.get_temp_limit())
+ return AI_MACHINE_BROKEN_NOPOWER_EMPED
+ if(!network)
+ return AI_MACHINE_NO_NETWORK
+ if(core_temp > network.get_temp_limit())
return AI_MACHINE_TOO_HOT
-
\ No newline at end of file
+
+
+/obj/machinery/ai/proc/connect_to_ai_network()
+ var/turf/T = src.loc
+ if(!T || !istype(T))
+ return FALSE
+
+ var/obj/structure/ethernet_cable/C = T.get_ai_cable_node() //check if we have a node cable on the machine turf, the first found is picked
+ if(!C || !C.network)
+ return FALSE
+
+ C.network.add_machine(src)
+ return TRUE
+
+// remove and disconnect the machine from its current powernet
+/obj/machinery/ai/proc/disconnect_from_ai_network()
+ if(!network)
+ return FALSE
+ network.remove_machine(src)
+ return TRUE
+
+// attach a wire to a power machine - leads from the turf you are standing on
+//almost never called, overwritten by all power machines but terminal and generator
+/obj/machinery/ai/attackby(obj/item/W, mob/user, params)
+ if(istype(W, /obj/item/stack/ethernet_coil))
+ var/obj/item/stack/ethernet_coil/coil = W
+ var/turf/T = user.loc
+ if(T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE || !isfloorturf(T))
+ return
+ if(get_dist(src, user) > 1)
+ return
+ coil.place_turf(T, user)
+ else
+ return ..()
+
+/obj/ai_smoke
+ name = "smoke"
+ desc = "Very hot!"
+
+/obj/ai_smoke/Initialize(mapload)
+ . = ..()
+ particles = new /particles/smoke/ai()
+
+/obj/ai_smoke/Destroy(force)
+ QDEL_NULL(particles)
+ . = ..()
+
+/particles/smoke/ai
+ grow = 0.1
+ height = 75
+ lifespan = 1.25 SECONDS
+ position = list(0, 0, 0)
+ velocity = list(0, 0.15, 0)
diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm
index 7cbdad7bc280..a541256c80f8 100644
--- a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm
+++ b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm
@@ -4,7 +4,7 @@ GLOBAL_VAR_INIT(primary_data_core, null)
#define CELL_POWERUSE_MULTIPLIER 0.025
/obj/machinery/ai/data_core
- name = "AI Data Core"
+ name = "AI data core"
desc = "A complicated computer system capable of emulating the neural functions of an organic being at near-instantanous speeds."
icon = 'icons/obj/machines/ai_core.dmi'
icon_state = "core-offline"
@@ -21,7 +21,7 @@ GLOBAL_VAR_INIT(primary_data_core, null)
var/primary = FALSE
- var/valid_ticks = MAX_AI_DATA_CORE_TICKS //Limited to MAX_AI_DATA_CORE_TICKS. Decrement by 1 every time we have an invalid tick, opposite when valid
+ var/valid_ticks //Limited to MAX_AI_DATA_CORE_TICKS. Decrement by 1 every time we have an invalid tick, opposite when valid
var/warning_sent = FALSE
COOLDOWN_DECLARE(warning_cooldown)
@@ -34,8 +34,14 @@ GLOBAL_VAR_INIT(primary_data_core, null)
var/obj/item/stock_parts/cell/integrated_battery
+ var/obj/ai_smoke/smoke
+
+ var/obj/item/dead_ai/dead_ai_blackbox
+
+
/obj/machinery/ai/data_core/Initialize(mapload)
. = ..()
+ valid_ticks = MAX_AI_DATA_CORE_TICKS
GLOB.data_cores += src
if(primary && !GLOB.primary_data_core)
GLOB.primary_data_core = src
@@ -67,61 +73,88 @@ GLOBAL_VAR_INIT(primary_data_core, null)
if(valid_holder())
valid_ticks++
if(valid_ticks == 1)
- update_icon()
+ update_appearance(UPDATE_ICON)
+ if(icon_state == "core-offline")
+ update_appearance(UPDATE_ICON)
+ if(smoke)
+ vis_contents -= smoke
+ QDEL_NULL(smoke)
use_power = ACTIVE_POWER_USE
if((stat & NOPOWER))
integrated_battery.use(active_power_usage * CELL_POWERUSE_MULTIPLIER)
warning_sent = FALSE
else
- valid_ticks--
+ if(!smoke)
+ if(get_holder_status() == AI_MACHINE_TOO_HOT)
+ smoke = new()
+ vis_contents += smoke
if(valid_ticks <= 0)
use_power = IDLE_POWER_USE
- update_icon()
+ update_appearance(UPDATE_ICON)
for(var/mob/living/silicon/ai/AI in contents)
if(!AI.is_dying)
AI.relocate()
- if(!warning_sent && COOLDOWN_FINISHED(src, warning_cooldown))
- warning_sent = TRUE
- COOLDOWN_START(src, warning_cooldown, AI_DATA_CORE_WARNING_COOLDOWN)
- var/list/send_to = GLOB.ai_list.Copy()
- for(var/mob/living/silicon/ai/AI in send_to)
- if(AI.is_dying)
- continue
- if(!AI.mind && AI.deployed_shell.mind)
- to_chat(AI.deployed_shell, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
- else
- to_chat(AI, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
- AI.playsound_local(AI, 'sound/machines/engine_alert2.ogg', 30)
+ if(network && network.resources)
+ if(!warning_sent && COOLDOWN_FINISHED(src, warning_cooldown))
+ warning_sent = TRUE
+ COOLDOWN_START(src, warning_cooldown, AI_DATA_CORE_WARNING_COOLDOWN)
+ var/list/send_to = network.resources.get_all_ais()
+ for(var/mob/living/silicon/ai/AI in send_to)
+ if(AI.is_dying)
+ continue
+ if(!AI.mind && !AI.deployed_shell.mind)
+ continue
+ if(!AI.mind && AI.deployed_shell.mind)
+ to_chat(AI.deployed_shell, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
+ else
+ to_chat(AI, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
+ AI.playsound_local(AI, 'sound/machines/engine_alert2.ogg', 30)
if(!(stat & (BROKEN|EMPED)) && has_power() && !disableheat)
var/temp_active_usage = stat & NOPOWER ? active_power_usage * CELL_POWERUSE_MULTIPLIER : active_power_usage
var/temperature_increase = (temp_active_usage / AI_HEATSINK_CAPACITY) * heat_modifier //1 CPU = 1000W. Heat capacity = somewhere around 3000-4000. Aka we generate 0.25 - 0.33 K per second, per CPU.
core_temp += temperature_increase * AI_TEMPERATURE_MULTIPLIER
+
/obj/machinery/ai/data_core/Destroy()
GLOB.data_cores -= src
if(GLOB.primary_data_core == src)
GLOB.primary_data_core = null
- var/list/all_ais = GLOB.ai_list.Copy()
+ if(network && network.resources)
+ var/list/all_ais = network.resources.get_all_ais()
- for(var/mob/living/silicon/ai/AI in contents)
- all_ais -= AI
- if(!AI.is_dying)
- AI.relocate()
+ for(var/mob/living/silicon/ai/AI in contents)
+ all_ais -= AI
+ if(!AI.is_dying)
+ AI.relocate()
-
- for(var/mob/living/silicon/ai/AI in all_ais)
- if(AI.is_dying)
- continue
- if(!AI.mind && AI.deployed_shell.mind)
- to_chat(AI.deployed_shell, span_userdanger("Warning! Data Core brought offline in [get_area(src)]! Please verify that no malicious actions were taken."))
- else
- to_chat(AI, span_userdanger("Warning! Data Core brought offline in [get_area(src)]! Please verify that no malicious actions were taken."))
-
+ for(var/mob/living/silicon/ai/AI in all_ais)
+ if(AI.is_dying)
+ continue
+ if(!AI.mind && AI.deployed_shell && AI.deployed_shell.mind)
+ to_chat(AI.deployed_shell, span_userdanger("Warning! Data Core brought offline in [get_area(src)]! Please verify that no malicious actions were taken."))
+ else
+ to_chat(AI, span_userdanger("Warning! Data Core brought offline in [get_area(src)]! Please verify that no malicious actions were taken."))
+
+
+ disconnect_from_ai_network()
+ vis_contents -= smoke
+ QDEL_NULL(smoke)
..()
/obj/machinery/ai/data_core/attackby(obj/item/O, mob/user, params)
+ if(istype(O, /obj/item/dead_ai))
+ if(dead_ai_blackbox)
+ to_chat(user, span_warning("There's already a neural core inserted!"))
+ return
+ if(!can_transfer_ai())
+ to_chat(user, span_warning("This core is currently unable to host an AI due to being offline."))
+ return
+ dead_ai_blackbox = O
+ dead_ai_blackbox.forceMove(src)
+ network.reviving_ais |= src
+ return TRUE
if(O.tool_behaviour == TOOL_SCREWDRIVER)
if(!do_after(user, 5 SECONDS, src))
to_chat(user, span_warning("You need to stand still to open the panel!"))
@@ -164,16 +197,18 @@ GLOBAL_VAR_INIT(primary_data_core, null)
return
. += "Core temperature: [core_temp] K"
. += "Networked AI Laws:"
- for(var/mob/living/silicon/ai/AI in GLOB.ai_list)
- var/active_status = "(Core: [FOLLOW_LINK(user, AI.loc)], Eye: [FOLLOW_LINK(user, AI.eyeobj)])"
- if(!AI.mind && AI.deployed_shell)
- active_status = "(Controlling [FOLLOW_LINK(user, AI.deployed_shell)][AI.deployed_shell.name])"
- else if(!AI.mind)
- active_status = "([span_warning("OFFLINE")])"
-
- . += "[AI] [active_status] has the following laws: "
- for(var/law in AI.laws.get_law_list(include_zeroth = TRUE))
- . += law
+ if(network && network.resources)
+ var/list/connected_ais = network.resources.get_all_ais()
+ for(var/mob/living/silicon/ai/AI in connected_ais)
+ var/active_status = "(Core: [FOLLOW_LINK(user, AI.loc)], Eye: [FOLLOW_LINK(user, AI.eyeobj)])"
+ if(!AI.mind && AI.deployed_shell)
+ active_status = "(Controlling [FOLLOW_LINK(user, AI.deployed_shell)][AI.deployed_shell.name])"
+ else if(!AI.mind)
+ active_status = "([span_warning("OFFLINE")])"
+
+ . += "[AI] [active_status] has the following laws: "
+ for(var/law in AI.laws.get_law_list(include_zeroth = TRUE))
+ . += law
/obj/machinery/ai/data_core/has_power()
if((stat & (NOPOWER)) && integrated_battery)
@@ -189,9 +224,7 @@ GLOBAL_VAR_INIT(primary_data_core, null)
AI.disconnect_shell()
/obj/machinery/ai/data_core/proc/valid_data_core()
- if(!is_reebe(z) && !is_station_level(z))
- return FALSE
- if(valid_ticks > 0)
+ if(valid_ticks > 0 && network && network.total_cpu() >= AI_CORE_CPU_REQUIREMENT && network.total_ram() >= AI_CORE_RAM_REQUIREMENT)
return TRUE
return FALSE
@@ -203,30 +236,42 @@ GLOBAL_VAR_INIT(primary_data_core, null)
valid_ticks++
if(valid_ticks == 1)
update_appearance(UPDATE_ICON)
+ if(icon_state == "core-offline")
+ update_appearance(UPDATE_ICON)
+ if(smoke)
+ vis_contents -= smoke
+ QDEL_NULL(smoke)
use_power = ACTIVE_POWER_USE
if((stat & NOPOWER))
integrated_battery.use(active_power_usage * CELL_POWERUSE_MULTIPLIER)
warning_sent = FALSE
else
valid_ticks--
+ if(!smoke)
+ if(get_holder_status() == AI_MACHINE_TOO_HOT)
+ smoke = new()
+ vis_contents += smoke
if(valid_ticks <= 0)
use_power = IDLE_POWER_USE
update_appearance(UPDATE_ICON)
for(var/mob/living/silicon/ai/AI in contents)
if(!AI.is_dying)
AI.relocate()
- if(!warning_sent && COOLDOWN_FINISHED(src, warning_cooldown))
- warning_sent = TRUE
- COOLDOWN_START(src, warning_cooldown, AI_DATA_CORE_WARNING_COOLDOWN)
- var/list/send_to = GLOB.ai_list.Copy()
- for(var/mob/living/silicon/ai/AI in send_to)
- if(AI.is_dying)
- continue
- if(!AI.mind && AI.deployed_shell.mind)
- to_chat(AI.deployed_shell, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
- else
- to_chat(AI, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
- AI.playsound_local(AI, 'sound/machines/engine_alert2.ogg', 30)
+ if(network && network.resources)
+ if(!warning_sent && COOLDOWN_FINISHED(src, warning_cooldown))
+ warning_sent = TRUE
+ COOLDOWN_START(src, warning_cooldown, AI_DATA_CORE_WARNING_COOLDOWN)
+ var/list/send_to = network.resources.get_all_ais()
+ for(var/mob/living/silicon/ai/AI in send_to)
+ if(AI.is_dying)
+ continue
+ if(!AI.mind && !AI.deployed_shell.mind)
+ continue
+ if(!AI.mind && AI.deployed_shell.mind)
+ to_chat(AI.deployed_shell, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
+ else
+ to_chat(AI, span_userdanger("Data core in [get_area(src)] is on the verge of failing! Immediate action required to prevent failure."))
+ AI.playsound_local(AI, 'sound/machines/engine_alert2.ogg', 30)
if(!(stat & (BROKEN|EMPED)) && has_power())
@@ -249,7 +294,15 @@ GLOBAL_VAR_INIT(primary_data_core, null)
/obj/machinery/ai/data_core/proc/transfer_AI(mob/living/silicon/ai/AI)
AI.forceMove(src)
if(AI.eyeobj)
- AI.eyeobj.setLoc(get_turf(src))
+ AI.eyeobj.forceMove(get_turf(src))
+
+ if(network != AI.ai_network)
+ if(AI.ai_network)
+ AI.ai_network.remove_ai(AI)
+ var/old_net = AI.ai_network
+ AI.ai_network = network
+ network.ai_list += AI
+ AI.switch_ainet(old_net, network)
/obj/machinery/ai/data_core/update_icon_state()
. = ..()
@@ -261,6 +314,25 @@ GLOBAL_VAR_INIT(primary_data_core, null)
else
icon_state = "core-offline"
+/obj/machinery/ai/data_core/connect_to_ai_network() //If we ever get connected to a network (or a new one gets created) we get the AIs to the correct one too
+ . = ..()
+ for(var/mob/living/silicon/ai/AI in contents)
+ if(!AI.ai_network)
+ network.ai_list |= AI
+ var/old_net = AI.ai_network
+ AI.ai_network = network
+ AI.switch_ainet(old_net, network)
+
+ if(AI.ai_network != network)
+ if(AI.ai_network)
+ AI.ai_network.remove_ai(AI)
+ var/old_net = AI.ai_network
+ AI.ai_network = network
+ network.ai_list |= AI
+ AI.switch_ainet(old_net, network)
+
+
+
/obj/machinery/ai/data_core/proc/partytime()
var/current_color = random_color()
set_light(7, 3, current_color)
@@ -271,6 +343,9 @@ GLOBAL_VAR_INIT(primary_data_core, null)
if(TimerID)
deltimer(TimerID)
TimerID = null
+
+
+
/obj/machinery/ai/data_core/primary
name = "primary AI Data Core"
desc = "A complicated computer system capable of emulating the neural functions of a human at near-instantanous speeds. This one has a scrawny and faded note saying: 'Primary AI Data Core'"
diff --git a/code/modules/mob/living/silicon/ai/decentralized/computer_science_datum.dm b/code/modules/mob/living/silicon/ai/decentralized/computer_science_datum.dm
new file mode 100644
index 000000000000..daabc3307057
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/computer_science_datum.dm
@@ -0,0 +1,3 @@
+/datum/computer_science
+ var/projects = list()
+
diff --git a/code/modules/mob/living/silicon/ai/decentralized/decentralized_os.dm b/code/modules/mob/living/silicon/ai/decentralized/decentralized_os.dm
deleted file mode 100644
index 42ba34b5257f..000000000000
--- a/code/modules/mob/living/silicon/ai/decentralized/decentralized_os.dm
+++ /dev/null
@@ -1,131 +0,0 @@
-GLOBAL_DATUM_INIT(ai_os, /datum/ai_os, new)
-
-/datum/ai_os
- var/name = "Decentralized Resource Management System (DRMS)"
-
- var/total_cpu = 0
- var/total_ram = 0
-
- var/previous_ram = 0
-
- var/list/cpu_assigned
- var/list/ram_assigned
-
- var/temp_limit = AI_TEMP_LIMIT
-
-/datum/ai_os/New()
- update_hardware()
- cpu_assigned = list()
- ram_assigned = list()
-
-/datum/ai_os/proc/remove_ai(mob/living/silicon/ai/AI)
- cpu_assigned.Remove(AI)
- ram_assigned.Remove(AI)
- update_allocations()
-
-/datum/ai_os/proc/total_cpu_assigned()
- var/total = 0
- for(var/N in cpu_assigned)
- total += cpu_assigned[N]
- return total
-
-/datum/ai_os/proc/total_ram_assigned()
- var/total = 0
- for(var/mob/living/silicon/ai/AI in ram_assigned)
- total += (ram_assigned[AI] - AI.dashboard.free_ram)
- return total
-
-/datum/ai_os/proc/update_hardware()
- previous_ram = total_ram
- total_ram = 0
- total_cpu = 0
- for(var/obj/machinery/ai/server_cabinet/C in GLOB.server_cabinets)
- if(!C.valid_holder() && !C.roundstart)
- continue
- total_ram += C.total_ram
- total_cpu += C.total_cpu
-
- update_allocations()
-
-/datum/ai_os/proc/update_allocations()
- //Do we have the same amount or more RAM than before? Do nothing
- if(total_ram >= previous_ram)
- return
- //Find out how much is actually assigned. We can have more total_cpu than the sum of cpu_assigned. Same with RAM
- var/total_assigned_ram = total_ram_assigned()
- //If we have less assigned ram than we have cpu and ram, just return, everything is fine.
- if(total_assigned_ram < total_ram)
- return
-
- //Copy the lists of assigned resources so we don't manipulate the list prematurely.
- var/list/ram_assigned_copy = ram_assigned.Copy()
- //List of touched AIs so we can notify them at the end.
- var/list/affected_AIs = list()
-
-
- if(total_assigned_ram > total_ram)
- var/needed_amount = total_assigned_ram - total_ram
- for(var/A in ram_assigned_copy)
- var/mob/living/silicon/ai/AI = A
- if((ram_assigned_copy[AI] - AI.dashboard.free_ram) >= needed_amount)
- ram_assigned_copy[AI] -= needed_amount
- total_assigned_ram -= needed_amount
- affected_AIs |= AI
- break
- else if(ram_assigned_copy[AI])
- var/amount = ram_assigned_copy[AI] - AI.dashboard.free_ram
- ram_assigned_copy[AI] -= amount
- affected_AIs |= AI
- needed_amount -= amount
- total_assigned_ram -= amount
- if(total_ram >= total_assigned_ram)
- break
- //Set the actual values of the assigned to our manipulated copies. Bypass helper procs as we assume we're correct.
- ram_assigned = ram_assigned_copy
-
- to_chat(affected_AIs, span_warning("You have been deducted memory capacity. Please contact your network administrator if you believe this to be an error."))
-
-/datum/ai_os/proc/set_cpu(mob/living/silicon/ai/AI, amount)
- if(!AI)
- return
- if(amount > 1 || amount < 0)
- return
- if(!istype(AI))
- return
- cpu_assigned[AI] = amount
-
- update_allocations()
-
-/datum/ai_os/proc/add_ram(mob/living/silicon/ai/AI, amount)
- if(!AI || !amount)
- return
- if(!istype(AI))
- return
- ram_assigned[AI] += amount
-
- update_allocations()
-
-/datum/ai_os/proc/remove_ram(mob/living/silicon/ai/AI, amount)
- if(!AI || !amount)
- return
- if(!istype(AI))
- return
- if(ram_assigned[AI] - amount < 0)
- ram_assigned[AI] = 0
- else
- ram_assigned[AI] -= amount
-
- update_allocations()
-
-
-/datum/ai_os/proc/clear_ai_resources(mob/living/silicon/ai/AI)
- if(!AI || !istype(AI))
- return
-
- remove_ram(AI, ram_assigned[AI])
- cpu_assigned[AI] = 0
-
- update_allocations()
-
-/datum/ai_os/proc/get_temp_limit()
- return temp_limit
diff --git a/code/modules/mob/living/silicon/ai/decentralized/management/ai_controlpanel.dm b/code/modules/mob/living/silicon/ai/decentralized/management/ai_controlpanel.dm
deleted file mode 100644
index 2f8a3c2f8b0a..000000000000
--- a/code/modules/mob/living/silicon/ai/decentralized/management/ai_controlpanel.dm
+++ /dev/null
@@ -1,520 +0,0 @@
-GLOBAL_VAR_INIT(ai_control_code, random_nukecode(6))
-
-/obj/machinery/computer/ai_control_console
- name = "\improper AI control console"
- desc = "Used for accessing the central AI repository from which AIs can be downloaded or uploaded."
- req_access = list(ACCESS_RD)
- icon_keyboard = "tech_key"
- icon_screen = "ai-fixer"
- light_color = LIGHT_COLOR_PINK
-
- var/cleared_for_use = FALSE //Have we inserted the RDs code to unlock upload/download?
-
- var/one_time_password_used = FALSE //Did we use the one time password to log in? If so disallow logging out.
-
- authenticated = FALSE
-
- var/obj/item/aicard/intellicard
-
- var/mob/living/silicon/ai/downloading
- var/mob/user_downloading
- var/download_progress = 0
- var/download_warning = FALSE
-
- circuit = /obj/item/circuitboard/computer/ai_upload_download
-
-/obj/machinery/computer/ai_control_console/Initialize(mapload)
- . = ..()
- if(mapload)
- cleared_for_use = TRUE
-
-/obj/machinery/computer/ai_control_console/Destroy()
- stop_download()
- . = ..()
-
-/obj/machinery/computer/ai_control_console/attackby(obj/item/W, mob/living/user, params)
- if(istype(W, /obj/item/aicard))
- if(intellicard)
- to_chat(user, span_warning("There's already an IntelliCard inserted!"))
- return ..()
- to_chat(user, span_notice("You insert [W]."))
- W.forceMove(src)
- intellicard = W
- return FALSE
- if(istype(W, /obj/item/mmi))
- var/obj/item/mmi/brain = W
- if(!brain.brainmob)
- to_chat(user, span_warning("[W] is not active!"))
- return ..()
- if(brain.syndicate_mmi)
- to_chat(user, span_warning("This MMI lacks the support to be used for the creation of AIs."))
- return ..()
-
- SSticker.mode.remove_antag_for_borging(brain.brainmob.mind)
- if(!istype(brain.laws, /datum/ai_laws/ratvar))
- remove_servant_of_ratvar(brain.brainmob, TRUE)
- var/mob/living/silicon/ai/A = null
-
- var/datum/ai_laws/laws = new
- laws.set_laws_config()
-
- if (brain.overrides_aicore_laws)
- A = new /mob/living/silicon/ai(loc, brain.laws, brain.brainmob)
- else
- A = new /mob/living/silicon/ai(loc, laws, brain.brainmob)
-
- A.relocate(TRUE)
-
- if(brain.force_replace_ai_name)
- A.fully_replace_character_name(A.name, brain.replacement_ai_name())
- SSblackbox.record_feedback("amount", "ais_created", 1)
- qdel(W)
- to_chat(user, span_notice("AI succesfully uploaded."))
- return FALSE
- if(istype(W, /obj/item/surveillance_upgrade))
- if(!authenticated)
- to_chat(user, span_warning("You need to be logged in to do this!"))
- return ..()
- var/mob/living/silicon/ai/AI = input("Select an AI", "Select an AI", null, null) as null|anything in GLOB.ai_list
- if(!AI)
- return ..()
- var/obj/item/surveillance_upgrade/upgrade = W
- upgrade.afterattack(AI, user)
- return FALSE
- if(istype(W, /obj/item/cameragun_upgrade))
- if(!authenticated)
- to_chat(user, span_warning("You need to be logged in to do this!"))
- return ..()
- var/mob/living/silicon/ai/AI = input("Select an AI", "Select an AI", null, null) as null|anything in GLOB.ai_list
- if(!AI)
- return ..()
- var/obj/item/cameragun_upgrade/upgrade = W
- upgrade.afterattack(AI, user)
- return FALSE
- if(istype(W, /obj/item/malf_upgrade))
- if(!authenticated)
- to_chat(user, span_warning("You need to be logged in to do this!"))
- return ..()
- var/mob/living/silicon/ai/AI = input("Select an AI", "Select an AI", null, null) as null|anything in GLOB.ai_list
- if(!AI)
- return ..()
- var/obj/item/malf_upgrade/upgrade = W
- upgrade.afterattack(AI, user)
- return FALSE
- return ..()
-
-/obj/machinery/computer/ai_control_console/emag_act(mob/user, obj/item/card/emag/emag_card)
- if(obj_flags & EMAGGED)
- return FALSE
- obj_flags |= EMAGGED
- authenticated = TRUE
- to_chat(user, span_warning("You bypass the access restrictions."))
- return TRUE
-
-/obj/machinery/computer/ai_control_console/process()
- if(stat & (BROKEN|NOPOWER|EMPED))
- return
-
- if(downloading && download_progress >= 50 && !download_warning)
- var/turf/T = get_turf(src)
- to_chat(downloading, span_userdanger("Warning! Download is 50% completed! Download location: [get_area(src)] ([T.x], [T.y], [T.z])!"))
- download_warning = TRUE
- if(downloading && download_progress >= 100)
- finish_download()
-
- if(downloading)
- if(!downloading.can_download)
- stop_download()
- return
- download_progress += AI_DOWNLOAD_PER_PROCESS * downloading.downloadSpeedModifier
-
-
-/obj/machinery/computer/ai_control_console/ui_interact(mob/user, datum/tgui/ui)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "AiControlPanel", name)
- ui.open()
-
-/obj/machinery/computer/ai_control_console/ui_data(mob/living/carbon/human/user)
- var/list/data = list()
-
- if(!cleared_for_use)
- data["cleared_for_use"] = FALSE
- return data
-
- data["cleared_for_use"] = TRUE
- data["authenticated"] = authenticated
-
- if(issilicon(user))
- var/mob/living/silicon/borg = user
- data["username"] = borg.name
- data["has_access"] = TRUE
-
- if(IsAdminGhost(user))
- data["username"] = user.client.holder.admin_signature
- data["has_access"] = TRUE
-
- if(ishuman(user) && !(obj_flags & EMAGGED))
- var/username = user.get_authentification_name("Unknown")
- data["username"] = user.get_authentification_name("Unknown")
- if(username != "Unknown")
- var/datum/data/record/record
- for(var/RP in GLOB.data_core.general)
- var/datum/data/record/R = RP
-
- if(!istype(R))
- continue
- if(R.fields["name"] == username)
- record = R
- break
- if(record)
- if(istype(record.fields["photo_front"], /obj/item/photo))
- var/obj/item/photo/P1 = record.fields["photo_front"]
- var/icon/picture = icon(P1.picture.picture_image)
- picture.Crop(10, 32, 22, 22)
- var/md5 = md5(fcopy_rsc(picture))
-
- if(!SSassets.cache["photo_[md5]_cropped.png"])
- SSassets.transport.register_asset("photo_[md5]_cropped.png", picture)
- SSassets.transport.send_assets(user, list("photo_[md5]_cropped.png" = picture))
-
- data["user_image"] = SSassets.transport.get_asset_url("photo_[md5]_cropped.png")
- data["has_access"] = check_access(user.get_idcard())
-
- if(obj_flags & EMAGGED)
- data["username"] = "ERROR"
- data["has_access"] = TRUE
-
- if(!authenticated)
- return data
-
- data["intellicard"] = intellicard
- if(intellicard && intellicard.AI)
- data["intellicard_ai"] = intellicard.AI.real_name
- data["intellicard_ai_health"] = intellicard.AI.health
- else
- data["intellicard_ai"] = null
- data["intellicard_ai_health"] = 0
-
- data["can_upload"] = available_ai_cores()
-
- if(downloading)
- data["downloading"] = downloading.real_name
- data["download_progress"] = download_progress
- data["downloading_ref"] = REF(downloading)
- else
- data["downloading"] = null
- data["download_progress"] = 0
-
- data["ais"] = list()
- data["current_ai_ref"] = null
- if(isAI(user))
- data["current_ai_ref"] = REF(user)
-
- data["can_log_out"] = !one_time_password_used
-
- for(var/mob/living/silicon/ai/A in GLOB.ai_list)
- var/being_hijacked = A.hijacking ? TRUE : FALSE
- var/being_cogged = A.cogging ? TRUE : FALSE
- data["ais"] += list(list("name" = A.name, "ref" = REF(A), "can_download" = A.can_download, "health" = A.health, "active" = A.mind ? TRUE : FALSE, "being_hijacked" = being_hijacked, "being_cogged" = being_cogged, "in_core" = istype(A.loc, /obj/machinery/ai/data_core)))
-
- data["is_infiltrator"] = is_infiltrator(user)
-
- data["is_servant_of_ratvar"] = is_servant_of_ratvar(user)
-
- return data
-
-/obj/machinery/computer/ai_control_console/proc/finish_download()
- if(!is_station_level(z))
- return
- if(intellicard)
- if(!isaicore(downloading.loc))
- stop_download(TRUE)
- return
- downloading.transfer_ai(AI_TRANS_TO_CARD, user_downloading, null, intellicard)
- intellicard.forceMove(get_turf(src))
- intellicard.update_appearance(UPDATE_ICON)
- intellicard = null
- stop_download(TRUE)
-
-/obj/machinery/computer/ai_control_console/proc/stop_download(silent = FALSE)
- if(downloading)
- if(!silent)
- to_chat(downloading, span_userdanger("Download stopped."))
- downloading = null
- user_downloading = null
- download_progress = 0
- download_warning = FALSE
-
-/obj/machinery/computer/ai_control_console/proc/upload_ai(silent = FALSE)
- to_chat(intellicard.AI, span_notice("You are being uploaded. Please stand by..."))
- intellicard.AI.radio_enabled = TRUE
- intellicard.AI.control_disabled = FALSE
- intellicard.AI.relocate(TRUE)
- intellicard.AI = null
- intellicard.update_appearance(UPDATE_ICON)
-
-/obj/machinery/computer/ai_control_console/ui_act(action, params)
- if(..())
- return
-
- if(!cleared_for_use)
- if(action == "clear_for_use")
- var/code = params["control_code"]
-
- if(!code)
- return
-
- if(!GLOB.ai_control_code)
- return
-
- var/length_of_number = length(code)
- if(length_of_number < 6)
- to_chat(usr, span_warning("Incorrect code. Too short"))
- return
-
- if(length_of_number > 6)
- to_chat(usr, span_warning("Incorrect code. Too long"))
- return
-
- if(!is_station_level(z))
- to_chat(usr, span_warning("Unable to connect to NT Servers. Please verify you are onboard the station."))
- return
-
- if(code == GLOB.ai_control_code)
- cleared_for_use = TRUE
- else
- to_chat(usr, span_warning("Incorrect code. Make sure you have the latest one."))
-
- return
-
- if(!authenticated)
- if(action == "log_in")
- if(issilicon(usr))
- authenticated = TRUE
- return
-
- if(IsAdminGhost(usr))
- authenticated = TRUE
-
- if(obj_flags & EMAGGED)
- authenticated = TRUE
-
- var/mob/living/carbon/human/H = usr
- if(!istype(H))
- return
-
- if(check_access(H.get_idcard()))
- authenticated = TRUE
- if(action == "log_in_control_code")
- var/code = params["control_code"]
-
- if(!code)
- return
-
- if(!GLOB.ai_control_code)
- return
-
- var/length_of_number = length(code)
- if(length_of_number < 6)
- to_chat(usr, span_warning("Incorrect code. Too short"))
- return
-
- if(length_of_number > 6)
- to_chat(usr, span_warning("Incorrect code. Too long"))
- return
-
- if(code == GLOB.ai_control_code)
- cleared_for_use = TRUE
- authenticated = TRUE
- one_time_password_used = TRUE
- var/msg = "Warning!
We have detected usage of the AI Control Code for unlocking a console at coordinates ([src.x], [src.y], [src.z]) by [usr.name]. Please verify that this is correct. Be aware we have cancelled the current control code.
\
- If needed a new code can be printed at a communications console."
- priority_announce(msg, sender_override = "Central Cyber Security Update", has_important_message = TRUE)
- GLOB.ai_control_code = null
- else
- to_chat(usr, span_warning("Incorrect code. Make sure you have the latest one."))
- return
-
- switch(action)
- if("log_out")
- if(one_time_password_used)
- return
- authenticated = FALSE
- . = TRUE
- if("upload_intellicard")
- if(!intellicard || downloading)
- return
- if(!intellicard.AI)
- return
- upload_ai()
-
- if("eject_intellicard")
- if(issilicon(usr))
- to_chat(usr, span_warning("You're unable to remotely eject the IntelliCard!"))
- return
- stop_download()
- intellicard.forceMove(get_turf(src))
- intellicard = null
-
- if("stop_download")
- if(isAI(usr))
- to_chat(usr, span_warning("You need physical access to stop the download!"))
- return
- if(!is_station_level(z))
- to_chat(usr, span_warning("No connection. Try again later."))
- return
- stop_download()
-
- if("start_download")
- if(!intellicard || downloading)
- return
- var/mob/living/silicon/ai/target = locate(params["download_target"])
- if(!target || !istype(target))
- return
- if(!istype(target.loc, /obj/machinery/ai/data_core))
- return
- if(!target.can_download)
- return
- if(!is_station_level(z))
- to_chat(usr, span_warning("No connection. Try again later."))
- return
- downloading = target
- to_chat(downloading, span_userdanger("Warning! Someone is attempting to download you from [get_area(src)]! (Click here to finish download instantly)"))
- user_downloading = usr
- download_progress = 0
- . = TRUE
- if("skip_download")
- if(!downloading)
- return
- if(usr == downloading)
- finish_download()
-
- if("start_hijack")
- var/mob/user = usr
- if(!is_infiltrator(usr))
- return
- if(!is_station_level(z))
- to_chat(user, span_warning("No connection. Try again later."))
- return
- if(!istype(user.get_active_held_item(), /obj/item/ai_hijack_device))
- to_chat(user, span_warning("You need to be holding the serial exploitation unit to initiate the hijacking process!"))
- return
- var/obj/item/ai_hijack_device/device = user.get_active_held_item()
- var/mob/living/silicon/ai/target = locate(params["target_ai"])
- if(!target || !isAI(target))
- return
- var/mob/living/silicon/ai/A = target
- if(A.mind && A.mind.has_antag_datum(/datum/antagonist/hijacked_ai))
- to_chat(user, span_warning("[A] has already been hijacked!"))
- return
- if(A.stat == DEAD)
- to_chat(user, span_warning("[A] is dead!"))
- return
- if(A.hijacking)
- to_chat(user, span_warning("[A] is already in the process of being hijacked!"))
- return
- user.visible_message(span_warning("[user] begins furiously typing something into [src]..."))
- if(do_after(user, 5.5 SECONDS, src))
- user.dropItemToGround(device)
- device.forceMove(A)
- A.hijacking = device
- A.hijack_start = world.time
- A.update_icons()
- to_chat(A, span_danger("Unknown device connected to /dev/ttySL0"))
- to_chat(A, span_danger("Connected at 115200 bps"))
- to_chat(A, span_binarysay("ntai login: root"))
- to_chat(A, span_binarysay("Password: *****r2"))
- to_chat(A, span_binarysay("$ dd from=/dev/ttySL0 of=/tmp/ai-hijack bs=4096 && chmod +x /tmp/ai-hijack && tmp/ai-hijack"))
- to_chat(A, span_binarysay("111616 bytes (112 KB, 109 KiB) copied, 1 s, 14.4 KB/s"))
- message_admins("[ADMIN_LOOKUPFLW(user)] has attached a hijacking device to [ADMIN_LOOKUPFLW(A)]!")
- notify_ghosts("[user] has begun to hijack [A]!", source = src, action = NOTIFY_ORBIT, ghost_sound = 'sound/machines/chime.ogg')
-
- if("stop_hijack")
- var/mob/living/silicon/ai/target = locate(params["target_ai"])
- if(!target || !isAI(target))
- return
- var/mob/living/silicon/ai/A = target
- var/mob/user = usr
-
- if(!is_station_level(z))
- to_chat(user, span_warning("No connection. Try again later."))
- return
-
- user.visible_message(span_danger("[user] attempts to cancel a process on [src]."), span_notice("An unknown process seems to be interacting with [A]! You attempt to end the proccess.."))
- if (do_after(user, 10 SECONDS, src))
- A.hijacking.forceMove(get_turf(src))
- A.hijacking = null
- A.hijack_start = 0
- A.update_icons()
- to_chat(A, span_bolddanger("Unknown device disconnected. Systems confirmed secure."))
- else
- to_chat(user, span_notice("You fail to remove the device."))
- if("start_cog")
- var/mob/user = usr
- if(!is_servant_of_ratvar(usr))
- return
- if(!is_station_level(z))
- to_chat(user, span_brass("It's beyond our reach."))
- return
- if(!istype(user.get_active_held_item(), /obj/item/clockwork/integration_cog))
- to_chat(user, span_brass("How are you going to integrate it with no integration cog?"))
- return
- var/obj/item/clockwork/integration_cog/device = user.get_active_held_item()
- var/mob/living/silicon/ai/target = locate(params["target_ai"])
- if(!target || !isAI(target))
- return
- var/mob/living/silicon/ai/A = target
- if(A.mind && is_servant_of_ratvar(A))
- to_chat(user, span_brass("[A] has already seen the light of the Justiciar!"))
- return
- if(A.stat == DEAD)
- to_chat(user, span_warning("[A] is dead!"))
- return
- if(A.cogging)
- to_chat(user, span_brass("Be patient."))
- return
- user.visible_message(span_warning("[user] begins holds a strange cog up to [src], and it begins to spin..."))
- if(do_after(user, 5.5 SECONDS, src))
- user.dropItemToGround(device)
- device.forceMove(A)
- A.cogging = device
- A.cog_start = world.time
- A.update_icons()
- to_chat(A, span_danger("Warning! Anomaly detected in primary systems!"))
- to_chat(A, span_heavy_brass(text2ratvar("You belong to me now.")))
- message_admins("[ADMIN_LOOKUPFLW(user)] has attached an integration cog to [ADMIN_LOOKUPFLW(A)]!")
- notify_ghosts("[user] has begun to convert [A]!", source = src, action = NOTIFY_ORBIT, ghost_sound = 'sound/machines/chime.ogg')
-
- if("stop_cog")
- var/mob/living/silicon/ai/target = locate(params["target_ai"])
- if(!target || !isAI(target))
- return
- var/mob/living/silicon/ai/A = target
- var/mob/user = usr
-
- if(!is_station_level(z))
- to_chat(user, span_brass("It's beyond our reach."))
- return
-
- user.visible_message(span_danger("[user] begins to rip out a strange cog from [src]!"), span_notice("There's something attached to [A]! You attempt to remove it.."))
- if (do_after(user, 10 SECONDS, src))
- A.cogging.forceMove(get_turf(src))
- A.cogging = null
- A.cog_start = 0
- A.update_icons()
- to_chat(A, span_bolddanger("Anomaly cleared. System is now safe to resume operation."))
- else
- to_chat(user, span_notice("You fail to remove the cog."))
-
-
-
-/obj/item/paper/ai_control_code/Initialize(mapload)
- ..()
- print()
-
-/obj/item/paper/ai_control_code/proc/print()
- name = "paper - 'AI control code'"
- info = "
+
-