From 9ab207cd7ffba86a0411d7058645fb8f2a7895f3 Mon Sep 17 00:00:00 2001
From: Blundir <100090741+Blundir@users.noreply.github.com>
Date: Sat, 6 Jan 2024 16:29:33 +0200
Subject: [PATCH] Noticeboard refactor port + approved stamp (#5283)
# About the pull request
[Ports](https://github.com/tgstation/tgstation/pull/59389) noticeboard
refactor from TG, also i've made a third button to be able to interact
with paper on noticeboard with a pen, in order to write on it, mapped
noticeboard in req, as well as added some pens to req area.
Also added green approved stamp, added it in QM's office.
![dreamseeker_bzDYkxKWNe](https://github.com/cmss13-devs/cmss13/assets/100090741/b17c889b-040d-4d1b-be08-083ca8d4e127)
# Explain why it's good for the game
Just compare these two, i think it says it all.
![dreamseeker_UW8Us7mk5N](https://github.com/cmss13-devs/cmss13/assets/100090741/a30a014d-109f-4e16-b1cd-355b5896d760)
![dreamseeker_6O618EfJny](https://github.com/cmss13-devs/cmss13/assets/100090741/1dd1dc4c-e4d6-473a-abbc-1afcf893a6f2)
# Testing Photographs and Procedure
Screenshots & Videos
![dreamseeker_xzHKpzcgsN](https://github.com/cmss13-devs/cmss13/assets/100090741/2138e0d8-15ad-4769-b6bb-1ad626f14b4c)
![dreamseeker_c4OoVNPpNY](https://github.com/cmss13-devs/cmss13/assets/100090741/a9b22163-fd1a-46a6-b685-9a7497408c97)
![dreamseeker_oiz4iP9GNA](https://github.com/cmss13-devs/cmss13/assets/100090741/8281a228-da65-42b1-a694-d9b6074b91f2)
# Changelog
:cl:
add: added approved stamp
fix: fixed being unable to write on papers on noticeboard
ui: changed noticeboard UI from scratch
refactor: refactored noticeboard code
maptweak: added noticeboard to req and approved stamp to QM's office, as
well as some pens in req area to interact with noticeboard
/:cl:
---
code/game/objects/items/tools/misc_tools.dm | 4 +
code/game/objects/structures/noticeboard.dm | 145 +++++++++++-------
code/modules/paperwork/paper.dm | 4 +-
icons/obj/items/paper.dmi | Bin 10761 -> 11203 bytes
icons/obj/structures/props/stationobjs.dmi | Bin 78886 -> 81071 bytes
maps/map_files/USS_Almayer/USS_Almayer.dmm | 28 +++-
tgui/packages/tgui/interfaces/NoticeBoard.tsx | 56 +++++++
7 files changed, 170 insertions(+), 67 deletions(-)
create mode 100644 tgui/packages/tgui/interfaces/NoticeBoard.tsx
diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm
index 44aaab771db8..f868c6d5ab24 100644
--- a/code/game/objects/items/tools/misc_tools.dm
+++ b/code/game/objects/items/tools/misc_tools.dm
@@ -415,6 +415,10 @@
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"
+/obj/item/tool/stamp/approved
+ name = "\improper APPROVED rubber stamp"
+ icon_state = "stamp-approve"
+
/obj/item/tool/stamp/clown
name = "clown's rubber stamp"
icon_state = "stamp-clown"
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 9d007a0c8c80..0c763378ede1 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -1,80 +1,111 @@
+#define MAX_NOTICES 8
+
/obj/structure/noticeboard
name = "notice board"
desc = "A board for pinning important notices upon."
icon = 'icons/obj/structures/props/stationobjs.dmi'
- icon_state = "nboard00"
+ icon_state = "noticeboard"
density = FALSE
anchored = TRUE
var/notices = 0
-/obj/structure/noticeboard/Initialize()
+/obj/structure/noticeboard/Initialize(mapload)
. = ..()
+ if(!mapload)
+ return
+
for(var/obj/item/I in loc)
- if(notices > 4) break
+ if(notices >= MAX_NOTICES)
+ break
if(istype(I, /obj/item/paper))
I.forceMove(src)
notices++
- icon_state = "nboard0[notices]"
+ update_overlays()
//attaching papers!!
-/obj/structure/noticeboard/attackby(obj/item/O as obj, mob/user as mob)
- if(istype(O, /obj/item/paper))
- if(notices < 5)
- O.add_fingerprint(user)
- add_fingerprint(user)
- user.drop_held_item()
- O.forceMove(src)
+/obj/structure/noticeboard/attackby(obj/item/O, mob/user, params)
+ if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo))
+ if(!allowed(user))
+ to_chat(user, SPAN_WARNING("You are not authorized to add notices!"))
+ return
+ if(notices < MAX_NOTICES)
+ if(!user.drop_inv_item_to_loc(O, src))
+ return
notices++
- icon_state = "nboard0[notices]" //update sprite
- to_chat(user, SPAN_NOTICE("You pin the paper to the noticeboard."))
+ update_overlays()
+ to_chat(user, SPAN_NOTICE("You pin the [O] to the noticeboard."))
else
- to_chat(user, SPAN_NOTICE("You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached."))
+ to_chat(user, SPAN_WARNING("The notice board is full!"))
+ else if(istype(O, /obj/item/tool/pen))
+ user.set_interaction(src)
+ tgui_interact(user)
+ else
+ return ..()
-/obj/structure/noticeboard/attack_hand(user as mob)
- var/dat = "Noticeboard
"
- for(var/obj/item/paper/P in src)
- dat += "[P.name] Write Remove
"
- user << browse("
Notices[dat]","window=noticeboard")
- onclose(user, "noticeboard")
+/obj/structure/noticeboard/attack_hand(mob/user)
+ . = ..()
+ user.set_interaction(src)
+ tgui_interact(user)
+/obj/structure/noticeboard/ui_state(mob/user)
+ return GLOB.physical_state
-/obj/structure/noticeboard/Topic(href, href_list)
- ..()
- usr.set_interaction(src)
- if(href_list["remove"])
- if((usr.stat || usr.is_mob_restrained())) //For when a player is handcuffed while they have the notice window open
- return
- var/obj/item/P = locate(href_list["remove"])
- if((P && P.loc == src))
- P.forceMove(get_turf(src) )//dump paper on the floor because you're a clumsy fuck
- P.add_fingerprint(usr)
- add_fingerprint(usr)
- notices--
- icon_state = "nboard0[notices]"
+/obj/structure/noticeboard/tgui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "NoticeBoard", name)
+ ui.open()
- if(href_list["write"])
- if((usr.stat || usr.is_mob_restrained())) //For when a player is handcuffed while they have the notice window open
- return
- var/obj/item/P = locate(href_list["write"])
+/obj/structure/noticeboard/ui_data(mob/user)
+ var/list/data = list()
+ data["allowed"] = allowed(user)
+ data["items"] = list()
+ for(var/obj/item/content in contents)
+ var/list/content_data = list(
+ name = content.name,
+ ref = REF(content)
+ )
+ data["items"] += list(content_data)
+ return data
+
+/obj/structure/noticeboard/ui_act(action, params)
+ . = ..()
+ if(.)
+ return
+
+ var/obj/item/item = locate(params["ref"]) in contents
+ if(!istype(item) || item.loc != src)
+ return
+
+ var/mob/user = usr
+
+ switch(action)
+ if("examine")
+ user.examinate(item)
+ return TRUE
+ if("write")
+ var/obj/item/writing_tool = user.get_held_item()
+ if(!istype(writing_tool, /obj/item/tool/pen))
+ balloon_alert(user, "you need a pen for that!")
+ return
+ item.attackby(writing_tool, user)
+ return TRUE
+ if("remove")
+ if(!allowed(user))
+ return
+ remove_item(item, user)
+ return TRUE
+
+/obj/structure/noticeboard/proc/update_overlays()
+ if(overlays) overlays.Cut()
+ if(notices)
+ overlays += image(icon, "notices_[notices]")
- if((P && P.loc == src)) //ifthe paper's on the board
- if(HAS_TRAIT(usr.r_hand, TRAIT_TOOL_PEN))
- add_fingerprint(usr)
- P.attackby(usr.r_hand, usr) //then do ittttt
- else
- if(HAS_TRAIT(usr.l_hand, TRAIT_TOOL_PEN)) //check other hand for pen
- add_fingerprint(usr)
- P.attackby(usr.l_hand, usr)
- else
- to_chat(usr, SPAN_NOTICE("You'll need something to write with!"))
+/obj/structure/noticeboard/proc/remove_item(obj/item/item, mob/user)
+ item.forceMove(loc)
+ if(user)
+ user.put_in_hands(item)
+ balloon_alert(user, "removed from board")
+ notices--
+ update_overlays()
- if(href_list["read"])
- var/obj/item/paper/P = locate(href_list["read"])
- if((P && P.loc == src))
- if(!( istype(usr, /mob/living/carbon/human) ))
- usr << browse("[P.name][stars(P.info)]", "window=[P.name]")
- onclose(usr, "[P.name]")
- else
- usr << browse("[P.name][P.info]", "window=[P.name]")
- onclose(usr, "[P.name]")
- return
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 8220f60e77ed..2adfa1bde4c9 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -361,8 +361,8 @@
iscrayon = 1
- // if paper is not in usr, then it must be near them, or in a clipboard or folder, which must be in or near usr
- if(src.loc != usr && !src.Adjacent(usr) && !((istype(src.loc, /obj/item/clipboard) || istype(src.loc, /obj/item/folder)) && (src.loc.loc == usr || src.loc.Adjacent(usr)) ) )
+ // if paper is not in usr, then it must be near them, or in a clipboard, noticeboard or folder, which must be in or near usr
+ if(src.loc != usr && !src.Adjacent(usr) && !((istype(src.loc, /obj/item/clipboard) || istype(src.loc, /obj/structure/noticeboard) || istype(src.loc, /obj/item/folder)) && (src.loc.loc == usr || src.loc.Adjacent(usr)) ) )
return
t = replacetext(t, "\n", "
")
diff --git a/icons/obj/items/paper.dmi b/icons/obj/items/paper.dmi
index c39fede23679df75a697fd11e91c542059a6bcf2..fa8858e8a17b9927a8d90ffeaee9b97ef167e23f 100644
GIT binary patch
literal 11203
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
EU&db!P5=M^
literal 10761
zcmb7qcRXC**X}Wh77;z72GLt0K?I|hh)6=B1f!Rz(aRX3CpwAF5J7Z8bTex7PP8zH
z-WkF$%pKp)d++DIzx&>|{4sORUi<8|%UOG^XFdCTc>YX{lKeI~005L4>dG$xfIuGq
z;~>3;mvmYd?E?Ua#8+3}UD?Xb!qv{j-Okww0K79kC$~OZ5xcH3xud6CL8SWJdY01H
z_K0Dh;&XbPmU5c%vnLy*;7QGEl=JS}(6KQC!UL8~osAT5-+2nD3htO0!RiDA&`d-o9?}AjZrP;^C6hqPu4_
zpn1{~CY(ThMADvutQeh0b}wMH6J=S`xAcRK+c9f4Yy9x~-ZSTd(tFX7cFf6ARyiN+
z09jzBL!F(n^?O2UM8C5>TXKZz(T?kmijDS)M=Nh5aw(2Ae-f8M#6@ho)Nnbi7PGgG
zDvC`!YUdnJgcIs7m(3WmUC%AxqzRuBBj!E%A{QtY
zrRRI)E3du&K2MT9?*1P8#wTvA(WlaC2`Kah^pra_b(Lv!dBfQ{A*#o`GB842S?^Xe
zNLg9cjDRM-LO)QMTZn;!nkKA53oe%hM-ocrdzh8H)>D_TXyl=Qn61y3b
zpW)_|oR~bq8K8c$E9Eojk7$Z2z_2lL0R6F%?KUebb^M%d8&IEl{H=ag97o{=$8|O-
zvgm<&(ha6HcZ5uNotFdg4NKmVL
z=m-`^#0Zmeo@22eiEjwh+_Yk7K{ZvJ`j>9c@%5k
zb-kmOVPNT?Po+5X8Ey}90V=frWidl(v9I;FGH{^0*zK5vl#h?k<&okr7w&VBfD#(n
ze^!-)k(FQ}3Oc);gftuQAtFBBKSeYN$OHNf?)*!C{ty5L1_t`IPMNh{ozPWrI3{e_
z&nQss$&>lE$uyx%467#b#Z3V|AN@XwB;wZ;+
zV^Rprd*VIok&HQ2X<23G=YRi5ddBf`I7jK>z}`Bh+~e}-*OuxERm()!YHsi(ToPjv
z4S>_+<~EL4oOk;v1e2vvecne?;SI|H=a)diSk=ioO)NH;{c$F2p@mU#Svx~&WaH@L
zNAgv12=xStq|RYM9{Sp(?C+fK_Sykb#iB}rL_sD#4tn>7RbxPLP}0kUWLwXhZS05P
z*O`JCD5;d)EvH-FhppmdE^G1saboks*pOvG`W1Ba@c+HjUb^4p=H=^d2pAgRRWKUR
zX&JEUbWSJbcFlVO>)5t7#p>$ny5G|~
zPFc5I4Z&7RB4D-llLc1Uzh>bWLpD;DPsU+sHx5axl5o#Bcr3+5@0`V2r$5g
zD)<7zmNc;xFyA(UjVfh%HRR+RSNv$Wo$fX=tWVK`QMln_;$|g+nBc(ScNU_QjO2SJ
z4z%pUv~uC{m76NICN6`GHNQL*Z_8sBLLiSLfcclx>KSF);cUDynccS|NeO;T}D3`^@{sYJLpNg8KMa4d>UD2+96JQfQBaRj8j4BEQj*t#*FII
zraxx7dU}sD*%=tZ%IE#Gl0EJjen@nCcAZ(`y4z}hyc~AFJ@z&0+RXp~0@Kt$*jO=B0lBq3H&dHg?^>R<|uG#R!q*SJ!&(h=HXXqCVrIA@C
zJ}dNzGUP)1`~;dJVtfKE8i{3U&xd(BIy$5>A^Q3e_%g|U4SDhE>=&-+IhF^UxFXmc
z^$c+)MvNw^>UuY>2?xuJME`15-tgQg}do*WO^U4fjJITDbYQNF#?OaN6
zpu0L%7V)DTRD($*A71JD1FDuC*n2inYM<=?*TukK<8gWfpPNWfRr
zYHCsjMwj_@t_!vrZ&c;UwXgaa2NfZy#P0f#{T=inT{r*z=K91uj`y+qw$u&Q$7P+y
z=PGh7)Y38vfn;13D6X80%oN^t1QC)T_C1ZUKO@YPW>nw!Mm0eB;au_-9Wl4=_!}5}z|YxD
z8n+P7bqnk%^fQ(Z!u-WF5V-HM23M5QGx*SaUPb*YFLG|y
z8l+I3CA;Ia#_)N@_?j;wYQ-k12@BQ157}rCZYS=XpT5$a^#%0%^duGl3Z7-U)<+pZ
z8G>>5ZST~68z0WCP+b+oxRZd%6ffKUfUb8a>MS|9i63e{TbhXnzpIaeigDgVuavhh
zk;Z|@VnKekCtx{=fwRuimxCkQH+X?cY>ZzD5YpT*{KqofH50;e=DQ6eYVTCsGYfTI}sE
zTX$Qb`nX%GL!45PH|3bfmwuVlVc{k?%^rf4SGUt!V?Lc8`x5loP
z=?A5jsZXUs`trO;|Ay)t8I|~2w-YaGAx9g~C#^@O;2U)G8wv!tF7^xB|Z0`sVTi1OI^w?ao{3nj|lkAgSl
z#28|aeHs36vUM%YH;(+6wbspYe(jF@NHJ`Hp=6Pns-Sr~^-^e{{`__O6PKYrDoxE_
zt4yzhe5|YJsQx?=Gt;beU!R_CkhyflOq=xLmaUFNIzId8-0j%X3;N%i)X3Wv{EtG<8s5^e)@I?(z{RhZhSug)Jd|kV_@tw}
zTyddkKd-5r%ofJB^;qe9Y|=SsJ{NVp41XgRMt!$#Z6!SK&Fdy>L!=CY>L=5zX`xO-
zp?o1g^;0(X6ms5ZJe*79*r$b%^RTLLUu+}piHKk5Z7Lk4s7&Rlz63?_DKz&{RmA*V
zjz|3noKt@;nA{+$)=9ay@b?|q6o-smD0W7)<8;9vBeiJ$GG?|&-o>1jm5`5y3ewLx
z7yKpY&ErkZ&LUB8P=mRWZKgUuK1|fyPogj1Nc!hi>~$C8`<-rW5d~Sc02>v_Kb6nt
zVnMSp*ku~%9SNP3;J}SiF1gtOGvSrYvexh}M4L@#eBGjr1+|}tkW()_He*R(nNDwU
z_`o$o$XQ-P69cSN#1W4I{PZkD3`~*vQK4N`7`qXCumP1N+EH?Kh3T-Tbza=}_;YeYO;m`fE_6LkwSJ?ge>(^t9dp!s4*%M34!
zImfb`kZo4pa3$+qNzQBMaj|PBGb$k*)XnVZ0{hc4ZUx58=bTn^u)8@izfY=a$qN(t
zR#K$vjx-5in5rSloa5ni#K*k5UH-7a{6c;%E+xaHPveWsIf8-$E&`k&ErGH=yqo%(
zmVU$HnHy++@0=&d*Py^_!w>V_K476A{9c9j^R%+FF|1*SfMI
zMNj=6e*uO)=l;?JZW5m^|B2<4mhN@(eV#0`PBTutHUxof4TQ4am1$a@Jo9G)MaJ^&
zKQs`^H?1;Apm>I;ZZ1>7^gN?uuxJSs!#bQiSnkJ>=hkQu`Gyk6D!$uJD!qkyCi5h{
zF}JI3i+)ZNOz~8iZRE?8%qv4f>t+_TMB6j?HQ!J(-10!(B05yc#Dztzt0~(4FE}Wd
zFah}L3q@k(w3v6@GuBCAU2_WsZiGV6{D^wzT?}eM_hEyuuBd%?~+|NBx=*cjPVTS
z>E=7-k{juJAK7w6A-)&Q2S1q;EEXT7uWr%p5q`p*0rDuhJ3t9CPV4b~_j8J)g!g5|%HKx)q?zyWWdZOAW}!!o*Qm!sHnR3*i}fDx|hmUxPI){
zmXacus5Wg#Ig72k5Gz-&b~N@`EO0DCejLdpxsX-|ua0iQ+Zh0)*TMp4tp{4%>;lGQ
zaNwBFUm&$k>%XKAKcN{fZ-szu)10)c1{}vgnepY|H>xq%@qRrkqHmKg
z_c>H$GmlcX6zi?Tba2fA(sL5Jh7c_Y
z<_Zv&OVxuDy|Awz6!ZOR<&Ky?!rG>auAaBKp%{PN8TK{`4DGag0ErZ!$P3-?BkSV}298UYO8>&~M6cEYA;!=ifsOp)ah7)&-%3L~9oZ
zo{bmrvjI3n*%ps4?1dR3>s|jO2dWrkgePjM-8Ww9sEw&VMqhe2E}sT@NeB<4(I=&G
zfN964WG%zB^Z{#r7&gRnOt0)o62P&wFj-;i{l#~+7+zinOqRakjlTV`w`@N{YpjhC
z0yXnG?_`9G3-lJ$`{p>~F3!`E1FN8znk-B}!@FBRi_94xkj>HpcVfx+A?r&wRtd%M
zNxcYT=D}SbxyJ?QLjnyg5Dl1*6fPU1c|5aign=(|Rqycfk{HGUtQ6&5d-H}rG29qp
zCjs?@`AbeVvJ;duD3H<_DLfb8pR{^+y#!knHo5sasOBUS=^RRTZ$?@+07Y(hHJ8}}
z+s8CN=C*IcJS-dS{^`fW5j2~`0T}mc57joF(&{L@+=5kj&sD8_c_*Y$>UOmb{kgH6
z<_}CCy>*mFujk6|JkUUteh#AjndO{}*<3|)M6fsF&V&jkj~DcPeRpx<32f;;{ga|7
zd>(vgEowSPw5o8^U!#3&Mk1KNp5RIQn7bb~`WB`~^{LOaZcHDSLW?vF%e@t=u?T+P
z(xZ_F{tIJ!<}SSZ%i;scU6#wP0+F@Y^G^3{ew`}lhN;Z6UFId%%Q$}C_`=0m%e+(X
z?cK?t6|BLJAJ5N_k_JKyDqzz$uox1BqbWL`lk>VGInt%gz=&V}tp8P?bT1xjfdUU<
zep;CG*Xr8XV&$sZ_TROpu<*`?cUuwzmwWwsV8}ZH5R^GeG!8{*^G3O*R;7FL+)<3q
z8&CBevidT{imotUsM;O|{F69c1@C`hl>d9d_P>6rTssQkvZ!eH{M1zUbw=CjK)MH*
zi4uK97oUiK=Fwn1h`4XpG@k%IW_}=W~#`*JV
zG6#wDywd~P87)Y?fB`75BpA|eUTG`AVl8*o{2`hiAIHL*|Gi0aln4I$M-TFw7`p*)
zuS@$xd}gnnQD9B`{Gy&(O?v*rE1t7oPY}Om3>kcA>8F(aHh6{Q44uT^y2O$(SEb`_
zJ>5WLeL-!};u8(ZmT+fE&qo1+!3A-c=rBw|NKi>YLk3vp5*&{wT#R8@1xu^uT~`^KGeg0c!FG`;V?}=Ev6X)+M^C>n*ev_l$oem5=hi}{S!FO#U6+B}9ty5_
zR~&|+USt)i!W+QOVV@1b?&};Vql983_9!&AAv56g$BCFqI}SO5@xq$LofFFi)eM1y
z;kZfg$!B~?I?wKs3$?0W9#V^w-R7^@CHehrUrvi5GSAIkMR~d4)WGz=onQZ}^ZXAR
zCM{jTJ;deN_!BZfAkFY5E&axXKR%k@@fhec$*lgp4i&Bh2#3c_(HE&&NwprmzWh}^
zhbUjmY0G>|34@o>y^?L?r}q0E8mw0ldnA4l58L)nZF0HV;~T7-A#3)b=`Aqpw-uPn
zUwwN<{a(_>k=Vl4)#U1a*JS5EQS)2!uhTs(IfVUrC3d<2pmD1P?a!nZ2fLo6dM#d6Bmv*Qn_$+;D((ZlNeyFqIL8PX3IoqJfy)aZg)K8oCv
zi9Am-oZK4oK;>pjkd`B6De$uM+QoR`uJP{AC$*G?={(KO8}D&SVxu)Af6D9z>UhpL
zfheee|0VgBG|`XJSVLUEEcWw8bETWJ_HVpqpu%kri@ZBfmGx1^(XWCB6O*xXo=}j-
zEvm4Y#>g$K8g%UO1BhZal3s1RJ=ZgK%y#h*ANhfs2?<};6<$67L2b@a?@ss4YWt#?
zC2yScpXVhsS|Lc}j89}mjF0(xpY+Y-AMfG#U(41s9G{I%K~LXti|~^?1Cu;dQ`89_
z;2#RO8Py1TM8(d^5=jN|qnfZG;VPNr2U>~8^iM!Z1CQzq`dIu
z8CTJLY24n$<*p~}_UMB?gwuY36!aSvu+SFj77@+YniGVW`kU&(J}z3Y3P_}PzwLJT
z{&i;CuN~v|YhY+^h(KPPN1449<2LZEys)k0U}jAcUP=N$6CRRM4GDC$^*|Puh;5Vh
z_Lgh2@mtQLsY20iZu?uLt;fe6?KWMK|WQzm9O78
z3m=CDF{R|ZfvMNhJTSRsExA)E>D+PJBLb5r)?z%%Idb=kVww)wy4DoI{zh@Q@y)%W
zp=d?iE@~s^i601#g#)C+(gt
zw=>I$VKg0@`01X0U8P+nUb`bIMJ29yEC@DGuT7}w6BX2XtZx|FBxo;YZ%)u~%>aeE
z3;DZg_+ESsR%GS=%Xlm;9_Qa=Tn3%?zC*K8n%ic9(jIq}_y#{Dv-RN|pd=mPTgkRiG1`b-#?C<~)!IY(+#A1WoM7=CK6n5J#X@!okB&%F
zcn~1-E)%wcX~#1dvFWFp1NfS98+3~XXpt{bpidYf;+Sc4=HJwXiIymM(PcMnxwS3p
zm>x8ON(xK8eAJusYfRvurM_rKiT}mnZUS37s~hkD<5}s5IOlbC$ji(xpz9PAI#x{1
zp`oF7sv+!OxkcYegFOaZEjh9QfTZ&3TL9ky^gZepeaXHf(rp~F8xtr6Ke`$E1(YFX
z26~xwN?24}oHJ@vK$)WwFQGCbIHZR;(uWvFxyv)dpUA5PEL9hx-E}!rfgJb02
z+V8vmfW|kOJ@G&(pu3=@Lp$i^KYWW^nYOwpi*T_DJkCUM)xO8FQa{Rsgp*Urh3NnJ
z&fs709`an(mPY5vAvr%!@A1j}n;~%V+~g~!OzoNHx`C=-vJ_D#*uTZSb5(1M;HJ)G
ziQ3iU&(Q>x0XV}IK>>N~EFwd5#1v)_5o3~-l+dJ%#(x2TTJJ)=LNwjDOeyzf&o1Uw
zcws<{kDd!x#0h_oAa|#I8+6rg;bV!hxBcvmMok}9d~M4dsX{qc9)?}PRv+Dlx}TTF
zC7Fy#%(0`JrAfczW9{gu*Nic$noFscH^-3&m_uJIs@(d9NnWzC7}*z$H*sN$41;{o
zJgAyo-FVl=seMR@IUpH+Ege&PaSxwtHF@nm}@dKBi
zTtMKY_2nxxR1aq(tEv#gCH6>9RMo-p^b5`xr$x8Q))BBFwK>6w2l4W`-5Awqtb<#$
zw@}oeS5o05Pj;1qtfVX}+|9KnYs>UOE(!4V5YOT`he^j=JN5>kcac|X0Flc^(Y8z{
zK8uZqTfj!YG{z+%Xf+~tM;*Z_#njm*#LI%`K(yr%yXiv@Un1Kh(vEc~msH=R8|{
zswN}`xK(6P^K=N$c~HIlbVwM*4ty&dgA>=VzGte`c&m)4qE6ZQ)*S(rebfgAnU<8<
zE2tjSCb$)h5!)UGFA8$W%TBf%BxR+y3?3d&F^L2$_wlK&os(aU_NCFkSun!H`TOw%
zwB-~9HpK$+TKI#4bzTB=XFr}?Y+o&9_pZ(u!5G5m`qxp&5#kb0#23&}0q-3&p&)8~
zZ${G?{k<@^+yYbrC%nAF)PMU$vG!ZIM+!w{N(E5qvF_xMXfY0EC8ihLr?^T@9|7($lkXWuT?(
z$E1(P8q&9c1_c-C3gIha5nL?tv)mheswTArM<
zrF_E0xQf7SzQFK;a$o^Rs5k4!xepM(U=eO;4l
zp%+ZjcxSP;)IgTFKfh;VVbmsgi=C-NuL*@d-KuygnYMqi;R>__7IVhA!p9{XcZytu
z0uUg3z0g{%#N<2Vx@EmX=9TN;8`b8w2L}3-j#H(Dp7>BSdhXm`aWw8>%nJX_kiFAA
zWN3Y;@gdK1>{l7NR|?OMMyfCJi~2D9BByuG(P2XRB&X~ycd;dx;Qv8YQxW4MeQ
zc}BxX$jXr3l(F`l?c2tkx+tgyoh=P5ZQfQHtE1#$mA+7Z^qbm^mogiX1EZ1<_6kAd
zL40fXY{N@|9m&jD*^Sv%dh5rb8h0CzWRsvfw^5iCVBIBYBHwSInCM@
z_TE7G)X)js_AHrd0b~2Zze^TW98{#naIYxOd5z#3^StYn*3*@y^kmKDBqOZ2=-A91Yi%kLI-1K8EtG4
z@uT=g1(&?UW96)aFW?`aGDLQ+dvJWY@fB|~D+<)!hvjc{@h7SDF%i%#h7~nDV}Wcr
h9J}^k=9xGuVtG5Q9Z*FV{u56?L*H%3N(mrHQ;JG20Tt;@nzV!}C{?5>U{It;??GB9
zDqVV!mLN?C5IX6((eLkl-+Ryf=bn2GCC`)H*_qwhna^i-Uzr%`va#~90ssIueLd|5
z004c*-(MCc+M7I?Z&&~Ts2B3c(qG%j@5yslAAeVGF96_0ZiUs5*PJqk`kb*yeNP5Y
z=2L}@&a6v1N}zhsmO4Pw^ob$M71qmK)80sCiL*|As*kL39E`a3C7)-?FamElp0JJA
zJv<}_lUZjcN|TO9cZRn^0!j^Sbco`H(`BriPn=|^yaQ6Ne!J={UJ@zwSj4T_`c
z22*9xYi!vrLQWX7Q)%#m@bqu`x%0b?&<_kAO*hIXjwJq^Y7wn@C6o)fcGIFi!r{Ry
zo(EqVdCoRTKYA#vbQ1j#tejWhzdS!MsJFIt^~_tv8V2rqA%rit^O>*9QhG(VUHYO8
z3hS$_nHXFbP^tcaB457H_?)w|dVDO|r&}6wbA&HeEyG4Q9Dhej
z%H`@K_Xe%cC|{OtGBH6)HQsPyN{hU8W|
zgPFsMN56rf{RL9e{HwH~FH^!HhW&lNJw9BK)YEwEk=1m|gGbDluh@4#6za$3(#^(`
zVW}G8(JuiQ+Hih^cv39cT{`-8kEXs?z^ue7QHgcmIg|=
zcv&d}PWW@JW%>-?&okB2`d`jkKZ97I0yi1?5QgZ@j!aT3LSC@S6y$^d(h%*W6DIbSpTl2|D-tCv~h&`ImiN>LTH82w!~NM`iO=
zy^kN4{0~pDu@&Djc5%UV9p80vQGRd<>&Kf`imm14X@tf)Eo;grLj1E&cSMBAX>CZ}
z&>Eff2Ps^f?saIifmrYqXJyW3Ymq-2Qu*cb!9uBYbto3LoTnZOF@xVk(?5s>?fvWq
z`K-qmw$QDdp8cA}6D71%g>;TR)2A(uI5P;SJJahRyghE9Ke?BdsSMzJC89P8Gh?fL
zilTp?aEg!IndSB5UZGJGKTFA+XnJzn&EdAVk(Sem`aH*+1{TLm+5zYp(Lhn}mL%`s
zUMabt@BZTkXOJGamKFj$+wtXF&H>myFnyfwJz*xWU%0T(^YZ2y-ZoCWDn|KwtG+EYe1i$L>s1wH7Q2dh!11**#g
zH*V#U-u9&U3WC3-$XlmMi?MzBO^9!Fsk^&isGXKkfRb*v>bmdWy!LEbrHbac=vI0U
zulL;Mj*OtQF>cKoxOXRq*%o_O#i#cculIQZPrrH<7fflAJU@C<<+Tm>x3}E>`gzrd
zkN1im-G92WjkS$d80lFdD_Fnqk1K4%+=g2;ahI0iYIPASas
zo-gK;=zL};bkXk>HXFQBD4$;|ndpQ+(!Xamjc66a&&z)U*Cw{_`U#K$;`a|_a?dw9
z`_1_jO7*laql#vTPquY<38~<_5SXftF$z9SWni|&e!1Fx)*1j12Iy;RK6;V6)fS#B
zV3voaUOUV3J5>yLHajV@GvdytGYi5&B1Q*y3U>G=;B`9+%^gwxR0kk~FShwvr!aV;
zZ9s$39KoO1VbJ>f#hZ&ktBzL97tnXdx2tdTz0}a_5IMzh^_^n`quwUPG@#VjEH6ae
zY*Otg9BF^B`C+H@K)u*VEsQvEt2o`Qfi((!?L4cSu`zpdb29)i*XY^3yX%vGQyXJZ
zW_IN@vaaqNKvqufHv#(e>E$#q#)Rz5UrP13a|HLSeMEi8knuWu;yf!bqfJOq@J#FY
zLHv~SMw}XFQeq-wh%saICLDc%7k3MgU%c)Qkd>C6byf=@XGYp`x`+e%|7^7`TCO!l
zIs*Xk&0F^jpe2;I->qSq7*sP=J9ZOnRqI1~2)LL1XJ;o_fjpF>6lbs0E2D8q;1QLv
zpb9(uSKU|}YFRi|_cNoU30cf=f{@Tmwfsmh&Xg3Oo(G&$EHZ`*8a6L4FV{#51%|h;
zjvKU~6hRLg&A(7fq*$Of`6U!`C&co71@TJ0sodf~qS~iM;kyg4Sy!aqr7Hbt*n=LJ
z$=JNin7{FlWjMWqR&TxQ_~)V^bVp;ve9Pk>!;&c@vq2f?>^ku)kV^kGDkK-NJvPRQ@akY
zprB&LEB3oKZ61x>F%d`DV&Lmd6!;5@p52lPwa%Y!)KuB#(HB^!y-C@?u^YT6>bze+
zXu_aEIRg7mLXpwc7a7oC>H#?G*l^7mOteC`Ut2NmK^Y)UJnVS+Y;T0Mo{R%Om6Z(y
z=I@H}DrWTKa7}MMl%JUY_SqG?=WZw|!EY=viL3yMIFO01ox3(v1_rRwzTaGj{M}ho
zb;Q{?Q9UwZR#Lc;0Q#pA%|itc1#t2u12wBxX_@el;})TPJe~DA_Y2z|SoV|GVq5sG
z*X7H%Hle-i%zBNWdqF`;G!IC29WT;vV+clf&?Tm%%vE|;ojza$9UK~l)|8nG3qz*(8DwTxsc`tw&vZ(#8+
z;MG@X9)Ru1y+FgfHn^ha`we*slIM#HsbD+m;l{XV1Cx#&BoW#oQLKpSVaa*gQdc*A
zpay2qBo2PC0B^X6aZSEJkyJf(bMw;e{N}(eh?vSl%qHl
z-;bZtJ*F!UQm6sQ=aTtrxHXz2vzuSR
zwN^Z>?EP>}Z@DJlHHDttnkpywUH=F!I7I+iQ)ywN%R_z?I?8&4&43^WLJQyglms-h
z%d&@^<9N#POrYn1?GbjE{~MR|cGFL)K6_UnTLfOyOcEEeQJ8gaU^luvS!GB0Niao0
zlBNyH%})3xocy^9{s(uWDHtQdK>1zfS?2C=v3hCUH`!}$;|Msrt%WzOQ~%y!V!KJKvJ
zS@y|~)2iWbDFkpM{fPCYHm~ux&P~+wnze-o6XXH7{si?9vawj@HEEAb^}zo^D^V2A
zz{&z5eVQwtB9Fw`GXsr{Q`U)>_uj%w@CF#}>~oK(YhitrRJVrG>I7|C1|bj#Bh%B)
z&D%eT3f~a!I+%lvIFU*M`$KqzIaM<&$hx?tMP&+U{ta6*;pPWUNVUo|$Izea*~6BB
zzENn)j93_Ml}fRyd$u%)Ih@|V0H_z1?5~GF$wK(pHFEE;KQ-mx6=9h4YKOcoUq8+K
zR*Kphd?4#SB?*wVe`isIGMKd!PO}$s$sGTZ(YFykkI;x-(`EX*f(8@ZE)kn>v2AHt
z&Ak?C%&%wmN2%uI(ADYT{R%md-UEh@zm+q`Ht9LngB|4rsUIvdX`6Xm2tYc1e>Bq)
zBm)htqYx&WmupQq3DnZcU~mC3p^pIbi`t>)QV57X0_4RKaBHDu`j9UUH5;s|2TFAz
z=UdvOZi{8CJ%kJn#80#9z6)i;tN#{`cL`=0?&ug!ddo2&+HFimDeflvo@I@00E)Pf
z2V5h6dXa4~GA?AB6L`Mm-w#CZ$mg?AdrVVBjz5{$S4EZU=L1}5lwiO#3S(sE8{gDJ
z^eSLr=q;zdu08Apz;O1B?n7pPvwamJ%)Su0m>FcNcwLJM-ju37!B7lpDJiWbMC>>O
znNtpL031~L;=X_w->3W<Sk&KA2+Ngec$JoV6{bN143}CAq*}QfJ*wqxywR=`Lq?dc4`tSo8mf1kM_5*nxH@L!eO56
z$^9G|-$rTM#{}Wi^_)102A}jjL8h8h?V(64gY1Qt4*Vv=;96E5E#m+9@x!NIi5tM%
zeGM`KIYI~hNW7rzgN~^AQ105{LBaTAsZiu`DKqjFzG}1$JO+{IBUCV;Eq5j6WInv~
zn7O%~8gSmlco?jo^KuXyEj!<=v5Sc-IK8*5$k3Xi%&J^J-5aX>ZQKN31^ZQ}!B_#i
zRj2V3LHRyDg0G^=@>KgjqXAQ>7vqe~*)K3K{z&@C`?`qFH$V}0N0$59I-w#Bln2I4>WdjgREgB@;L4>0FSXeo;viHW7H!RuTjM)1hcXia&`Wi=uy{
zFX11V&n)tS6GBFGNpd`*+JCd4>JQO#Jj;1?oM2u8t0EEX7Qx#vQjf1>p#mr-v9`Wn
zQdr+V@?Zf-KSD1@`FL7V_({dvheh{pEJUTS;>V9v)L6Q)pBJ`AfL-p7@qyXI(Ijyv
zzxON)-eldjh%3IJ#7)$NV&;#y3aU6y_2(!E!gIuks3Qke8)F19^4lf!-L>25x&i)$U2_?S;i9uy>r5@Qmke
z1h%EQ*=O)Zj~>jMoY2i#xOMF65;X}^8KhrAP+)3dy)VG3B$aD$8|rT#?Q1RJe9aC=
zLV@RBq}2hMJav_xPP{#mF|c+#*t~0=4ExpdD7ObGsYIMls((i3duh)~7$DX3SSsZ-
z1x5*_jJDMZ!*y&?-0S#x(!O~M*qAt;ekA?M{CuTTiZ4)D9~Jc}D{{zhWp)&?xjfZgHrA-E|PwHwL!fNvoW4A({y`Tb)z(ZZVM2MAnYtd8
znZ+*f@ibT>h}-*GAM%Nqpm
zSZP`9w|y^25|eIb2G7LKxk4iHNYFsl#6_ci5VI{(^FORR?Il-ob|G
z>KZ9dJSUUJ?7ohkmWh7zhI8DLrTFA;YfX+A`3YcGtoas=tGm-(Wr-4|{e07-0U+IX
z)~7;^JYPAoHcq}
zHJ(Nqhl&eUUWXKK$=z0|N(mO!#zAFTfVZ~^9HXy;FZ~_kQ^UK>sn^`xic|?>-V}w4
zir|t#)s}|yjkBupP(jU^Fx!vdC@({+0EvVWB1^;hbAJar&Yl$*@InUXfq8gl1-sHNX?^VO1qE%adN@E{@pJ=Q#(cA@Ktprk}
z=FNrXRUNk>f3a?B*al#V)yrXy#|WBs|EBR*G|hoNPCkp24G2IB0(lET|4pyqP)99Va)Zf0N>GEBb^RITJeD{DPutO)NO=Y$s
z7`E{O^&>@M_>*hH)3f2PrNig4n>DmW-4@>4DEhOX5WvkMg{zb4@j78=XU~Z;K^}1ER@gKO
zpf>sH8)nU^XXM>w@r^bT}m}-
zjpn4R=`(1Y=}6vnz0R61e*EO*%TegAQrS-n=b_x#gDg_gMhh%_1x62$ZgZJ9#BT@v
zR9q~Jdo-wQ?QTcNF#cn=x>0_eY0LFWA@H3m%Z8VLNTb#!tS#EEcqzIL`nphv%5Mw(
zwF-zhI5eDDhwU%i*yn<``Am5@M+w23ad$b@lk_KH5^~;)s^?QCW(9b^3+%={S$FyYJ8_06
zI^~-(svixkkZ=X}*Vz3!TEX?s_=ZsNua6IWn@tzR^iKy@nwPPx(+8
z$1I~N{_`=yRdn|c46qLCpTB<7sWj?>?(m_)i9Sm2~*iq-#
z<>5v!nsLpvW9YUl+XW^AsPPF?ZJy06^c{=g9WPPt*kK~Ctb38L2%sSJgjF}{Z|oYb
zMB2ssy`LAjBn8|<+a<*-XM4PfkD
zESA)HMXms~y__l>27KEqZ=X`v&Rlgrkq)pJOyt;6#rW9P?|1@+Mi--_JKUFNQE1_N
zs2ldsRkK9o?bv@Fb1DiT+i)ve;IWWAE^j)L$iaTJwNnqh`m)
zqiM+y@D~=+8!ue3hD?NP1lcrdgTvkAc^}Y^$feDXdn{CWP5CcQ<{|cVEh4TOd++`DKx{@D-A}kyC
z78*TsxP><=($&<8`PnjQIHYU%Y4uRg{uDO%nHEPOSK(=+8T#Jb(trSm14?t7?jc}m
zk$#)1?-POK{^L2<`27LGu`x88eE)}fn&Kz!_ihk4s|$|`;Dyt$y1>EWyBFvs6z@Pa
zNT3Bb>87wO|Dp4wjos%f%imowTnWB@CG4z|YQ&sD&jXTSJ=eqK5Xou<*;C8DtX^p$
z=`~Uj9*+jAys(^5ZWgiMf9ORD?8n0D{bz}Kwz-O)d>`;pc<66+fF0n&S2CoAvEwY+
zuN_!|-Rt>&iYcsA_`hTpy&K7{nlfhE@hL_qUW3E*-E}|fVj7C4|Lxiu6~Y=DwR!WR
zWr*=ZKbm|R-Y>D^CDm&X7c%8A=G+xuQ+k(ps@k5lQisnO0RUltzVmE@pqtkLvyTi?
z$b{)i3<>sk4f|x?xL38Ap+qzAEhkn@+;7xS{QvrjbB;$`Wo%j=`M
zo;mUgQZ53dB4}`o`zQUvuOs-I&!lh>;Kze-#cB4^Iqx-245bzouazW@>2z?
zs!H1J{%4htM2}#oWb!u&<>Q$rXZJW`PJeC$7;}$#MFx0B9`gWnT_dkrCk#lp+yioy
zToD_*{a>&1Q}iSh6vjvy{)8w2X1nl<1Gv%W0nFRIF=-r*lfV7c_r1aR-4
zG|i{1tP!XFy^X)8NhkXc8Zy4Q_J0!v?D(&{c2Pbc`+o_2IQ|pBnfSP-W8$nkg*h&_rSenC=9t0H%`6E&eK?-7~t9qs?Y?4mc)ebqI{D4Y3)RnI4nY@@Z1i0ILuIh
z05low+u@&p4z_M50tz2
zj`0Mwe=)of*+edHVHhcQ!AM}ZIhDA`3LAi2pL{yutiY>j1?R91F<$nZ+U}{l__$=4
z7I);yr{IINk1v!)(1Eze47l#%wZ6fuGU}g#lpjU+a}tMt-dYzJe6JvJgE}CCOx&JB
z@Wb<7{C<_KBtzK`3JQ91ur}1#@wTlNyBxt@ULl3t$^icH?WU*f?fH&V_1`q246LP)
zFTo!(A$P5%z=`$VN{CsC?$eyl!(dk->OcQjXFrlJO=sw5JD~Qw{Hf(52qXFC`u)6B
zM9q@6d!G#>9&an}eLHubx_*HFMlzyvng4ttLVnE4(`e54DgP{$<&xT%I;B@;T1XjS
z-{d2rXiPlQe)Mb2*$?24q+WjY>-mY0;Gkk-1@QCdEfjs(+6rr|zFQoXM1i-mu
z)wWJl?xa+l?S#t-Kbbp}#G0R;ws-E=+Dm?~zo~d+a?&ZpuI}0WSu4?aedEFhks-~B
zzasWkDsEV-+38$^7<_|NX5F_xZnu=Yy5{`Zlwwf$xHZL^(m}UNZE_2Ccy+IK6H@I!
zr|7+yxU=K6EIGaZARl$+!a1w9*0X47v1y8(_<_uJy+)_K!=>k&O!MH;Au1x{r|=
z5*E$UZyhpOF3DFfrvU9FSsJC!Ay9pJpM@gcFssYx$3d
z0R(Y>JC3)C#fDl`KHSd4j1t1Urfbn8urFMQHA*Jvi6lY5?f&!M6b@=>Ww|^4g
zMYIEG`iRDZ8%#`0kB{Qd(ErC~Y5B^S@|i@_6!2apHh_7_+l(<5*|2nkN%@D{`u@rQ
zUjx%3CSbdYYatF78j$e%VJeHjb84{lRTI)a&HSsv0QCR
z!~k=myTy035GxuY5RD1~_qoCDhmdK8yd5>BlU>qFhd?~Y#iIT`7Jj!TF5xC^&t%*c
zB@uMA4|pOCu5=Ls@)bEf$p-5Egs<@wf$MmdImk&I8`KGZL6gDv7gS6ME(3j6La9%I
zt;v-CX}jR$vD;$*aU#^O0U4N~P37n>VcKOkBf2MCA()M;J@!UgZ&zL0-m&lel)4<4VhqpRCQIlJ_MwLH152gRA+Br=tu<
zqAadaF6A?-g3|MWRS!r38mD*}-JzbuIM49yZK)EM6_fIHTFb6axL^Cexaj)!t5(p_
z6H~HjG~~xMkrbHCu1yznxR}WgCT>Q9U_`rU?&M(f+;;fCcOId9R36F;{Ss01k{u
zHcz5N$sHY6Jzj@USpSNp}#XjYP%Z-8nIDkl+F&5gq
zIc^L_|A2T(efhXdobA>&GgHzfq56IlC4=cvy6r)JreQlR=$r!#9&Gk~$bN4;d>bZ&
zpX(M<%-*DVj48>njTE9uYIu*&v`Q7WJb&4GJmCRU3@OfW#s-Sn4{J6@KCJe(lTJs8
z;8vHS?QKj3nLC$A$(>bK*aJpGA94u%#9jz{ZcjW3GComro@yZK0*UYezAz}qp_e7{>r~W~7(aTPwZKF^_%U>^E&Vo#=Y7bqzLr`}e
zjxOI}dMxA(zk$LWY1YX2;}C2W@Z%
zP&iXK@kE6wfs>>Nr-0!?A0MWnti9Ab9y^(va-Q^LqStM#GhQ~&)L;?(rWp9#`lCnp
zq$;N}9UOz$PR$98M7f_IVp#D!g1Bk`d16}r27CY@Iy(AG(S3?P*|17Q$agj3MCPKv
z`H)QeAgCXnmt^==m1TT-_^V-19=0h_p~){tB#H{p@buY1Dm$m;d~w_u!w8T+Mf#c-
zE6Dtn5FL$r9%w@{THVF0BTo!am{9e6GrrANw7rpR%iwkg6lInkvmorz>7xhEvbS?B
z2`>D&W|qFW1>-8b{e1Rkfuc#!=_pZxr<7L+$1_GDwiH+QOSssIcZaIXmEiFTY{MeKwYwf7bZn0U?1cLC-_
z!fB`-u)*v=D}BC)KB~8r(vv0~8+#EJxV?Ye4-2e_{QMANgJ^YuR;7JKjRv`$Y9!!S
z-@6mv-RWBxrnfHq=%!i49pl0Le8ijj!Nty~2r_YY@C4rg_1?M7IV9t;Hy$kuC?`ov
zMURrYG9ioXRh1m01K6XlqnG&a;Mw9zFp=M7&UCDLz!;9B2gc;Kasyu=ZQSb`NJW+G
zX{4zsNTDTUus=nPXTqFsHrHJ%_ut0eLZD+2eNXP?(2k=j?1X>s6F2Bh@eA8y$<@IA^U+y(`o`Pd3N+@2DGftTb&oJOJ|oqu*dI3zH)MyV>Tc)+6X
zj@GijSiR8-b_rtk1qd$6oYuJLLy`VXDGt3jK5UkM-Yg3+|BIG&>4eGL%KHy_Sf0>a
zM~-&lY-!_!$ClHTluL6+dM-+AW=Yh6ViY{Vl>Cj*aG6c!LF@3ODTk`Bkp&C%KQTLN
zlI#Qxk8Yx(X$Vt#h~LpcE|A
z{XzBP3ybATdqSUX5Vz|I5*nD8Vr?D=atYF1RV=oHeO_xq8;IsN6gz!$)9@Cwqc^O77}8Ei2LNq0>_*ZID$h0e4H
z#&}-|_@UU8d{U>nf#XZ%1~^7+piks=EKFM01lP#5xs}xpDcJp`5k4ua=1bC1KkxJ}`9
zGs?B&9rB&XB|(@t8~&j8D5qJWI-keZ-TQ{~CQQJe3Yw&!hg4kugp_rST}pQ|<0M~M
zg_oFfjY1w!tQ$(>DW5+7nx1CX$Px1P@iFNasQz@A9Y?CbW{tisF16m}DI|qqN-aK=
zSJc+tD>9*GW+(V$`k}{rxn5r7Am4c@!=}Z
z7*&w$>T{Pv^8Hcggv`tqWa#h9;Wcbf*zc_6w@rMTkFQkm9Z(03TfW}!%wj~QA*hQ-
z0SPu~D2y)P4sY0iIIQ4nXmCIenwn)rtz^T=5IG0+&R~ZU-HXs75h!^UAJ5TcD2?cJb1(4Di}C^!S(Ezj3qs&793vu*kDI-X+=e!%Q{q;T{q
zW9#JohOj=;M*S%+&-#AXJQs@}iFW6>a2C>1YO>k(jy;O2q%888hUB-iq`SK^(&-^_
zmK^08;Q~HqUfx1p!zH0DSPShlKw4y=Rwml`C0LK+YIoHp%s~HW;cS_P0)Fx({rUWT
z6%Pk6iOAL;@u0N$w}pxEP*wh!oB92_w4ro7#oI}D+uXBB3Xkkgz<+bs8sx5%i@c}s
z?+TnX47uXsbVXoigu@{6LngPOiV)8*^#+i1O%09eNoCERjw?SIzW{GwrWOx+z3~g(gw)e^Q#r
zeb~(tH_qfuVgk&euI=>xSF
zUJ8CiPWk7%v_en^$^AZ)q*SK#K`O1}%f80bupc6&WYzDzJ&+Rxo|rE>Oa2Ir|NC9g
zG3^dAz=iUlZYL~^`cAxh@AM^R8c~HJp-B7<8KvO<|CsIbf4p^2rT04zl$d~-j8T$XDlKB0R#^R%MnrJc0|0V1{xo`J#m^y3vqKGtd
z9hAO_^?#%seXH;Gf20170zwEBOT@r@oRKjmHFEr}@c-!aKVo+I>3sSeBTI&(
zg3j8A{J+1Wo%7N7yor`P-@1i(`JbZ&<7k*yor2U_jn@A*C6+=wss}Hxa7l>{2yySf
zMP`sI*}EJ@gB*3L+}sL|^G!C*%E$_Zv|@v??jQ8M|LF+(K|U!+3Jw~H#fDnuUb*WQ;`ki
zyMV#FL+=7rchKwJn8UzwGp=+V6>CG@-^TPmI&H;ENWJQUGT?s8a`XK=;%g?fnAEf;
zaup1qQBW2@`pafZ8fVOo<0ZH6b3{Wb+=V3AChITK*mRrp@7*lJ>dbLpm2XSKt4U57
zj~C2&8m!GWXjp4W_H%yH83o6GB$ZQW
zos`+HiOXf}P*1-0iyrnXbYIIgpuY;!E*A=jpOLf1qx4rcJC0L!%QtGaW8IX!gvfdoFl;0r}Y{E6UI2Lt&;I6KrVJ#gda*QujP
z187z|+Zw%PKXWH1xe;wqvC@0y6vh@H)CwOGnpGNCT2K!Q=jV-mm10;rhdVWg7?1FP?eq!
z`K4M2UdGYokBq9==9L`fCt`gl0oM&M%GBG1mf(TkRHJ}TQxE_6Y)CH+d%NMyOg@yI
z$N2r7yw_vWP^&^qc!DkPxU)gD`O<^l*YJzwtH0LPt@8RyM|_P%~**H
z_i85-?Cfhaf(ahM%^13-nTFyEyPiaN3<*v(g9h#`Q(}U9&3;ROdBSQF+N9Vc{5Yf?
zsZTn^Mm!>y48b06Yz5BF`Njk$d+Y3uY)wqQJ
zAv6ZqDMC(O5TrR=<>D9!VB&|j1LWU)6
zNW8QOenckbH8G
zidkrYSa9dy8!HTCbB8;2iLG)^KleB`Pp1*g3x%iR8LIAfwtSu-}2o%-C2*
z)?`kW@JJg=LgYvh_&7GCXT=R_DzH>t7
z(|O!An~v|?Gr&s)S!k~diL#?%r+a@J*Iq
zP3F`k*0v%Yx+QNG%k}5_
zw=J}tGRagQUSN7Y$dI*#{HxLHkJN~)H>{nKhHC`Phd^K+Z>eGWB3mBj{vN+b@*(oVxWHyB@l1&d&pI5yJ^Yyi}WciN3@+
z<_$W0ts^`gVg1`0nz+qT8D@{lq37dX@u6eK2ythj^yX%_3NcNtOe{%=v5Ta1w>*
z;F!mD!h;Bh(xq>&Gng=tby=RXy+vLq&nUzXN#)P4lPJaOry``3UvDCq^0mM)K{BH_w%T>iGM-V6c3nC}6T#nbUJ)Z#kh)d$uwp`b8Bm4h;;EP!nh
z1WDmt9X5-2%-QhD>Gk^o49_ytQxBM6yO9pGrzLftbQdHOT6M&%NWyqTRt+CAGcz|R
zeIM7cx8Y&tKFwf_a)1hPHJ(}L=e524XPc+PI!r29&N_-K-Pv-O945P!*$8*imP#Ty
z)5No8O37DsH^kpP3SHG-SwF~m33i!v#ea1j*-r+&qBj9JFbe{f8BfPUV`-(GAHTc_
zg`S@rn;Nir^t&!l(d;#udYu_!+v}+}Xx(ehAdMu?VR|2nE@B@2$g>6FS09~uic!UN
z+Vs7J@J8_YbUNRIIs&e5`mr_5N5)r^FVdSVQJg*BWiG`j1Dw=tIHXT^h)y8I0W`*F
zBKbbb=ixMmCBtrf50Z?E=^)qr~4P8
zo07W$Ga4O$tUx2G$#2;^M2XWIl)8J+w$-cyc;T8Q41L!xScvj0)q$P6JUkQ_9)4f5
zigr)+vkD2fz1vy2!}Am1SkGe9d{_HaM@Xo}OccZvRMh|iQ0)T&e|lt80PEuin}HlR
zJ&^;lPYHI-8aLVb90C2(A?@_lawhAUdjX)54Mf9QZS)5q9U*q)79fR&tt0rnDz|=0
zp_jyzx@=gG^fEILhfm$o?>p^E0AeRv`Fk+9`K)syID
z%aN^VZ!EpzETu(Tv+CFmnl;98FX5TB?g8@#eP^brAO41E#{j-3CVDCC^S1Ll>!I*c
zc`1#?Lu3PEfhozzwHZ(62axW@PPBFO4X<0gM4b{tqUzOJGys_n{j;;5n1#F;&b5x6
zkUp?$;6bNBQ6ynJcPppAZ}9Uo9oCLUUwk;NIbV4pD#(vn
zA9WCF3M#1?I@%HQC5+};_cT&B80uPW^1F!_8B9_LS*t!A(3=35Xn_xAogCTT8bKfuDSp#0Bti^bouKBdeJZ&9HkXbI+pCS&or@E7BYU
zd=}8(qcLyxo7{H^T>28CXk!(@G*D~fphLNA(?M5(s>(rm&n6!LavXRpr;tX-k%_CB
z*QPkT+Q&c<3IGLC#>->tG2Kt0^+q~F3__%Ak`YFkjpidU5l2@C-FQV+^*29c5ie{;JZ6`2Y@X_8`BEG|XX}xX52HN!1
zlw2q@$bOUIx*~s6!*`oliw^#u>>Y*P1q1ck^YOdl(5b4Vqz)duHu>_xI6GQ5xMtS$
zL6Xe}Li<`hc_>`FfJiq0^*$vnfIxbhC$k(46HV;PD~HOw=1?l+UFdRPOT+vroQ_nv
zKK?#Ke$zIV8uyF_@?_)@kQSw3
zh7c(c6{Jg1QR!}m6aneZp^+SVdgk5Zb>GkRJ>UDsdvI_ZFtN{l?p(jM*KeILbdF?0
zwq*U0MUStl)ao)PODprb2dn%jJGL?jDWjlSOC2b1ksm(h!h+oXHNt&<4JWdj{S_bQ
zA96M^Jvf}|udJ5|eOoQQH#me2kC^Km=f)TnOg{~m68G4Ye~+GJ@LM1H`VEDdAN$KX
z*s!T|>oBlq%B?j&Vz9U0{y{i>Fl4L@M#m8{EhIJxYn%QI(}zg(czE9yM+{QW0G2SM
zH{NInck!dm2Hx>pL~r()$u3O~Q7PT_OU%!L)9?RkaQS23(c^J0v|sPmFTIE_WS;2z
z`!oZ0Z@dsLDs;EM%$%6U7W>WwmPSO8JIM)%F~h$EOWvCtY;GuWb?Q
z3ss~nH=?DQ7LlD~p{6)4Fm@h=Yg4!owIh|5xA=sHdQ*m=2goagw1D3ytXpB7*udi#
z-AZl6aHGucM0)R|AMZ$YUBZ7Co2e~!);+3F6)(fEVEYTLtGiiaQ$8bm=*3&u#w?fj
zru4_~Lt|rRR#y7s`d*D5J;ch$R98~zH<32Bnrf*7WXB3xJ0BlmDFh^>)I?EvU5zWy
z`I}KB6`#Z~DAII!O?p*$1ao4l2-WAphQx7@9gEB~tn08v&ppcjj$n|!?vTB?VlN(rC6%)>msK6=|J
zsYqWioX`cfM~&~l-7e50j;gA*kKtP|cjZ8Dbj%)M(`<*EV5Q+S13Rvrj%O3bJS_wP
z=a#7ZX!MkaBEm05wzpXI{M$-G(yq?&_1bqNS)sJkH<$1F7pckpsJzy0ii6OKSU{a~(YODqyUFO99tQ@NqSt-%%p!jMu?%sW$<27C8R
z&~7iZQ>|#*!)q<^eACMG8N&VD*szBQ%AKoEd)dxAGLjaj$YSoR3T93Ahp{tnTdJQx
z1BX&ax4DC~kCkiFk)oyU@O<+Lh8v*=*-OHH_Pf`Ty6&mqtvXF$NO3Y_CV6q62Er7k
z->N`^LqyB0etN}4@UtL8Gj@--ap6A||B2K8cIFzGtr{RxN4
zZ-?3Z^z=EakxcoWe`)??z5gSiZ478paQZEp_{OH2tkvwb%iz!XG9Q0-gi4Vh6!J5e
zD*-uMh@N)Ns`!dK5*jI-`6FnKRh@CgU#ueUxo?w~2}ae?DZ~ra`o}56w>zg_zd_k4
zlQL$%wcFhw72wmJH;5RJ$Cj*3cDRX!UL?ICHprC)I@J{7WymAEOZM|2PNT!QV*DDo
zm5DNa0_a(uh_`b`kOt+a^3rsOQ$&TcN&&_6o{{MTLu=z_2zRGQYP$!DbBaVOtY$ar
z_BDJQBqjb$4f>YL%h|T2C&~!&oG}6&&52|3k?GkgGF7ba6Y}twM
zs|bh~lPO0u^=8^tFABl=~<}+HD>yo7UvlQqLV577(%{+{nSq|(HQ|)G)^z{ht&B)RJ>t9gOG}}I$>V=w
z$y1V547L!d)d#UOc|zCSpr9sc7D3PTGgSk93f>M5>KB+Ao|=o+oCfJT?=OA>pY2kO
z>AOD#1L~>ksj7kUPkbAniBP`wfjfNOq?+dV_S>?ylNz?qO6L>&3xMYFpEy&fEOb|c
z`^}ZYVv4qh*;Bg*VcTX{gDWnM`&{)L)#wWdLE44ifB#-lJ1+fNswD5~_tSw06j)jp
zm_xLq1cGFAe;9qtDF-6TY;aMM+b)bJz%XrD1i@T{ASt&Jv1u+%shY_9`<+YK6UFm$
zfv694#k+6bzO}PMyx<(B-0a2ZQ;>2~jwf_kDq_8W>fV=C-u<#&UFOgO@9w)R^gG)P
z5v46r`zRAiz8$nVt-y#t>`dj4@+(&@-GkPtCS3_9?BSH(K9UYRcFhPru6@71-p-+?
za`MgFs)B5x6Bo2B>ebm77V-w~3#VKlFM~yQ+}djQ#)1sA39n}1yFFU7{6YKiq=pbS
zoy6bocC)c*?l4#lPTzF2o&E(2CGC|9uZ(vCt?nr&Y;Js(9e!)lF}tHnB-^#YELGN#
z6=H+lnXN)u1#a620R>!fgF$9W%5J6Wy?YGqwJV%Ijwq}(d>;#@VzzPh!z
zkjxdtN~v`a&JfOLIYCcilB{dTkcyPyiBa&*7wJ;uFTYM2(bX_9a5>$SmHG~NDt>n!pwwjcp(aXC
zAwSbetizMxtCX729_T6cp1A9)Qq9O^^^&p3{K&Tyzn1+nZ4bJ6^7(9~F-^$(bI*+*d3G&fbVWUGvvp_9t6ZbEgyAl@exPt(K*KR@g1@t=
z5L-mB4PE;zws><8L?|9NtC$zM(gDXVzL{e9gW&Q3~
z>!XF>7ZrlZ{V13KIw(LWX}V~c3t!E$9FiMY!DhvK*VtNEntZ%HUFx-Rf7nrB#*^kP
zl!O@}N`BeW3#;gn3?#dJg-rP7yPkmmt!Q))JqXVXSq%{}4bK5H7P^#T|F+G0+{%sl
z@N`R)@@mS`1^f)5;OHY=ix|5O*yqyafxnzEMyIu(z9l*ZKJ=^3Sb0$i$MJ99p7UM2TWfl!?}oA^^do|J4DFO)|LlJ9
z0tn&1SDGPQtSzC>%`I?L==$};;Pd`)B-fvwi`&(w^Pnu0x;B(?B7rcNA>X+87f3RA
ztrxV&@oSAxM!1$k*W1Z2BB03g+Bg!uI3F7cf#9tKWYv&$D8`KR=1UV@OXat+ZjQQv`BAj1XCQW>BZ`wmT)$;sBx=6
z7KkTk>m`bkdVi%S&d9FmD4DKBBs<7!`Pl&Xi?zOvA_m`uvs-e(^bn?}-I+=f-^o9U
zGvZ#@H<7AuVm<17x!!#sgN3&pjF~tMS^Xd;!8rURWu$N{_BheJ{gciEJl`MUt
zFtbOnQ>X?jlKC`^)Pu8}q2m5mr!3XLUCdJa5>QjO?9A5hMe7AoXJgt$DA^NYAY}sb
z09o#B(k%AEtOAt1Xpwy41z02|>b&!>3u4WC$P@{F!$Du0bSIxZF38S~8W{ex*REx0
zleD(t?a3Tf5J}6cWdB{O!jd59>{spN``M>1xI*Vk$|1kc(T*0uOv4AJDhbb-!|cDP
z4#W@=TyoMmf~pxffA7pS@-lHrw1bxUHyUpV;@%CS#+Cl+Jl(B-+Iw!L`j%#=CyL
zV6yk7$qi-GQh><6HNOTZ>uG3cz8mGo{9(}FT|W!*Oey;>88?pj6yxp@I7{tYcS+(L
zZDqg_+am}!k3W^d97fd;OPNI)yL{dw`af`Me^SFc1>t<4JIci0Iaur|GI$M%5bC=7Z&biRBfH3=3)se>*Hq6v%Y>p
zTnj$6;-LW5s5mW#Ichz}SML3U0RcAkGHL4h_2E2`3orM-Z2Mm54rhPD92T?qpDu&)
z5N`XVOcXDcRy@op@VVu^{oU&pJA_E4u)x*NmA(S)l?aeGUN7X^#UyC-oF&%z&q)!ldpq
z54Twh>Q|@QHyx(Vu=B-aDu2D3OqcMUUJQbip=?0+YHLOjNLOh}C4265Uq
z=N{>hz$>rfkoN4h+K#E-KiEk5GD8%Xb&xdVg)dbTs-TiLbl7+60Q6q&%BU#j!8Gdj
zI}JUfC$tECf=rksC`zQPtZ6NuAHQDO
zU@8_gq6&eNx@f*W&NupzZ&Vm_>55gY*Vn1Z$!7$pj7%7>d(HV$NCpMBCopVKQ?e0m
z+fCPpRL9?Vw54bvUSw8zpPy&)bZjIYl&QWx4$;@ATVPQu^S*Yu3(Roo+8j(}*ktPW>u^2r
z`7XAx?2P!fH8wg^(S6k&VxBH2L2WhVd*u{a4~{czFy2l4qnevLQSPX>MUw4PqyamH
zbnw{dXvA#2Z|BbC%YtVhFZiHDPd@0hHN4gavuS+qU+A^HiX^Q*dLyX9Y?ue}ctB?b
zb75lrqkKpOdB;PbZcaq^wi50zxn`r9jktUJr9V`WYf>W@h_n89uJp~l9;yc4V^_ZC
z%kNwJ6HbIsmOUtG30f6QT29dWMY(Jf&HVoxVT&|fBy3vwF&tc&)8bL}e6>!V9G+`s
z!q2tH{0m64Uy+{qF&MJybZj!Pwdpfd4DS>udpps++|cWE
zkP@`z)u(Z)ajjEfW|l^eDZ}_@_K%4MOh?A&eeBw`4b~#2=9V?|BG-$U=s(o&s^EQj
z@K0N$(Y41-9q6yYky2~J2+ei`K&o^h-M--i_0Wrpi1{$4#ClYd`HFcEK-h6i5;Zmk
zf2g0Ym-Tnbr=X52yS9Y4U!fp=JxSt_%p(2aF>Em^^g8ceYdm&
z%f=h)KcZKS&lEqbudgrlKX^J5uvr*wH8FhLk3E!3yjG;yPpR)ptTn;TnFJ~)G`io}
z8>yEWPevP(<0}qH=wdRBp4;Sk@y0GnHNl<^QjwZ-wQw2(v^KBbQKq98^}mh
zM_3P;^{9?O($vB$xK4xs!%K+M^>dJrmKKdA+0C+uo9D}h(^gHh`3@_$>KKxKEq1>C
z+LWBP--9;9mRpj9dVVdiy&$E_-RYPMKe<~MrZ87%H}%&R(_I#y?^_V;XFw-Pdx{Ix
zCN!_AKuei7RcKeJ22^7~8?n)bUu|H6>=Jg?p7-Z5*sUMWFGDvA$~{N)?}4;yVBS<<
zUM(Sy*kaOVA5)ztQ}Z!sP`^{m**C;SzhwN+MXjzh^Pc>65W#az~S~#q$WIVBAZ4
z`Pbq7lC9kzuZ`~Q?cFw`Ht*J(*w1|>!siQpU-jrHf97f8m-aq67qFJIOU|p>{>*8^aI=?s(2wBDy*{+M82D_u
z=hxaO8-Q~w%RL{#P1)iO*C94(WWB2F%AhZI#%S2D!mE1pzGx>N2)ZzGTGzF;gk^)J
z%t9Z|-l-bM4c3kmXm1!ZSea@TW3G)ThUXaV)AYK-GBY!y@d|U3u}e>#S5OZ=5wxEo
z
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