From 02d003dc19ac124069c7de011d7306311d52d3be Mon Sep 17 00:00:00 2001 From: ThePooba <81843097+ThePooba@users.noreply.github.com> Date: Thu, 26 Sep 2024 08:24:39 -0600 Subject: [PATCH] Bomb-Actualizer (#2711) * i fucking forgot to commit on friday * wrong spot oopsie * added to illegal research and mapped machine board to it * Bomb_actualizer partially built, can be made from machine bits. ToDo: add timer, global message to trigger, destroy / end timer on destroy * Only thing left is UI, Timer, Sprite and tweaking values * Making UI for bomb thing i just want to make a button why is this so weird * Added ui to trigger bomb countdown TODO: countdown, Destroy() * the rest of the owl has been drawn * Added a sprite that needs to be fixed up to match the game * Better sprite made * Reordered some stuff, sprite fix animation * cant use on reebe calls you nerd * Fixed Some Tool Interactions * Changes to use on_reebe proc * Modularizaed many things, added cooldown, more testing with bomb sizes (cant get an explosion bigger than 70~ which is good) * added good explode noise * fixed shit timer and BWAAAAANG * added missink sprote * yhtefdg --- icons/obj/machines/research.dmi | Bin 26907 -> 27000 bytes .../code/game/machinery/bomb_actualizer.dm | 251 ++++++++++++++++++ .../code/game/objects/effects/countdown.dm | 11 + .../circuitboards/machine_circuitboards.dm | 9 + .../research/designs/machine_designs.dm | 10 + .../modules/research/techweb/all_nodes.dm | 12 + sound/misc/guitarreverb.ogg | Bin 0 -> 25558 bytes tgstation.dme | 1 + .../tgui/interfaces/BombActualizer.tsx | 33 +++ 9 files changed, 327 insertions(+) create mode 100644 monkestation/code/game/machinery/bomb_actualizer.dm create mode 100644 sound/misc/guitarreverb.ogg create mode 100644 tgui/packages/tgui/interfaces/BombActualizer.tsx diff --git a/icons/obj/machines/research.dmi b/icons/obj/machines/research.dmi index 02d848eb4e9dab872564abb8b9cac79bb5662a98..77721bb9bbb3edcd6930fe674b2b6fc5567ba453 100644 GIT binary patch literal 27000 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
    YW1M)!$&WC0>ZVCwTYLrS}!RH`T$WZho8v)qIDk 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

    #3O4 zCRuGV_^CHwQL;MV^wJ+(vH>Fx;@DOZlHc;Vm0*8sdJ47xpL<@RQNoApH@ZE!jeD=F z^7@bHLs1wG6IUd3Me~V2v2y1jdCiicGY&;at0C9+5!%GwB9Xt4<(s61&YR}sw}YAs z51kY`Ki<~%NZyk{yjcolZocM;$pp|T`Zh_1)1KVi+ymdWKO3%{{kS{&?c1Gj7+GN* zb+?LJ%S$n`Ein<6)yLXZ`{=SKK1C<{16+~dJ!AR(b*Jt=PLhMSrH%~>w6u(Q5AvQr zB7cq!_r&eN&_7a)>UR%x4SVgYN_!H2d)Ejph?z!xMy{M(qk5UV=XOjzxF5L1%-GL; z9pS-gM@^7O6vBs>*ao><38)j=vaf~ln87jUH|eCdZ$Q^-i)a=vAGe%=0=LmjnQVc? zYtAH6do?LGNHm`GO3srhfT0EDAG$w_}^;So{?Ex1S!9x;N6Ex^{Ek$paWSd=4#@P17FWI&-hKc zK=-0?chVD8H9t2z@yUYl$`NdQGVeIG@$w4KA$$BWchMX_4^pjRr5)Na{N$s=b>QFe zan{;2`}E46rRZ};fkQ(>cQmhbQbFda(I#e|OqEJS1-!q0{CK+v7c>ERCje~0&wR4Z zrMwZd%?EHWAt51!Px80mHOuSkO@M&IsMAOO5+@gz`oo8;kA9iGo}RY&keDbaE`FxF zyL;=H2nzpPFn;u?0ejGBC1us0p=oDl7dYk8Iy=iJBrM!NKK{D8TFGeV8Um4c|FA{a z(B6nm=tf6s^`rCa_zE27yrSxP61FlB8`W#H^WK+ujBCEv8)0e5`1P?bmjrVEw@&Q5 zpv6uLIVqdWLZ^A9V)J)Q;>_W~he7rywPLp827eR6kW}*8aKdoLsV>j>=N-m0nZ&m4 zZX<-2!S0*SSy@>oMb>n1INVD1b5Q`^-P6aX(E(*05O9e|ByLUqVbBYyw*qRSp{Yq% zTwENVk`g;KWEc}0TkleCaYigo>AjE25U?8QU z@J<#P2e{1dgO$1-h z6xZf%v}YYmKIg&l;Uewn07Wz2&voV5c&9GvZ=D{}FZ%iKnVNEmh={}|CB2@Xx8B>^ z<6}N)1^NoF;YmnH$jQxpD2~p|q+x;)q<&e{M3G2{WgPrlc6OtaEM_3K+?ZdKTo4o#1XJRwxVR?pl`)=3t<9vv-`@gglasX69iEAuSN{H$ zE1$^sAZh_Ie zUAE`CI`cmP>BHfQPO@CZB_;h66VU`hz+r&Orw2l%Wn}__g6b$jdOANqhXnK$j}{o++qFu_=B3X&gRY^41ZWe9`Do8F>i9 zh@4n@PUXHb0J`_L&hCbQs3-#vTU*^vqujpXVY;;5h^VO3jEsy{V73F(q~hh8yT&=)O*R{_U!(=#i@}Q0gsZjU zm;ODwgB|%m7nv-a)blMT=cJdHSK+u5CnslJ_h-2|9DHsU4<_EJf>DN&@tAtf)|AEI zVTb1S_rlWGuLl>PNf#+khvP&lD=Pt0CU`OZT?5xX-Ys}9fQ-9J|)5^G&s2HJ4mvwGjIYh^9B{A7Cp zjLp9-tONaqCohi>-PnQoe&$b1-z_d_2Ie33m#!UqNaG(#7EWA3@qd_J)#^atBnF>@ zhj>m*xT3ke^16AXPc(XBr%;Zg=H?gM0v2T~s|XmB*3%A?P|*vCdP)YT9gUfe*q5#q zXtMLCH+PtwzuM{;*C2OpJ%~J?HJjlyCOQRomKSNqt4AzrroM zo>2I-AXL&~;99RBcY$(Luz$yPxhZcW?^)v6(WR@F+SiJNI{asM!kJXZJn&v9Da!!F z*UIGb;?#x&QDb0C1_GT0=X$G-18#XYRs7DslWq+EHbO#V=7zkgNn>!1945OhM3@{NG(7SKW1_U>Q(xb9T5Jq~zps!s) zro9V3krx&Wwe{&Do2`RfeXssv`pn)<-3v=ji{nKf@I=SSw_66k{jUW@a4I)K z`Q^^dB5O`Xi(9U}Xu9$f@+0C#Z%#2wTTTE23kQFSx{ajT7%LL|)q6b+-=*6{zzv&z zucp2o`eR3P>X}ZcpTaqj{(%1J={ErS+r27dQNRIKGLYg#SrAy|$vR5-_sWNj=`;54 zQtV6unQK=!TjEeI8j&@UCryQW_u1t5rgl3v?#oQ2*V=b;_C=XA z;0KCGb|A!JvypFLu_{uz`;)JK>~P$}(n~cPNohP8Kc37T_=LT<`UnxJxEtZ??s?zv zpA4bg;nP)9XRD@ohH=Lada@?s$U+3p(#E+u8$m&^7K5LT<(k26SBYKq5>y*gx6a7I z(vdEKptp1PD`d4%seBseBVv2=^DXvd7}sle5`7(YD3sTph9nol?8sD*mDX@qE65PW zYS#pm7$)uSki*jU$`&UT0#FWYBVTUOLw9s_Ig%x99TOy%I-L6)@C&kbMFe1h35tIU zfUe#dO#hZgedRfu?*f75F!2}`2k$*v6+hJ1Vj#Fy2l9HAc8zmhqAyQts^1Xq_nxEu zBk@HqwY3Ai`8$u$bs((@vGdVd-S_bslIIIrb-4R?jL$#K-{_sc;=qHj!%Sja&MNiK zAvCThMvR>yRpI>Pv7*N!W6u`_8ps!0GvWW#GXF^y;iDY2!0v)m{?3Bg?=u;@f)jj- zu<=oJa%o4R+$`I)#W$D9?++~XNqiOxyvNKj6C8SoMG=_$dYnl}d>G<3=`O7jedyPM z{9*3#GVO*k=Yfx#vwVsIlHF63QQ27#Z4j2F_A&yP!`dlMjJn9m+L}7>g+f<_i~MRV zs;g0keojRu5HwLXHO=7Y;!;Z-vum)vK7`Br-3yi0(JytahWxvWGRMKRT@F&}B(iC<$x(|I`@ zH9}1mbgT}tw$tR=4C=?_JOy^-Kk7I>vF7avUzCg|b~W_eICrt758l(~*iy8Z+f#?TS##Y zkK5a;n{&Im`vPoyFyt=PY%_Q2n+tYonoYnTH|%)~x&QZ(!TY zEWR!;p#AEVGKiOj1LV3#W|EZv_UBy<4Qsbc%mM-e=iVsueHa47NgChI><2Qlu)K8> zQ;m#_ydw{eVc=PlF?4sPVC(u4abgZgv$5`WaL;ZoDwqCmHm{O68ww`jtYF)y3-e9Z zJjuesGL>+FA$~?Fqmh;O&e+siUB8i>M(Jx%hrI&a7)Gb4Zs%_83Krnmi~5NQ1Et^576kKy*3E%MgwiA#p5XMb#s&9gFFID&pIRCk4mMQp zGyuC;o);@94i!RoMSubMMDFPme{Yi6O1hs1nPEMQU*JidNnre<8Uqtp^O9NwLP6WD zK}`TB!@y^fZ#o*fv^!I3yo){yZA~wqfDUhmhoOQZBbz8M077FQJuY*d`Q?5;qdknC zh2;u8JKx<<<8o$}{($jJnIt1B?uQ zeg@{G0Dru%Yw_(}*66bW8Gjo+{%u1Anf~q_j$Ci`u3hlaBj~QCj>a!FtKk0uM}A%F diff --git a/monkestation/code/game/machinery/bomb_actualizer.dm b/monkestation/code/game/machinery/bomb_actualizer.dm new file mode 100644 index 000000000000..cbf791e0cea1 --- /dev/null +++ b/monkestation/code/game/machinery/bomb_actualizer.dm @@ -0,0 +1,251 @@ +/obj/machinery/bomb_actualizer + name = "Bomb Actualizer" + desc = "An advanced machine capable of releasing the normally bluespace-inhibited destructive potential of a bomb assembly... or so the sticker says" + circuit = /obj/item/circuitboard/machine/bomb_actualizer + icon = 'icons/obj/machines/research.dmi' + base_icon_state = "bomb_actualizer" + icon_state = "bomb_actualizer" + density = TRUE + max_integrity = 600 + use_power = NO_POWER_USE + resistance_flags = FIRE_PROOF | ACID_PROOF + processing_flags = START_PROCESSING_MANUALLY + subsystem_type = /datum/controller/subsystem/processing/fastprocess + + /** + * Stages for countdown warnings and alerts. + * 0 = no major alerts, + * 1 = the timer has reached 60 seconds, + * 2 = the timer has reached 10 seconds (it will reset to zero immediately after) + */ + var/stage = 0 + //location to call out on priority message + var/alerthere = "" + /// The TTV inserted in the machine. + var/obj/item/transfer_valve/inserted_bomb + //combined gasmix to determine the simulation to reality + var/datum/gas_mixture/combined_gasmix + //Timer till detonation in seconds + var/default_time = 420 SECONDS + //used to track current world time + var/timer = null + /// The countdown that'll show up to ghosts regarding the bomb's timer. + var/obj/effect/countdown/bomb_actualizer/countdown + //Can examine the Countdown + var/examinable_countdown = TRUE + //So the ttv transfers gas properly + var/obj/item/tank/tank_to_target + //For managing if the tank exploded so it doesnt explode twice + var/active = FALSE + var/exploded = FALSE + //When to beep (every second) + var/next_beep = null + //sounds for scaryness + var/beepsound = 'sound/items/timer.ogg' + var/scarywarning = 'sound/misc/bloblarm.ogg' + var/verybadsound = 'sound/machines/engine_alert1.ogg' + var/youdied = 'sound/misc/guitarreverb.ogg' + /// The countdown that'll show up to ghosts regarding the bomb's timer. + ///Our internal radio + var/obj/item/radio/radio + ///The key our internal radio uses + var/radio_key = /obj/item/encryptionkey/headset_sci + ///The common channel + var/common_channel = null + //Cooldown for pressing button + var/COOLDOWN_BOMB_BUTTON + +/obj/machinery/bomb_actualizer/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_ATOM_INTERNAL_EXPLOSION, PROC_REF(modify_explosion)) + radio = new(src) + radio.keyslot = new radio_key + radio.set_listening(FALSE) + radio.recalculateChannels() + countdown = new(src) + update_appearance() + +//For when the machine is destroyed +/obj/machinery/bomb_actualizer/Destroy() + inserted_bomb = null + radio = null + combined_gasmix = null + QDEL_NULL(countdown) + end_processing() + return ..() + +/obj/machinery/bomb_actualizer/attackby(obj/item/tool, mob/living/user, params) + if(active && istype(tool, /obj/item/transfer_valve)) + to_chat(user, span_warning("You can't insert [tool] into [src] while [p_theyre()] currently active.")) + return + if(istype(tool, /obj/item/transfer_valve)) + if(inserted_bomb) + to_chat(user, span_warning("There is already a bomb in [src].")) + return + var/obj/item/transfer_valve/valve = tool + if(!valve.ready()) + to_chat(user, span_warning("[valve] is incomplete.")) + return + if(!user.transferItemToLoc(tool, src)) + to_chat(user, span_warning("[tool] is stuck to your hand.")) + return + inserted_bomb = tool + tank_to_target = inserted_bomb.tank_two + to_chat(user, span_notice("You insert [tool] into [src]")) + return + update_appearance() + return ..() + +/obj/machinery/bomb_actualizer/wrench_act(mob/living/user, obj/item/tool) + . = ..() + if(!active) + default_unfasten_wrench(user, tool) + return TOOL_ACT_TOOLTYPE_SUCCESS + return FALSE + +/obj/machinery/bomb_actualizer/screwdriver_act(mob/living/user, obj/item/tool) + if(!active) + if(!default_deconstruction_screwdriver(user, "[base_icon_state]-off", "[base_icon_state]", tool)) + return FALSE + update_appearance() + return TRUE + +/obj/machinery/bomb_actualizer/crowbar_act(mob/living/user, obj/item/tool) + if(!default_deconstruction_crowbar(tool) && !active) + return FALSE + return TRUE + +/** + * Starts the Detonation Sequence + */ +/obj/machinery/bomb_actualizer/proc/start_detonation() + if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_BOMB_BUTTON)) + + if(active) + say("ERROR: The countdown has aready begun!!!") + TIMER_COOLDOWN_START(src, COOLDOWN_BOMB_BUTTON, 3 SECONDS) + return + + else if(!istype(inserted_bomb)) + say("ERROR: No Bomb Inserted") + TIMER_COOLDOWN_START(src, COOLDOWN_BOMB_BUTTON, 3 SECONDS) + return + + + else if(!on_reebe(src)) + say("Beginning detonation sequence. Countdown starting.") + alerthere = get_area(src) + countdown.start() + active = TRUE + next_beep = world.time + 1 SECONDS + timer = world.time + (default_time) + begin_processing() + priority_announce("DANGER - Tampering of bluespace ordinance dampeners detected, Resulting explosion may be catastrophic to station integrity. \ + Remove the tampering device within 7 Minutes or evacuate the localized areas. \ + Location: [alerthere].", "Doppler Array Detection - DANGER", 'sound/misc/notice3.ogg') + TIMER_COOLDOWN_START(src, COOLDOWN_BOMB_BUTTON, 3 SECONDS) + return + say("UNKNOWN ERROR: Nice try nerd. ") + TIMER_COOLDOWN_START(src, COOLDOWN_BOMB_BUTTON, 3 SECONDS) + return + +//Process for handling the bombs timer +/obj/machinery/bomb_actualizer/process() + var/volume = 40 + if(!active) + end_processing() + timer = null + next_beep = null + countdown.stop() + stage = 0 + return + if(!isnull(next_beep) && (next_beep <= world.time)) + + playsound(loc, beepsound, volume, FALSE) + next_beep = world.time +10 + if(seconds_remaining() <= 60) + if(stage == 0) + radio.talk_into(src, "WARNING: DETONATION IN ONE MINUTE.", common_channel) + playsound(loc, scarywarning, volume, FALSE) + stage++ + if(seconds_remaining() <= 10) + if(stage == 1) + radio.talk_into(src, "FAILSAFE DISENGAGED, DETONATION IMMINENT", common_channel) + playsound(loc, verybadsound, 80, FALSE) + stage++ + + if(active && (timer <= world.time)) + playsound(loc, youdied, 100, FALSE, 45) + active = FALSE + stage = 0 + update_appearance() + inserted_bomb.toggle_valve(tank_to_target) + + +/obj/machinery/bomb_actualizer/proc/seconds_remaining() + if(active) + . = max(0, round(timer - world.time) / 10) + + else + . = 420 + + + + /** + * catches the parameters of the TTV's explosion as it happens internally, + * cancels the explosion and then re-triggers it to happen with modified perameters (such as maxcap = false) + * while REDUCING the theoretical size by actualizer multiplier + * (actualizer_multiplier 0.25 would mean the 200 size theoretical bomb is only 12 + (200*0.25) in size ) + */ +/obj/machinery/bomb_actualizer/proc/modify_explosion(atom/source, list/arguments) + SIGNAL_HANDLER + if(!exploded) + var/heavy = arguments[EXARG_KEY_DEV_RANGE] + var/medium = arguments[EXARG_KEY_HEAVY_RANGE] + var/light = arguments[EXARG_KEY_LIGHT_RANGE] + var/flame = 0 + var/flash = 0 + var/turf/location = get_turf(src) + var/actualizer_multiplier = 0.5 + var/capped_heavy + var/capped_medium + var/capped_light + + if(heavy > 12) + capped_heavy = (GLOB.MAX_EX_DEVESTATION_RANGE + (heavy * actualizer_multiplier)) + + if(medium > 12) + capped_medium = (GLOB.MAX_EX_HEAVY_RANGE + (medium * actualizer_multiplier)) + + if(light > 12) + capped_light = (GLOB.MAX_EX_LIGHT_RANGE + (light * actualizer_multiplier)) + + SSexplosions.explode(location, capped_heavy, capped_medium, capped_light, flame, flash, TRUE, TRUE, FALSE, FALSE) + exploded = TRUE + return COMSIG_CANCEL_EXPLOSION + return COMSIG_ATOM_EXPLODE + +/obj/machinery/bomb_actualizer/examine(mob/user) + . = ..() + . += "Big bomb." + if(examinable_countdown) + . += span_notice("A digital display on it reads \"[seconds_remaining()]\".") + if(active) + balloon_alert(user, "[seconds_remaining()]") + else + . += span_notice({"The digital display on it is inactive."}) + +/obj/machinery/bomb_actualizer/ui_interact(mob/user, datum/tgui/ui) + .=..() + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "BombActualizer", name) + ui.open() + +/obj/machinery/bomb_actualizer/ui_act(action, params) + . = ..() + if (.) + return + if(action == "start_timer" && !active) + start_detonation() + diff --git a/monkestation/code/game/objects/effects/countdown.dm b/monkestation/code/game/objects/effects/countdown.dm index 4bff884f31ac..f0b805002e7b 100644 --- a/monkestation/code/game/objects/effects/countdown.dm +++ b/monkestation/code/game/objects/effects/countdown.dm @@ -11,3 +11,14 @@ var/completion = round(C.get_completion()) return completion + + +/obj/effect/countdown/bomb_actualizer + name = "bomb actualizer countdown" + color = "#ff9100" +/obj/effect/countdown/bomb_actualizer/get_value() + var/obj/machinery/bomb_actualizer/Bomb_Countdown = attached_to + if(!istype(Bomb_Countdown)) + return + else if(Bomb_Countdown.active) + return Bomb_Countdown.seconds_remaining() diff --git a/monkestation/code/game/objects/items/circuitboards/machine_circuitboards.dm b/monkestation/code/game/objects/items/circuitboards/machine_circuitboards.dm index f92f715cb3f9..ffc5fe574103 100644 --- a/monkestation/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/monkestation/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -84,6 +84,15 @@ . = ..() . += "Cloud ID is currently set to [cloud_id]." +/obj/item/circuitboard/machine/bomb_actualizer + name = "Bomb Actualizer (Machine Board)" + greyscale_colors = CIRCUIT_COLOR_SCIENCE + build_path = /obj/machinery/bomb_actualizer + req_components = list( + /datum/stock_part/manipulator = 1, + /datum/stock_part/scanning_module = 1, + /datum/stock_part/matter_bin = 5) + /obj/item/circuitboard/machine/composters name = "NT-Brand Auto Composter (Machine Board)" greyscale_colors = CIRCUIT_COLOR_ENGINEERING diff --git a/monkestation/code/modules/research/designs/machine_designs.dm b/monkestation/code/modules/research/designs/machine_designs.dm index 9dd731010b29..d5c912d3bb51 100644 --- a/monkestation/code/modules/research/designs/machine_designs.dm +++ b/monkestation/code/modules/research/designs/machine_designs.dm @@ -81,6 +81,16 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SCIENCE +/datum/design/board/bomb_actualizer + name = "Machine Design (Bomb Actualizer Board)" + desc = "The circuit board for a bomb actualizing machine" + id = "bomb_actualizer" + build_path = /obj/item/circuitboard/machine/bomb_actualizer + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_RESEARCH + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + /datum/design/board/composters name = "Machine Design (NT-Brand Auto Composter Board)" desc = "The circuit board for a NT-Brand Auto Composter." diff --git a/monkestation/code/modules/research/techweb/all_nodes.dm b/monkestation/code/modules/research/techweb/all_nodes.dm index 741c43fcf747..65498530e0db 100644 --- a/monkestation/code/modules/research/techweb/all_nodes.dm +++ b/monkestation/code/modules/research/techweb/all_nodes.dm @@ -223,3 +223,15 @@ "ipc_leg_right" ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + + + +/datum/techweb_node/bomb_actualizer + id = "bomb_actualizer" + display_name = "Bomb Actualization Technology" + description = "Using bluespace technology we can increase the actual yield of ordinance to their theoretical maximum on station... to disasterous effect." + prereq_ids = list("micro_bluespace", "bluespace_storage", "practical_bluespace") + design_ids = list( + "bomb_actualizer", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 20000) diff --git a/sound/misc/guitarreverb.ogg b/sound/misc/guitarreverb.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b0492dfbfb1b3570b5c603eeb4175c113fb909d3 GIT binary patch literal 25558 zcmeFZcUY3`|1f-kf~aVqK<*p&f|49Lsv8r`9OVE)Y#{EH-qz_-^_=@kw7&;Lk= z6@E`;2lik_ZHrv8J|O}h8^vM#S^&QmzszQtjm>f!JG_N|SZH!c)Yb?*b!$pgLj2aa zu&qg!3p1;M9~zU%Tp5)Z?+~}mjs$`Ip44)+8v_C$z-E#+UdHV!paTF30N5s$>PN!Y zTGka+TkI+=@>nRzY_dy>vSnH!xuouY9(cP@EC471Tnpv=n&)eydz~V*%<~hfoTAn_ zHsF=`e&bHc*FKtsY^`stkJ;L5X^Kz_gnU zFePu=kP>!3CHa2JzQEGVpmX~I&t(S5GdF$C4A#o}JAc_X_IV-y+BzNrR2e&!Jhc=U z=?EsA1PU2hA}A2L01~`%p^;@_&D#3#=#x?9ZIR7wakowrZkH^|hapBhhRZ(U2 z|F0Y#SQ7R>XL4kZ6+i}Id40Ry_3b89f0OG81f^dP?g2oYlKly?1iLkfcGnYEfO$<4 zTM+yUEL?C}t!jiD^7l$$2VV6gzO1k8{T(OuvS(FInDW7nY+AYb`KHqHUl@$- z)qV=%((>jpS=F(=vc%rC$g;ZMrCl23N-a$TV4e1h3iWR7V6b1*K$%k0112~&u&?ZS z<9Q5N$}TE5m!7Bnp6_q6Xxd!S+u`&C9FaXz9&=uK6Il8hTJidh@t!`SJxxMTbVc{X_>~)?NccR>oB#?>;_8=AKNuM82Jn7^SQzso}S=SZ$ds^20 z<|q)U_|O7Zxb`n5$tq2_Y1sgB#lItN&g3pyzyIIz-M4yv8m3_GUq%eDT}h|WH>AV` z9!(xSo4HAzJa&KI*!{dMi?jZdu>Qq40LU~Mzj(5UlS{f@k-l!V@^1wH!#UeA*AMI6 zIBeo|+QesoaOa)f`uBGInp8hKp8)Kper)m}E-b)d)1ZCWAU$j-CG0_4SkT#hfo*>? z%x|_CyPy1ToU_0pMo#%pJqi{7i*u?h@+Tbgjn@{M1Qwd@Dv8K0YdUuPWs^YVKR73n z-%!eL;PGGZ@-4DUqO!|`=LNAhPflO>AM?LBXH9|$m_g2=CYbyi=d_db+(2$RP4IdD zdygyoL4YPv7yml~0HD19>GkUz@$)AR`P&cq6X~>-|9g%BTZim?2JJw=76X7b08G}_ z-`lOO!6|Ucc8x@=?b4HNbbeV;voZHzfwBAAS;K(aC`D;$-`Y&fy$M#dej+U=uO-yO zmDtwpZ}_ZH2|V@?K(#iYejTFcqoC)d0CL_!T002%U?6ui7Y=_gwfEbRHCK`~slQ+U z&z|5yc7BRr{(Bm5p?(^q-|p|Vz*X99sbo7)lKh{i|7I;ed&v5KTZ?SxL#FxspRe?P zXZXJm_#Ytvk~l;i{NPqs8(KrTju7DBQ*t4G?VKGqByeuUP91N}aVBoXqB5nyf4Bn_ zu2-M)FERa3!R}0zfRZA6sKfi7itQiV8Hk` z%&h@Cze&fEx+p=Hk0*dP0otE9mOR@fu;7FGlknzt!maldKa5WRebdpW%#s(`0*kVG;e{pOLU(_O zC{VeJEc;iroeu^)g~8K!)8ew{*$XoWg(p?Po`ZHiV9)z7L1bBdlMs|7lEoMBjA3IE)(wj=OM@pg{Zmu3aS*zPfPI`W65xP!Ed30^#EeZ>I?WFy0OU z@a+ia8;z$Cx<2RT0F2IQBY+3eLT<1psSX*Uv09}%*n72yVW_{qm1UjEYAe%Xe^-yX zTK{F9#JUoHm|=0DXA{2G-`^4jaP=L*4-=7@B~k?5f!bb35$Cqk3zOBJq~{fh8isXR zpnB7U30cr_iV8`fp1jWUMk!clUKa}Xt2pBC4A!ZG3P%#yrMAd_^;AV7sDD&~T_6DY zH?;Y&>ufY=zrc+J+Q%2rb=({T_u9hxUB}Hqy*0Y9_IFL$io1V9f7kK9VVtlD#Kr=k zOm8jVs7WYP0pA8eKxHoIyF%ggwYCNL-%k!6T>$>{g?13`$zj^(7Q{C}6#&+60{|;= zaB{{GfutQ2bkGHPnL$EWf;t!6uoku2!!onr|4IH3E;xpZ`rATr$PNCxv|Z)jt(O0? zU;h6r$yqTiQU;*ao2ft!%*eA9nN(u);fr-nYXAsk5bLfy(v(S2p{FNyb*__zX>kdQ z-?ExVLe$mXW5tqicb$}~Yl~QX%eDy+L0}!Y71l;o!@43?4zW$EJk}7zS`1hhV(Tdd z>%gtV5IoO=brP9YOdi#uJZPacrp4a!S)!L@h!rA|n$_eMF4T#n!$w8^%epZEV5uy_ zru(y2h=}xpbwuOZ7lQyI*f|EI1>?}XrfwEUILcwUdBmZj#9kOcUg-#sO|@LjwduIv z8s)_X++T<}5899*>2)tq*aBVo*J>q#WQNaJu*7N+zZzUY^%BIHcE~>s)ft8UH^C7L z4d8O7b@zUcuvpN9J)8d3P*+ss|7$Gbmx>IUq6?a;21vU_{@}PwaE;%(GYAkBaE)IL zo}kH!S*`rLp{Nk-SNC@VxDYu1-wohG;55HSfQ1DWym+DSLgCl5X`uwZ{(k;$r~?-Q zD}PrlECjy(J>Rc|iu|p9zk?bFF7(8p0CZl$mQ)S9+vm^{rBWB*&VRluKIU^o+Lp zx)yk3rvZQhdYL8yLrzUa0*+*l0w|!Oiq!9f%xqLAs_rT9$0XJEQrOh@zD#8kpCtvCav&sTjRCX+v_Ld zC;I22pQ=AqzWjv!RQzcIzCeG%KmCLND(e54;FEgs4}6eWq!&AHZRObH0t*Uq+yRwI z%=J0rVEvSvmibTCTyvhGtUD>wQb75=`O7iDb2-)DU9l!Il$wQY`RnNRF9+fRAs@c@ z;s@jUL!vYScJH+)c-b~3vCFo+A^AaBmqmiN53jq|8(rp9IrMJ%m`Bgp+1H-dEnTN( z-_8HHe+H`e*0boKT4RCT;q*TziY*rD`Wi+VDIJ*R8HuA{!RlN(9XZ@4v={Ojssd&W zp3g<+sr%7=W2wfGQmeW5rw&CW>yY^`LphJaH5I$we(!1@-wOBEySpBVd>!8YVb4BA z&B;kIz$9=;G7efSv?`nUm^#%L*(HqAr6zV>H0N^;#9In}wO!Bl`v+u}u z=0D$;fHY(CKL8>WztJ6vJgAkH+%+&Uz4cEDw!ewpVZlPT2>AF1^Um4J?kD@{^jozt z`=fK2$XLeZr<>Bvu`#j3SP|)Hg%-IriXoiOIwrG zdW?ex_DQxs11LD5K0uiVI_-gu+h`>?P&g;l^Y!!`i_;Y(3Zxv8t)=@4P;*PO7gR;( zN!TL44wiA6#L7WvR5~nD%_`+646AjbWE7Nr?m9nv9=4Sy6JmX-U0N}*o9XH3BF6Dr zd37$ezmW;R>?gDFZ%JOQEipGPJoxyId`@{qC*PaeICY?RR5&IgQkXt!ZdP9`L`3# z&x-2C-ZcI=LaW4HjSJ5`KJNav+glv#=nSh4Y2pT##Z9kSx)k! zV+Xs_RJdgha*H+!ktngUDjAMz6O{5&>75tYOtHJUkq*IKvJPkwKrI*^2M6Cpmzdkf zh_zbN;xfj0J?>v#S&uX>-F58eI^~bSPw4AEnw&}M9DEpa@lO>?v zd1IONx<|?CT{;*lEC(Gl`6|XGy#tqbH)7BcqC5!&TS0lNmF?Ys8qXXYXuq zSX;5*}xII!gR=hRpPPi1+T!PDDVIfIO8Ufd0zr!hVW3@tvUu?3^eyk)PU?zt&QXt2B43>)1iP{_&EU>|waERaGMnXsNOn^z&s56s8{v zY>pk0D(PtHhjz#qoAy+t_PgTt9`h!)y&NyNnHu2ah|+Ya<&iYcaBDzC5~UmDHsdWh zBRxwOw`z9^iK0?mNi6TQOZRlrEhZ6velTOB4t? z#*aj>vL<9#M2RPD>PX$)RgLb7%acB=HP8MM^6~A9q6Z&;5I%j&m0ESvyu>OGCmox*vuJ2$;mwV_+acS1P|>=^cm#3%kiD9tMx zM@LaNcH|c|JF$Gq*8_SE+&Wj)lJ#FynE-%kxz@OtmIE108iR!(J1?of2>_xmykYPVwDBMCPiZDt_=ttN1uV@3an-YrqRoz zR!Ho+Og{2cG+rcDTan!$nC7%@oJqIhkL82LV=Cm^H#Taeu6l902e{%=cSUIzP?=c~ zxx;hcqIZC^s#Cwu0UyCoecbwI<9PgY@LvgE?&_VZFVT`1g9ikg-h5fs8{Nn;=H_v+ zosV0k^qE;-RXWm3%1>5RMatX!291_dtxkON6UB%dPPj)-K5PrC+PvZY~wVuF=k2pO@Mw_+Ck1$JjB@ zD4>*b5UKDM-#LNXUuq&*eRrVt#1RMvf;JWucc7+y33wel;JCF+qGVQ;u4lP{AF{}s ztmHJHKY*;2mE1gBL!01b*ClLYhbx7fg)1%WK1RnOB_)M9L#5t(EcnEry9CU52cdE} zLnXLjls&N}(5fn$u0I@!#K9_|7DhU%LiWe5C2GeMimARb-Z~h%hRT|W%%tUU(e05m zG76hh#iu6m8MEBdD_Of5JgHAFXIm`&Itbq^BtZ^2f98-?tE|$pNBiyHR>tfddbPx- z+bH3fKdtw&ndW7cl=T&cx6=aUTMjh8QOn=l42jrp&yBQSUcC6y{6~)XaqHz32fm!$ zNZ0=38vMJ~yHLQS_`Labjm1+NTQ{7B{A_6yaOKW4VAaOteV)sdJh1Ma^!p7ad$_)D z^OtBxIWAH>&$Jrrb>7YJKPtE=am0f4WIOU{s()Pkek8y17&lNjAluajk2f_IP) zlm#>C*29Xrn0`LouLaxA!sG~8*gl;h2ZR-$hd}5|ij4HH5{{{|AWOpoyLfHB*WaK{ z6&7H)cT|j_-FOFr{mUM|6aMO5vAW&~y_@Ks3Lly%*W{#ShIk#xPEneqdIOMVr=`?W zLJcZ(!4$RwS;bT+*~_BgndlCaB46pWIl1*j>&TU5<>Pigai7at2H+?%ft3rR7@qWA z_L-oGKefi=i_449_E8h>4o1wgJsWG~nmRhS$A*f|T{iuA{jFsgN5=Gnx%TM*aYn3R4rz`HVHm5&#)qG60?pbP;F_^M{ zTc}oF`I{$|thY>Ey)(frvb`Tv{|q4LE*d0hzS)fUdE$%x;y#z5Q@rFC@jC!|1EU?# zX%|9mSiIWkxhvq_>(Er}30RsjgGW z(A$(>QP=bVs4_ji$!ok|Q3yItr`r15e99q8=hIx7xGqE?<*>?yK*vTFI0zS1`9 z1ZIAL*5FLCUG~=m{LZmm7BY7duHD)Di0X?`%~#Jf1wH=Hca8taq;;?$zSLHR*j2{X zFWyuH7*yDAS9=FhK>hu_EeKBNI)1a`aC$n(68zG1FlpsDIVMm{K*`yO%VEVL1AJVh zjinr``pay25aAQfn&G2+Pn?w+%;v)wG>k3*g+$t8F@DJ^ybcwsXR0j<*BVE7*jJJ2 z=^MUBiqSbtScY5eK8@)_Sc%|ag^yVyKa1ETA7hB>Hyp^=I&@QRzId{vbH~*HN;<-d zM|aJg&dzYESZ?;%2)zQI>Twu>2^DNXMyS8A5j0jE^_bRzt}-sQPoRjKct;NIsgETa~JyuHq1w0ONjDzV zZcVcg;Bk3X_~*H`3Ko;98m=q-*)2y(HosbVVpCz#614KP=!(Xf_|_+u+U_(6C1;8f zbe@u=*wzpN&9oFG@7vEI5=Y|OY=`rAO=y2UOEff%^-fx2URYo}eDTF_v$7EV_;h~({8E($hs;3Zq*N`>s;s7-WYhlVwW z$$7MzLLiZns`!y{xqLPi4GYPm+O%K#khA@9^O4YZ)kX(M@2vP#y0o#1CEKy)Pg^&% z#q;M5-G@zdNlUU>e==BSy{Z+P%q;^R!aZ{IV@@kGx@s)Go&t}fojj_4D?G{|T&M054 z9e)Rzpa77U2%?ktpdR(NL**`rR4^?#R2F<4LlXNc+)ss>A3uSgigQ09Z{AMKOuwF< zd^YjcAa`i%q3Hv_kd1l=bN17@c_m-9r`tMDh8`|oue8QiW>^feixw$Iq9Aco0q2s- z17neUf^;Rev9UBY5ig1vD`Khz%+B`lNX{+&Rh`3SIDx<+xQtsDRW0GIlL;G{V%|DY zWSoAaB9QvfI@a=Ze~g;oarQdJJR%Q@&=K*}VT$RJG*uJr9hP9NGRg(+~~k{Q(51a0M(0k%bfwSiDpK9`7mM zzv#P?h5pvvrv~1n{sihe@A#Z9Upw0Cy~eUh&&iRO?F42UTg}7;0FXK+QjT+)73XoU{=*9B^H!LJZaI8L`W5WSZ7!kx&N=L)Q zT&C2_<5*Na?Yka=>n=lBFhu!>hv6SSEY0^H7)8J=@?Wi+n3O*|&=NLr`RT3`5A)Vv zn1Nl^xYQ?>%}B@9I!6X}uN(9GLm}afmE|~e*O`_VdyaV7%igtV>PR$eqjyGB zsN}y6d)WW+NBO+%lH<0D#0h(kj7GlS?Dx}?N8f)vSQ57HdbAq11xCq5;9@(be0|kC zvLQ%m>sBF`Yp4Q>h5fo6Fd*$rcf9dApxyLn*t&zX!PEeMeH=#l_y2Avq!8qQ~pu+P+C{bYF7bZc@nCW(2_JzeMqS`c(8A6o+>2+*wztQ~L4 zmyUJy08Z3k6O8-KWky^-AW0>z*Xk}$E`Z65@CX6R7|+RJiF_3(!BeMZY9gZMU47Mr zY&G_$00fV&%Ij{gSsK}ehXds`ZOGw-o>NL3RrmBNeouRe+p763hYw#d3DQJ4-`}n^ z`%zjxOK3ZYKrU&J9brYR8H1`G$eCZ^QTbywR0nX5iPx%JY|~D2IZ+cq-0(-5(yH9# zmpbRF*gz-q=*d)775KK%U|Tu$b)xgi;!-y&5=lvk6As$d9Hj{is7s?`MU25=@#4;I z@mWC@FIcJ>6eK-+24attilfUoj{u}ZY(pHn&@_C{zl9~_MWZ1oY7AY{A@FOFvq6ur zHKT>3h2+68K~NqH!Drb%%DSM1fV<|XFh>5!@D6)djmi0-<9A}6ugs(MQ;wBDK$U1= zZ8?U!I}TYFe{ia_Gtb`IJwLXy#Iqe;8rE}a%Eu^eLrA5T($ul<9v=r*C8odB)0~f6 z^K8`Xo{xid4U!wP)Fp=P6Jl7Sr+^?ALeN;T=@_JES zIfjU$=~7&6Mi`&Ub4vy@8#wdZwBKDfPc4q#aA>26&uHVMM&K9{r~M*fz*qV)Uhq=G6(| zCt?QO60(hZqTLcN~BgP4DT*?2`Yd{5V53nd7P*y89%s&$rRwSEEvA!;(j473Kl@H z$JGdNqDXoRv{Y`vyl&@B2T*iC!7GO7aRM(yjox%(oKQ{T@05O%8g82Wc{HC&dB%Hn z=JnSG_bpAcJ)cb}5uokjmFCZ+^Q4%bcf zpt!P;L1$p%!OrOmO~@%YT>~Yy1Tx0DH)wL}y6)beax#Y<)_549Kt7?WJZsh-1mHb^ z`DXihgWGlZ_G4RG-hO5;fkAp7Hp7^avxBa=j#!BsKRq4L)U>tDaRP-TuaX}eBQK3U z7!_|nGqjo1p0yzoMJx^;fg4tnZe^A-%Wy(L2g9B(RDtI)U6Jl~I5g@- z<6;KVX!iKp9ZyQW~71}EIqAR{an{!TWhC@1_K$=-Y_h*yj`R-5!auNbKzm^UWEQ+lP za4dauuT1afhL285AN=6xBNRXPv(+mv11}--{LBxyNeHl6Qt&u!1<+nDY%E3uc4kNAOxMr?SX2F(!z`JZmT7`1pFGy`-j0 z>>!}o38xdl8W>uUN<&los$_6iK(U$ASMsNHt%Wh1Qo}_I9CtTT6EQ_p)X+7jRY?#D zHKaqHQn8q{w>CHAtG|efCZi#d)7v)Q`6HW>bwv4NtYz7~8|&X4et*?ZuQ!m#nDjKg zCW!Of;)qWgIzPQVCWC+#oiWh*w)nfQ4byhdK*P=2v#Xh(|!sxV^gGsw7;g96eb6Lg*R}9LnpB8$co11bM~g}wg07>Qqb;+T=>nb+ zyk&fH!^f2$4A!@$NNTpML}3(oRaMVU*hTprUBo;V6AZ-q##N1M|<+EoROEm;G%sp|2Wn(7@gZ7S zY;zUdjJJr%lD3BX4DpRh1Qt534S5m^s58p156ahKYEeeHRemVr5{nERQSW0qrGFjd z@eXF%IQp!{j9XjJ{lcPyGplK69$_3I(o(>;ftOB^ezC4J@$z%l2G_)T-R=1wT8%R^ zx~N+d9bGEVEK*DJzW#1LkeOkTQ?=;W(e01T3SeKJTo&KjJPwP9nQR(QwUN{i*H zmv%U+&NnB&)$ZspJxBbqU%F(KvEw<#v#_zapm5Xd*1CkE2^)R?Qh7%zGuH%X?12V# z60T)RN_0#WBle!yEzYM?T~{oNmOmI7VSCZUc3ti6zHU-MKuxDGlHSbcyNj*3cxLjN zz0z#O4H~53>NE&a#fYQI^dk=$IpKa7(-I6X_Ks>VV*+_XBfL8WrN(hZA|`QRMh*8~ zWLELjV{P{S?dFt1ajpIdZ%Npr>U74nc#lg(tDg|14bA>vW>HX zYob^}xkU-+mdOg{WZO$29X3QiOs;#Zm@cVGvoM0|cej3@$HGoua^F4i^KxtKYJRUs z({G2N@|~*2udbQ~EKsej1aS8y%a*}g)7a=7`8>zx_2bYxeY@>sY$x1_^Q{(_Zd)hHJaKY*xmT}86QmkM^IUei=q+eIMPp3mjtcg;lV z0S0^RU)yeTwL#9ox8(hW+=xOdTv{A=aR#&_67bJ4N)t5B?JiCift&{VUWA;87&*T& zI3`5i9L3UdsIC_>&uRy0;YzajmTVuSpDt>;zK(eo{~O!@kbzX#wHf45XL`7O#OK^zLVX84MMrrel&8T);^9( zcbLvHjqtQtt&D4xBUH`>4&+$gbjQ=aKj=68ny$zh9;x-8K87m@hL-+C88BiY+G7x@ zXG&VeYzf?CW;Aql|EPVi9Ui}J`0EaZ^$NO|J|i47OII#pJM-#{Qc#KG zwA2o{cOPBdK?X4k4EhM(U<)PPDQP%#oj9u#rV3&LEZx%^;R(PmNv);hUk+HcH;w=Y-i&T#98JY;Zrcj}>_xuLpanlv; zP3=1lhYudV`OArvu4M}v#0n&d911#J0r8qR32ZPrM1mgdh7R&G=~!?3*wb4dmDMG? zsdegDm2lWhmQl1!91gP=u~X~lHLhqfowSB1PVdTz3#Lo8YS6A->b0LXeF%EE{=zH7 zc@?LEa`&KdM?_>B&~u=o>95Qk4W`D9x9hVZu*;p7CL%7!-rh5H+2z2h3#;BRI_<9& zp5{(yl@1J^F4qbLskN?5RWG{^H$f4zGHRox9dUBU!2Fq~qI&0M4}) zQMf+Aj!f;qH@c_0D?-pncNxl>pR7r)s{D2(?qO4)F@vT$g;8v7y=7+Dw+NlXZtaE+ zJhE|d97i_!K3a5`lNZo%$N0~vIBUBVqd^ZjUjyUg=`Mzln3#`mQlC^S-ZD-<*>O5# z^ZI~Y2A5LCqOQ(eUIB#t;~QBFavqo#d?O3Ksr!mww!b@lSc8c^3G-G;DeVG%N%>to8Sepv;0_wh zT7J?rKM9vhmkmctB+M3$L?XjzHV23BtLq!FVnKbKT67~=tn-W2S8-sXhE({`^kzW^ za7O=yad=yo>`3mw&Wu@IBK5`MV1S%1Omh`8Xu1Tgk-c|Z;{B};js@2>r$wH7bJ5w5 zo7`!=;Usy9NBSY{pd3KUnECids`1@rC!X%IHTPPxY4x%ZYYmr`VNVw2>_2Q|ZIY~F z$2$dYL;>qQJ-x)Ud7EMTX3`OIWl!;ITb_b^{OUi2pZOkX7L94Lkp|F93R1Wh2_yoE zu^C?91B6x#A&peU8Ddix903gR8M(09;lZ^FjV!b^AHrNt_W_;8OkR`^oq)#XMMD($ zyheVcco?TJXD2D@bVhqYe2Ytm*BWY^jmU^uQZSC-U4f$xF1{UmLX3KO>#w{@(E%@y zDy{1eN+zB!jnuolZRW_Br9%pZlNgLJk_4Q}`=seJLMG}7B*5FXo$Zn}CCib3|x zLA!X9pimA6+}L32h}@9b(uN!4_}#Np+oOq$g6MX_YptV*heWte7m zf0P7<_N&;mf1h(WJ%*7>r=+`ztvHZenV_R(v9RpvrMRoDnCKrt9-W&sub(&+ZzO2i z8d)wIrNv+rsjjGwfv_juIst!TpOS(_GjX;rLZWk)+@u?3@1{RyN~vx8F2eFBlLz3v zdN)3A7W;g_``_Fe$=q15y-nx}1276)dpJOlZ~#ShxCgl$xqdqE2GZ=JF`u~TanR7b z@f0FMcf zP9yTm%(J?qChv`+Xg5OK3-MiEC=A^q1r*(wC+`W2TR@~&JwXvOkWvCwf-ushb zir;VgbNyo9v=^n}>SEI-j!gn6X2cJpp3L1_I|G+d75m(*>tV?9{{$+`VkP zsj(WWbQuMv8DKBe3c|$ZX7eAvs2SLE*wj?1sQItv9HNSl+t2SoZ%Rx%Pi?4rS-`NG z&~O_sqfSsaBsKPR-rKw7{(Da5q``{qcTg?UdwyJly|6trra8H!g|3r-8?x~c1^&IJ zVJFF>`V6B_cV%QA_eX+Ur@+1Xxk8*1@U79O{rb%JWInH33kf`q8G3Ggalj zw%8g5zG-OoUsXQ%HqEzT^Ispwgudp4SNDyb+r4I2J(}9sJ{*k2Fh~ zS{iyH9;*Cpw>p<^rBMfH80<}+x9x(g=veyY)%OUV!p^iYHBF74VF&%L`qFeakj>W2 z;JZ2aV_?t&m)MSaAJgetQs5b+A2(IB<~mc?4C6dHgD!8 z-t;A`_FTF5WJ*gaqT9WOgLM6iz2AzEb$vMc`NfA2#Zngs0Xhe-iFMvXT4g(mR&mW^m>P83VkgGxUy&Hoh?s!XIlJc;j;*o z=A7c#omXo-Re!83PA^r+sk6~^;W>eq+l8gaKq&=}ZVVn7l^M-CZV5;zR^IjpdZe&2>B#l0=Ff?C`9*Iw zL{J8b8$Q1&S;fv7KIW?u*uz1IB4HgyRmGpy<63?Mns%DwcO7l6XzM@USk=2!a1wK@ zr#WCqAc%a=TXZ-4h~DuMkTMhy&f;?`<@?hqo<=srdo?QUZt%v zVx#GliGe8Zx$PA6`1s;~3OoAS23CR5D?F!dR-mhqgfqq&E0=;I`Q9*Pc2=>|ZkE8O ziyC3|uo8!6ANjR1dNVGoF^aiC6Dbkk>VwNTK9o4$dwrZC-nw=mjmw}&8#yS@2&Bi7 z{ZOGt2b`P}2BQjhIR#YgDmqJFJxstfq#8GNhqPJ zqM$ke^N8{}>dL?`N*&D>R?t;@Kfbn|f{j3~K55=@!gXn%`WO9S@`1bhK1xcdG|gOBio@8E{xTJt&SbSjZZY~c&)qYSgM^Vp9t zNQFKYz01go$3$c7v7HynveKa6>O6D+F#?LiVshDJv>F$!z(Q#q2muwrl<`03Xr60# z;7{K^8pHOb(fR=^1WyP<0VD6OmFZ_9t!%gWFB80zKNnY2ee^v7^tew21)n#WJ(Su1 z)^E4XBXju9eR23I;eFFEFN#a54AAKSN$)t(TWY7=ejWo*jJaSC@THHhji(g9E5y$Y zUp!Q$Ik)K2@_m}(;jUHspua^kk*x%xl|v%IHEk9+R4r#HZHU%9#PF7E5T89Gk)C13 z$_!`(s_!(1&9gFMVBJK)!aBT=r>3$nVS_kf(O3%H@l0|!)Y`MIA# z$aT=-QcQ>BN@zyyI(MBsM42=<_rv>n@Q+6T;Y9q+haVPgKyNOFUn=nQ*4nq6x9#04 zH(F(4qlz5SvEi&*@8-WuZ1(C-PMM9zK2=OJC^^45%+_29fL5STN`c_MlHXb1S&TX0 zzBB#oy8U%u(#SX_q-NMbf$Vd!{ zji%)znrpEu!Cx1)2Em*5-T?JB!E^W12DghI(z88Sb>r{9KHW5NYJ+LaHdN$O|Kndzb;B zZ{?i}5Bi;ZYDdiE4ixMQWX$Jonqe0hN3#%D2jUEu$j0H}w&1bKE;Hg^zAWd&*x%#G z%d+I7%~7O#?Oht)ZW0cQrKIU5VbIbUVu_J3k|Jeb^xN*JwU{cdeQ>^~T9W`pAXpLP zA_X9*Mq<_0oo>Ml{)nNSt>bQd*kBR|@ZwwMih_-H?;;Xcmp)uM_O9|gviatl1BeNC zk0K*HnHVA)aMdFNZxuZdeXfvj z;Bhm!uP3Tmr-Hxlmb&jZ-`g=~pF5@-?Z)#~_U>`g_Xp2V6iAdLFmXr)NYJ^!qvq1> znI!kTA@LdJ?94q*%&AWt9!EE4>Ru!ULvL`0(a~VA^H8?YFmKqXO~ABciBuSQaGP`P zwPW!|O>0TIG*B~diM+b=TjWghv(i5yFci7fXuoh#-9<9y?BPQ6B?Ikf`-%Q%W%Eg@ z$J?lgp^2b|z_gp!Lo#|K2`_HT*B{q&3ROCc`+D|%cl_#hjRKfK&Pd=N$%j%i-W^Lo zWht2-CLc3S&Oj2ia5hN6M4|N8nl z>HgrDCVaoejaNE$%N6~r*J!jg2v0u295~u;G8JTfHZ^oPOnjcrJkNnaxqLr+JX@A` za|1DGG4K^(qwYKlpnSINQiMLP!n6V>puWKV+i@?=d(+0R20K1)`=A-&IyYvsv3`ww zpR*$<1eKIX9HkUCC!7l&Kmbqe(TFC_}%!%GXt!{5NHuTP-HZIemtfLHVLRDl6r~ z0fkqT1-f(Q)BP@Yr?0K9%T#oUiJCWPGi@?@xBFNhbbj#2rgzIGLbfk6II_1)ahvtm zkLI+S=e7Sr1jnUccd=D9U4&0-sSMw~iuCP_+}eWe3krJTbN$kDv@LU^mvQgay*CP% zepwm&9D3NW$-1U-t2$_F8>O%z;Po4L`>3gKMhldMzTP>qb%d0*EFx}?0!58$A3elW z^|Nm|2FICk*hk=$hBS7+g^*va{@H1hG<7mVD`aSj2BV%i84^FY?;b`?jP6t6F$oSV zY6rJ}d(NJYCo8Ytn}g@QfY+WMopR*pKAJZ_GrNnAKnT!^s@Yb;wXt7K{~+(MylZgk zxm)tF)!cLIYsU|qtE^b@&7a+OZLjCDb|n~++xk;M427GIKdmK-gVj#NU(%kuV}bx( z3CXX``>M`&eEz4fV-&$A%zkgrCP6 zE4lYEu_*4-%|D+U)aqx`0Q^yS^M%Lrqmb;7f;;2ZT`o2OB^i^bWSrJ+>hZG_Z*8Nb zo3{7NHJW#Pe79Wrz?#hGDQe`Y;3tb#>@zCagMZn-S8KfO?7=G&8Fh%cM{~jK?0##* z90=_1fQpd+avFgDbp;T^SwhmBeg5S6gJ)wi&!z{5o<6+$Z0!E4D>>M=J9x@vYF9Ri zcvs!L`(o!V8{hB`rBe8?(a``W-Yq|?gEY&0J>Icn#{x>hnSc;AoV7a=j@3nyWHh&X z(Fd7l#5R~_0mIv#NN+g?jpk`Z2UF?x0&a8{L!{EC+T>WU1V(|lTCQJ)8%4QdXw;Sv z50A8>cPo;&X$1`=GuJ420fR8~yFNRM$7-*$HQU!zV;AXgxaOgE~ zmu!AxRE)ftPRs)1tFE<1*Qk{+hRTQ{d1x6!q{Eb3&UOcUmf0 zx>R26>dqXFJULPIz2ftVT^^?nUd@KYP+-70_hojxr?A2tb!;U?>8Z?3jRL1|CRFa>s`T$7K)vlD=f3tplq?OIxvpnX*hKJ@+9l&SZ zXj-Vhg~q-a@8Sgk3Nr74fFXsO;f(PMPS0+hltYoRX}MNer8wO|5T7m8{Y^3*^fV2; zNWcOP8s-e#LF-SH6AF z|1b~=v{WJi{na@tS`1O3B(shs;c#k# zeMCY_Io>S#5z3wxBI$Nkq}QNps$NlIFjSf!-Q>~6>ZjVL9wbr6D0g=h*A zh}`z$lA-tg{P1P7ndv5JbCmd{23vEXYaU+o+gOGxITr4grVOhK_$H6{@Y;K(`~0a3 zUXIH2Eh9iBTP9MoLz}Q!?bTjWF3Tn(7Qb3De}w1Q*fskpXQykKgBWgyHv*~k`Ykfh zv>e!6(eh0H6^9D&&qy!1Z4x2cuYj?`+qR)XeqoN3vJD>|4!ZF0!#-Z%EvO{=jtyuf zr|03cvY56*W`o!G!Rf>}vbQP;)Zt=r5=?)UYpygB)8Sy`PHSP_jvU$^k}AxoS!`&o zYPWv!NAs)JjH{22F1JMMRG;^eFt2E8Y}b%qlg|7ZKzlz%*jqTHy)^7ezaC}Ll*(1x z2kY<5tgsBx?(7q#WN+>^G2QZ|s@u44?-u`STO(RR*i+^)?dgUax2*g>8H2!aclFDJgVzNx_o-S#uw>l^=c23GswqTOyDG&(fYXC@zvU#bNodlW!F-Wi2o zo?K?EcTS~ReM==vgn-v{v(V}67W>#>mZr6UK?I~69UL5V;HeR0wB&EK^%sL7lxB{u z$8s`lg1on>~QG`AM02dnV+n&d5 z9|k_zjmsbRx*3>jmk=RuF7}+;=Ne%N952s%ekQ{*71?|KLF6j0QjMPRy@P8MT|y5e zUP$LE*phyE<4HMaThf9CYZE&YOKZuZBZFp$oDiv23S$pagv*IC$7N+Qndl&!x!QHEY~RU3cLjugjb zNB7P3bLtisrY9y52iDmuaoujl-hiZDoZ4Nv&CW2QDVmnba9fjd<(OX5UV8hQqdMM@ zgt)Q%8k?ETk#{wBIV-P7gxI95+kz}h_0QlD? zmd|EhA-A^C)CW_+KLzUy1uZI0I2h#)9;9F#MyW&eh^~W!19;)UF00SuG-eM)4_z?i zRn=GjuQskcD#@+gzo;mN11Kn=b`VPqH6_Q?Q(|Jy;Q%3?%5Waja>@qL$`G~eR34{t zo=_B1)XEA?9LmZZaLBPt8_nUI1}nX<_ug-P_uh3k{IOvz*1PuF5BqucZ+NmR@=83@ z@n%JAdWL|*cCW>Yv;AKk*&&APdDrC!gLN^bYTH?Cj8-tKdaW!I6;ZGsDexpu}cER#Xu3DW2Z&)%M)>PPphQXa#}{JRCm|5 z1A%?)#5GbMDp@w{p6R^b0qma#1-k7ow!0yf!2xECz(8pLU^cKdzNC)k$Hk5M zgnx>#6QYJnn1U9jGg)qsTMb^638|p1;gOP^9FjOh_e)Qq^NT{W@!zi}beLVX=N77K znp`cNC+B(WG(Q~V7Y4{xVT`0ZOLW=NWH<&QTwh#kp-J3H?;mHg3rkDu3|5Yl3DtiU zh-QVIAN{>If3SWb<{D@JkBU1pTF|kfy(T%p#mkHI*T*t0LvH1}t``=oqhxxXYHvKJ zC~zd(B!_LCQqgt`%?0P zok9lz9dy{y>n#T(YoK~;HjaT4<<%Qqjw7$iB?>4F64JsVQ8a&jjP3`4AT2he9h&NE zD}wI2_-j5N%t&Gk{=NPz&cf$Im-*pOMR?dGHlS`6v7(TKU+0LM@5X3DPYHMCdg{8# z?jUyTdP_?Qjw%Zppi_M z7DG%IN*=7z2H9wtl^V3SfNt4^&-dFmz;6_*q6QBDaRzKd^c{Oc# zL9{*caAWQxm*m#N>0k9%k^Ya_7cPkkYLsCboi1yg?@WK|%zKR)T+}SU7|F8CqgWE> z(hU}qJUaLUg{XheUbxL=|EKgH(+C2q%Em-xBU$i2M@YR-)emhb;@ku&or+kv+K{#y z&!_PPN4^e-q&8xe#LBHf@t z$(P!FNs9$*9DW7by=IrseL}XM>9yl!(8SyybL&?%t!iuY)di!%U9Usu2lr^l-3xfT zJKaC#NkH5s3@-48$?M3Z-_K7goxOli-s#-e9`oZGZJ+-hRYBeN_79(dVaXz>t`r5> zmT$0j+*Vm}!X~`=?L%2t>nO?NcE5Y?^kg+}qtl=8LDy`#lCmE$4i`uaWNL#+5Wv~X zb66=*wbM1@oXpId3^}TiNbDvGt>WFsV(iBxdgE23knVOdRj{eG?JIX@RiYP<$O!J7 zPNv+klWNDf+v)j|&eKs8(Ml+c&W~*JQdO)mfPC_WPMAFza%;I4_D2FfKjMg5;nlK& zbhLNh6&(4TR8A31uDuE3B1H{5uP}^3$*G`7aNoLK*X9!UPC6Cg zx6BKDX)EM36k#%1?F3&f?5bxW^-S51V;4)2*;}@Z%N^~UjVY+k|cn=r!$ueizT)n^!CC%;g&E$hv^HuW;NN~?oQZ*+=zj3pn(mH zM+!83T#YsuT5p!h=8#DvPC~qiZD0s2#(@Uz0j(N; z+(0CGdeS~iS`asS^i_rKox`2@(hfkE!=uV!>;OcJE_dL_6s_gGLMAlM)&H; z2V1V5#p0BHg;6v5^ADMK+?zVBacK|Z=YUNT?Ri#Wi*0j#*r(DXf~m9{Z9S|51DBye zb7)1Q#EKHCEl#!^JwasuuJS^HAqoQzll~G<~O0x?vK0#L#z^!J=F&7 zUOP-+cp*qxBi}{mj*ewRf@G~uV7HkWr3M;sqpYW*%S(|2GdDvv~+U&Wh zkG)?HC;ETy$eA#EHud4@x$KuqXJ2n@LDMl$vK=q|2`jeoMfONI+P{hUcCq$uZj)Xs zT0S`hW`k2(0$A%}k9>p))IQev<5MkC!42Qvpov}{vol|4INJa^6f^T*4M?SQG{9>Q zI5q_lU?2ka^tFe(|Ngl!{rc7H=Y{u^Q?FiI*zUDnGWvfSa{Q04Zl!;EQ>dv93h3sT zr@sfm4s`OQ%nck)l&za-s3WZq>Ct+D0mQ&RN#G-f@LxC~gg7(W;ImNE+ELIyB4_nc z-^?sEjn1jouFwoUR?0()INYL85;Q}4nAT|q_>#TS#W48i$U9uSZ=)fyXCGp?621r% z=IPxdvu@=0qfXa|Q!#P;SG@x;#~7rmf=!m$8}Imgm!nTk#$V?n0!9VB<#hk>0fHPPwy z-khBxm%dHZ%S+y>p{3DtkZ;NhZTC_G(O$ILX+cX~HVwt^%**7ISM3P4tEB5=sTl^A z{V5Q;N?k79PRc+$%3`roSY0Iz01GYE&;B!`%;HGcZOS$4MaDPNyvMtJ>>vn!m#r7~ zZOFL6h-P<+B}59)r6&*S_-%X%kY~tJG+`tFB?B9+RKPAKddCyR!@?gJBlNG*r6Hy%KdJYzh_``HOps#R?S|2R5@RE}xd)|BeK z8*3=AcYtLATWzxWcDOAUKC-L6{~9x!FjVasH#?B~=uYvIwz7be2AY))4NB((rb*kr zRxhu1Gvy_s^yz})#^mJHLo$-Wpc&mI_EF$gV(jAa9N7fP>O%|bsktokB}o85f_W6< z4@O5t&4JMSM+XZTM>Zt+3zfx2*wpbdJR58e2 zH5X$Cn-E^|AL#8S1k2iBGL>xi^ZROHfp&W8ggNZ~7WeJh<70H!V{6Vd1$O}^-9V-7 z3^Gi0T;b@TiRIQm7haIm*{b2s&K-J*6&k4?qsUYJ_z(b6H%IEeRhgow8Fb+|1|=W< zuFZNc2{-V%Wd>*PdE_Ae%KfroL30Q}GJU+Xa_cc1;P$6&$`0UxrNQEKtK}|x$%WyN z=#8%7Xd>2PpUZK_GJSaNPU=&~k3E{3a*CYuIhaO_G4UE0%e5+=?Oh0zl^`!Pvq+3J zweL(pLxKIdWgw4(Uq6n8mE81fUp6oJ!;cJpuA|F_oI zq;pc`%JMto3N=abS8PfVC3VYBhx~NPi5-RPUX4q?5g$1QCrtPEkpFsoO7v*x9O~hd zKK*L@ww_h_jSmiY4RiqrxQXi^FZ4*h)-8Pl&25j8R5jpRS>VB1P(=%@FF@)mkhxi8 zRP3ZZ;x{5Yo2XV+gVJyTzl3gXpdWrLq_iBQm)X7{IjJFZW#vH?Iwu4ysPqwc@3lrm zwAhX8ETRQSNs;(0YNipq@k8G}bGMQ;_<_@PkurG8<>$6~F`Ohb*!U&8#mJ_@hRTNv zp9>V%73CIHH9vTW_XH4Mtlkcvg4#uWAGxpk&)2Y+7u13)!)u<&t&wxbpD7yt#K~j| zE>1VL%(O!9LxToSASpOvfVV6puUOJi<0Ej6VXzW!l45Id08v*tj88hCrF-F|)a;rq z>K~__#shoPG}QMXDwR$;ApJnVnW+u7h{M2X8SZ|ajCStDi&Yno!S$uoc%vOg5quLl zqCUT=Nr-}k(c~$Tp89fLcGM=URtdIA1%e3UXY$wYzB$btK7qZW_@#(Qcu{H33x*Dl zGTVEI`N3|7*BT*=p-s@usYnRL#6Q*8J8#)B;{Bt|+crd%QG$4@_n0D3|QLAvp8i&~b7p{^a>+w8*2`|K~#LJkT^D zbwOe;)^&b57;YnJU)uXqEdmlOGzS2cJLO7IQQPOi17}kz-KWsk2ZHec0jC+7KHN0A zl_|ieJhDy0p=aRH-Xwc^N>mlA+}G7W)M3)81a&8)ZgTN7FP^;s^ghz0GD}JxWDVV1 zT8bI3!ZR~MJ2|P!+iM5oeFRx6hs+F??f7U^4YMibU0vqr>XJbu$sR8CZ3`*fpg$?U z%~NgW!X11Xt#!6fRpw64?bqoS9^hq+44-yB9B9P-NzvTk{EyguiMa8&pqCiEdQ5#k5NZJG6O40x=9`9mYe zJ0mAI*AcwP;A!dOXeV=x+e@4A|C88tK$F6hOggo9VoVY}g` zP?4=XwRSX^ghboT*sIvvfF}?jEe94^*aQWs0c5}z1*FMVJ0vfKMM5E0P?Q6mIaieP z4z@F>0{IkV11~)9AFST@ZQSfP`3>5JT2{@5>%SObC1Ta#chA!XmnD<*9z}-UJ1&af zNUt;BH!a{5?{Er1Td(EVIK*VNBi9grR3^^`5g#U(u@nGlQwNQ`POghOeSmtDM!EJ^ z88^??V9eBZ;L7O=S4?gvdHj^>C@>PtBP43ebDi zP#%IOWOKRV29#h6)30O2bT&CC_0sCO@~z zEET{kGA}R2Pe>-XNwxLV`goD>)9Rq9ZV#Jig-|yBZym8ak=aR47o?C3r1ERWY(f6u z;%G;937u>sBMwGsfS_JE1{3P50e9K2F9(MbUF~XRC5nQ*5W*UC(_DQ7@&$PU3+fi@ zLnFL{B2%?~y!v7PtQr*t*Z|Z&(!^;o@or47i|}poW4> z$!5OWxZu$rXfrqd@9CPo;Fc3IOQPsLXp#mk<(-}2n+bZWHfuc=o5W+JyCcKc_jw^f z4GrU4X;w94*D!oVo*1Ci(#^d(O$@w5Ms}no8dQ%9(4#@9%?Z+ zYUfU_frM+ZpZ`*_d+fq{c_WN)^`j1(cCX)=&%FtyHH+rQ-f#PMYOll3YfZ9}J7mM2 zqsOzZ6`3zBTSiN%`2XWKY2d^gl z<$_m6fb3S2#pAb6_@V;iUk$WA?0uZDBglcEWu~QoG%pnXiny7Fr!9#u5UpKlO9NBbZSE9iXr`(h}$l*1R^^3UJ7j%6U z9~rD9H>)BaJ551C0UVAUyu*CCk-+k6x`mTD9GhP8<$8|{fA;pUgJAxw(oG^nnuqI> z-fGNKZu@JQpz$4ZOR>A|hJJohS@WGDcL;>&D>Zd<&R2@P93MZVf8~i)z|qtjaDs(X zhmE32jPd%E^zP?!ta~w69ikv6maE1NE58FM?Lm9vp&IbGAX z!KBu|AmA#TUvAvmUKmdDu|RZNUXB5_<3E}AyuI<7lIHM3es|&@L zz$=3&#%ghb(NBMU-!e=$X+8c|fln1fkEOKG`;aGI{Cx8DKB$QT*p(XcsH<2O>~ED2 z_CC45emrN|3|vi`W0KKI{3zbMiM);qfC$PQOhbGMjE&ul?!>F@eSo z14SKeJF9A>0rY%JBso>?zkUv=WT1IWYWw7@;f=zHy|IGD{-f6q9{!LAU-|2C{XNF- zz}*1rx|c17B|HlIMq2*ooPNEEmzL4z(X}{(o3|<8fX$OKa&!CxwLzhwki*R2P)$>y zM0w{11pHBxcP(SopXx{ z$9@p}7ZNwTaeWUipE>=3q1v{)u+BE_7mCWS!t(5E+(ko-9d!dobHih&7M{iC%L8Z5 z2AZ|F=ox|Ni_RQaMb# literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index b8fdb34eecb7..4ea67be4cf5c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5882,6 +5882,7 @@ #include "monkestation\code\game\area\areas\station.dm" #include "monkestation\code\game\machinery\_machinery.dm" #include "monkestation\code\game\machinery\announcement_system.dm" +#include "monkestation\code\game\machinery\bomb_actualizer.dm" #include "monkestation\code\game\machinery\cloning.dm" #include "monkestation\code\game\machinery\deployable.dm" #include "monkestation\code\game\machinery\exp_cloner.dm" diff --git a/tgui/packages/tgui/interfaces/BombActualizer.tsx b/tgui/packages/tgui/interfaces/BombActualizer.tsx new file mode 100644 index 000000000000..ade41d8c7208 --- /dev/null +++ b/tgui/packages/tgui/interfaces/BombActualizer.tsx @@ -0,0 +1,33 @@ +import { useBackend } from '../backend'; +import { Button, Section } from '../components'; +import { Window } from '../layouts'; + +export const BombActualizer = (props) => { + const { act } = useBackend(); + return ( + + + + + + ); +}; + +export const BombActualizerContent = (props) => { + const { act } = useBackend(); + const color = 'rgba(13, 13, 213, 0.7)'; + const backColor = 'rgba(0, 0, 69, 0.5)'; + return ( +

    +
    + ); +};