From 558d7eb9848fff5b534afcd7f6e9ad1ef5d971f2 Mon Sep 17 00:00:00 2001 From: Howard Abrams Date: Mon, 1 Feb 2021 17:52:40 -0800 Subject: [PATCH] Code functional with a good README and Interface Wrote some reusable instructions as well as polished a minor mode and a hydra for easily using the code. Time to try it out in production. --- README-choose-table.png | Bin 0 -> 27267 bytes README-hydra.png | Bin 0 -> 77098 bytes README-results.png | Bin 0 -> 10823 bytes README.org | 103 +++++++++++++++++++++++++++++++++++----- rpgdm-dice.el | 6 +-- rpgdm-screen.el | 17 ++----- rpgdm-tables.el | 2 +- rpgdm.el | 52 +++++++++++++++++++- 8 files changed, 151 insertions(+), 29 deletions(-) create mode 100644 README-choose-table.png create mode 100644 README-hydra.png create mode 100644 README-results.png diff --git a/README-choose-table.png b/README-choose-table.png new file mode 100644 index 0000000000000000000000000000000000000000..74c4e4f854319984a66d24f563b1410f8584ea14 GIT binary patch literal 27267 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 literal 0 HcmV?d00001 diff --git a/README-hydra.png b/README-hydra.png new file mode 100644 index 0000000000000000000000000000000000000000..3d85affc5bc6a9541def356d816581bb287250dc GIT binary patch literal 77098 zcmeAS@N?(olHy`uVBq!ia0y~yVCiCDVASAXV_;w~|0}hffq~IE)7d$|)7e=epeR2r zGbfdSL1SWaLV}Qoj>d_^#Ds(sXSFrCipqmJI(mW<>Q5awp>SH^*nxuzGiJoZJdhB0 zz#MXjVR7KW?b!}j9SS1FQ?A8b^N-u@!<{XDy!E{4m(!8GE9F=VmM#%fXMSn#FlS0k zK**s32WBv&XiuLm(r`o9VVj5Gg+PaIJOb9ThvJx%)E#fIAINfQn$!43+hLnSky{ei zgug5&u6a5M`MW1Mzh!0Y3sB|`5B6qe@>7+avLtLuL&ozzO{W%}`O+iA>Yl){RIB2d z>g$&p5|R>G1gNP_&1A|((4%HSTgPh*Pga=pMIx^3u zCkUKLNw7E*KOtfYM>)e|^J$Mvl9f4TFYjn<{CfQV|M{ts5;w{X4gTo<`v3p?o&W#; z>m?>6>^pg&V1WPw19!~BT1DMs3=9m@QX@Rme0>?T7#J8h7+4vF7?>Ft7#JBC85kI) z7+Aq<1_m!iX*fHGQ3I-miGiU#lYs@QCW-+9CP4WRnt4(i13Lo)gAfA)L(2jtm}-`; z1to@ZciVDNNt45?szGnc(a^ys(a z{1Yxzdpf;$Wnpn~aB$G+S1V(wUdo}RQ7^x!L*a&i%a_0!v5}w^dpJ@~&T{?W zuE;2)(3qigph|nzJh9VWpip}0ub}o<|D-mX_kzO7$1W|&6xObMbjoF>N#Ufe=OKnW zBrv6(o;tPK>W=cxqUVz;_n)0CX@8!hrfL3S)9kBLr1SPT3U#S_G%~TOxcA9SvaK#V zIZb!ARq~AsiJJ-zI@zZi&tmaVn8k7A$Ptg}>bqAcy}z;1`B=TZ-K;M84Qq1qGL=hT zU72{}M#RhO+v5*xvGD-8OQqna(1Jx8P4jD=oSLqzi@mM&@S?K&S_5WCh-eCT^mb0Q zDt*18Wwu$K*H0FE%}-CxD)UO2eJBo5@fM2`{n>h$Sw$d~Wz*3VVV-M_*Ve>MUMb?b z_V$)(hg!K$?<{^kWzp|Lt=xg%N+M#wG0^x$!NGMR_Y}idA$wd3PfpdI{^Z=;=qHm- zTwLt_^u$HwP3hm|BL5suirk&HHfB%7#n#n^+#rn|K1^5FuhHYT`?Da_BDnI=%mq_L z@?Qjh`DncS{E36j?5W?@+}xD%QRsDzIn#>ntqc16*5=&Y-7hfDh^EVggd(XC%=x4(O)sYOH5a5x?b$0SnKkW`NegUD~q51 z%$r?#t8iv$+51~-MO-&%Xhp4A@#gMk^Ue3P-gkr3r2;R@3Jou2o7$|MMNe5SOZ#XB zZSlCY?zqB=)Ya39-rO+!`Ko(;$}@fAvnf2FWaO|+k-@d{=B97E3~tO`ts$EF@6XSJ zYW!ArUtV6mc1vcU$lIHn-Q}u(7;5XY7>K_8=+}Sy(GF)O6#+|@sI7Ub{5D@2rXP); zsN~9W+4J_cZ0-Dg|CY(v6c`k7$v&I(=KlWsyPCqTMGNvkbJYQRP#S%>yx`FhPHl0Y z+y+T~5m$q^SLGkp{QPuMc<%fO*-|me@A+!O&z$Qn-K1=geND&H$7f5D;Ur&hI`&X) zSjp4QFCV7-O=7G0(u9LelT5S2Osnc&Tu}TxA+>jB;bFJvJ<`@1lc#Ob=qizW_D$%F z`+vdHNnY*+-b^YJ7P7qC{oigWhY>fUD(4^mg?3F-G=tsZWWTK1^XJm(qJ;m9#+l1_ zi&sT1tKG845ERn|Q$e}%flcwVo~hh2vtC`4GI29dUF&<>tSI*K>kxHLyY?!(>%qMV zOHD+1d#9aV`Y?$xrGdpmA&YZO#6G88Wv^as{s3*oJ}l^jD-Se$Vy?D>~{>fbQwEOv`qu!gW3b*dD{gM0BU+CqBa|x!- zUbi?m{PVPSeg-b0Cpt8Ux$4=pc8gDPU(-92W80jC22y{XB~<>LI{oUVQy+2-A1>$I z^!|Nqm{mz#m$<%OVPWAbem^!ry^tLfUbWO1zmtyKRx)#{-3^C@POVRNrCndS=Ru9= z|r!P!z z7#YffigFfj2EN4)d$yI$y~T82DPo#j@SU=EH&$BJ2&?;qX#ZfD9KZC`RF>8M4y>11 z#aYA{(tOzse;$Xe)ndL^?ZCBPr1}7yYhupQOeN}RETkhWX+$G_v`=bHs6<6VZn zz5n0ui8?=O8_z%PQDGF?v4``;%Jhi4Yoe#;IUe5e^;`7PzqW7J_RU`}yztAvge&ZJ zqP8nGAFHu*o6Gi;(`|RD`lXrIuV@CRzImSf^ibttuPZZ8+;Bg>F?hP4*0a42-=F-m z^KGh!o8>HDE|HRJ^1o3rdUC{cXodsIB(@jUr=J>#&pq#;h(~N`Jeli`qaHT zxt!(N-GyAYeCGH44Vl|!#U18xO-a?x=|pn z-`aY5n~7Q2iZ}KP_On=T)zv+>=I*NS>irjP2MIl#cWq6a^5tcI!D21}3o;LGnWg7n z7C6^Q_P8!*iWyVDu@{XS=P&<1M@x0$WKJKMS+PCH3*Q>a{<-o07+2;5E-JEc& z_xs(mWpnk+r?@e*@okvml5zM@Q^xCSYqdCU&0W!KIN_yt#Qz_Q4p|5(FbbWJVX^pn zruTVH5z8|g})Xpb2iJ6_>ZKL7W`$p~5xer!$!dN=PgbigtY|8EcPnyL=;~!*3_Dlt8WoyZ z?HyhEK44w{pYtC2-L4Vrw%?8*PE}IEx$LBaV@u}Q z{5{{=GM>(|>ij>^K~1@#tasYcZn4)1v$h8;==qJU zzoM>ndg|in_q(ItTE&*-JiHRkt#fGqpZn99w2M7XU(sZ>PK1 ztuLs~X+!+#Fx{<9f`_7fwEeGyGymqF5@~Gv&%?$`iDOCtx46!fI{mMk*Vx|Pmc6=W z!V8-__jZM@Kjhyz?d)vx-(N1X$h+3YztPsW`QP+Oefi~LZ>E_O9WE|%U3T| zY|YLB9#E|gn$5c|_ks3I-E$#Mo)f-qp8fSz{OtdmtcpHNf3kXV7n8H*vb8KZ<_BbjPNcAG zabosL;c42bxH^2jn8ogI>fB-~*Zt2;y?m$Y{@twWmhT@v=C_}=ulCoeU-s9n`8{i5 z_Lv4_@O8XuSyOMqnFn@RvCx7=CwiYtrLa53zq;_yIqb3Azs5V$e*CD=KD~4Q*{z5E zG5wpiR4;VZl+v!70-Kb24{Tg~oTZnIW7(!aaMiMw<-*P8ul>{h{QT^_ReROSm1#5d z!WKHQo)nvWb{R`yRAyV!)Sst&;=e3il5=xY*p2uDXKshPpSoU|cWrgVujutJSj;|L zHu>}SVbSxu_Er+3!%N-O~Wc z8PN}ItXGHql=nEY#Y#6K^^)eA`Z+E;{Fzi7m}Yh})QarR^V;^CZZrNq>Ae{1 zv+{t^`G)}_GsC=oe|!5mxNFMdvu&JKj#F2MOuKO-;%PTWv=8se>Gt!B`np1m1=DWTx-?SHnqmc75Hn|^-I)Tr>QLE6t=eKD?|xw3hi?rV8z zzIPKCI43wPQ%d;1D0Nk|_wm_=x0Ii0ge(w}u`7uvt@^@c(|GAs^1;4{*}Rkg{{Hs* zvh%%T>MGG{2PLyKnl9#QbvY>>+oIyY;|j#*iLc}r`l zs@uupN--&eaLZ4#R~lZuVa9s%J*QIM_0<}m7ce%ntkyHly%+K`^U~Z#ndRcSs924* zsjZo6yr<`1>6+=UQJE0BFu~e);gi!Kzf2crTyvyDR8+CRs&{4LhuAIk|LamucAUGs zwRhdrSzEJyu|IyXdCiwr1WtAfTI|Mq z_2J=9_s)N-3e(MMxT>$IG9i-l&8@B8nq3#ZHEw>|%zpX$rkj!KJHGCl{d39E*ylCx zKE$%k&q=cmYcKR&Q}X*UzrB_J=C_;wZG8BE4_vTFfeRLmvn$iZ^<#OojyttZ4qI(F zeKr59BML$@`D8W*xn)UvE&F^qGkEz*%m2^M%@0mHx%~VbG235#f)#5nls$UFX<7Mb zNz9G{#f~5&PLQEL)F(`sps@D#mN3o-@{gxZkDs`=`r9qPh|N{Kpr*l6k;+#um**T0 z+C5pjT(9)iQSO6RpI$5FIUS^Z&RyZoSFL3S&&)H8{(ErZyS?A1T*OtxwT(?0>?~mox6_L)f%(Asg z*RNZBhg(5b#9`l@80*gl-y{FeFp*FL4KBP;1NEWL`}glt(BAu`XhF_J#zQ5X9XC5T zO8EL%vzI1o&G(wBr#hp0p483n<(ul2dmiaW?olzl`9TJh0yt(meAQkZ?R}-*@Efcp9fb6)ON{E)rqby|e(Qk7>Rj}w-&El=OuwetAkc3$x{d6l2{=Y`!DC}G?G>(S~d zdA-Ly6|}%!(BZwlHg7412R5+>pJD>_QPyfou=B}qOfh*Gp=C8W@7n4YM|f*;7yP-u|G$1h_lY1#I>Io48o8`W;@qN4b-^b3@iJ<=BgiMZrz$b?mo9K4Uk&jLP z7P09^yzc*{iwskUlq1m%E153R;M#*njrp zqj`6$Q%WCYmFAre(+w_pckA7@vTGvk4dPE6K~d<@*sxRPv*^|JA7)C;-P0~#8zB`p zdrwdCg3$9?;p=jK+I*U-xF&Z?!qE*=j>t$Du=6m@eV(?LYxz}C?a(P!rLR5u=2-rT zyO#D=#9`tyb7nb(Mh!)V*Os}4?C}%$ZGQzEm~{XDfxoZ*W?tUbyT|Iq)djlS|E6YL zynyL23#PQr*Tk#Dn5z9il_dlI=(Q)UhZ=sWP)lMpLs2#HR{~tNG zZBycv`BYd99mequjXgY&Cpdbp1<~7IUcmj|G!mdPc;etD7_-K{qq8uOWN~AyFagEzf*DlZqD_EXQKY_ z<|VDVedqqORVk|8Q@`xor1DzccVaZiHz($>yjXmq^?8<7*SkHh{Zh{sKYYY`wcyy;($7s#KOHW&UsCZ^H+ow{ra>z2?}BqPjMM$L2C+_y%e}OuGw4gr$Nl;# zhx&y>eto>(FK#lSYr4j|b@yNYjB8pcGUE`Vx7wWWbupIF&sm?{QvPRrXqOyQ{kq@5 zx+{D7{7z0%oqF|R{Otde=31Aps(ia4Oe=QR7E`YFW1+2GqB)fX?Vy_6NtI!LMrUVd z)>FNRvpo{FPSf-vSG}4QwA5?mF5l;!R)x2(PH6I?;Q+9m~$r(iAzHaoEALYZsGOT13!nrsY4P44W#7XKB^^SfVl`scoA; zO~4^0_ETEAkean*=ap;it`qJ0sxRz2YgPJE@aP| zj~0gcoo6a9=iL{raao`&yk>#pr=QE`Yq$CuJWue7n5q>T)^n2~n^+6{pWD8sll%G1l$h`K~&9zlq z9S^fz`up;o+0y-wFJ+0Z4y-eH#q8bqOq=(yhk~(SL;lg@a`ie1(j3~=zVl2X|9$`Y zKW96iIph01zx%olYcJo z_|&&E!RJrhul|4S=$BhgjwQ9-uS5SlI@+CjBHB48Gvfb^0!Xql5^c<>{Pe6=HTZ5I z+Z`Uam<>F&3I{(ejtG3T*>L{JE1JQ&#!nrdzew&D(-E5S@7VF<(S2cGHx@rXck&po zG`R63=DKW-U1?O>9~)=g{H~XY5{l01p0h)oH#Unp*8TdZ{xjhVd(o2*f}cyYd5#LZ zeNXgkd6{Ln(QuNwzuZ)QsmO?(yu6wvPGY(-DRYm5N9!|~wr|<(YS1bw);n3<@7hJi z?JqLU&a(9WdB5>+?G@_@i{1NAbv@Ni0gboJF1)|OreDT#(VDIW5>>y~Zg*YZ(iU1{ zaFyrWFLAvH4bX_sE5|2Ot;_R5moMULKExSje|fnte}vj|$1CSo%>MX1Mu6d|yDax> zHru~0^WTT<<h|c=hVO6G%Na!xz5sr#;@lllE{E$qf*IU(#2OQlM;{VlX`IqFKQ4MZB zDL%Jj&(BX>r>4z%>i5-jL5Y*y2EH8y|C;)qO#>NPBXpqTdQRl#mFI5Vv#qXO=BX(Z zyz7GG;raHBM$%j*%N;JZ{5oGUiFbcqz`XfZm8WLfJgKc=H`se)&3xyz$(N(nKe}i5 zl*dck-~a>bG8uN`Qne@2&p1^Cma;rxu~*&iymGIpMhKs*mB^KsnYH)7y57mU{_;;v zZnv1WR>V8I2^;=#y0jk$H!gm01O$rIp6^iwwY$L6JfJ2EoYA;J;K8c&#Dk}NK$RZm zgqi|j{R_;d zgv@Asq3qxq_{G+E8aS>%K0=Qm!X&nw@08BGy}FT{g@DF>H^hiAU8Th zfPzPC&6z2nSi>}aQ9pyI>&5S9B9cJ$7)r>2oyoz?sMU3-Y3j^Lm}Z0eVP6CnEYkQj zPtw~5RKQ}oF;UUMH85g>Q80GnJ3!+OuJ?_TJ8{I04$BG+F7B{2@Ejec@fY12x)!~t zPSY{O9y=|q45F^XIr5V(?LM*e^pt7K&dzG9xj9uk?9{5MtJi#<(ckLCdgA!G!#myW z{FJ`ce%koC;N8Uj$sM)xYu?z*sebZUCF#Dpyfy!Gxt|uDH@=@FptQfl?&UfSt++iq zw(MQHc5aYBb^5tE8#TLT^vg>9yisZK{lsz4Bm4aA%H+=3ekv5&_k)o@)<2|K@ymHD*kML<(*SfkyKSG;QD8mA|_qBrY!gNtIvT zPUpwvLp3IyOLPgDPm)vA?~1yX+1ybE=L5`~(ILV#r%FuIzv(Ha97v>*N6o=CkjEAQ## zYegSwkm9tlNBM!O z{Acb|*KDy9o4$JM+Y7AR@p#tOtW&(^_Y^pf3NLYJWSXSx&UbR2?e3J*(|n(r<-9P6 z+>wyjWx0E*f0y{F2Q0m_O{S^&&W>2>5i?U`vYOwfZ;}d)1p+%Z-a8w#&xN(K_vE{u z-BWq3ubqDKQ}|G!=ChYfjWcFQy!@0RKJ{{+taZwt?~jA0X5TDIeL9ctyT`gaJ5%oE ze@;1e-Z*F~zrWDSihOs?@P%`poS7NSw#UdpZ_a)P9Tfo+#(#B9ZcmL9XGh=im}^z4 zVrCZh>+9R+#=a{iuFUP|fHSg);?FxcL3W|!3S=ZO)PJQ-b;^MFwj6xjZjgMTt zJ=S`i+`l_G-LLI+(3$J3OgED@aatKpFkO9pNmL-q(uBFYN<-{so8<*X|C?^b6d-hU zRjBveIo9QQmStZeUKu@#oUY3FukO;f8`0Y{bz8Z`rxiaxx3cjBxA>)XD|~aS&#e8n zD*ES=UY+x5j6xk|Od%pmKMS9pX}kPw*KvQ@?Qh*L@l7$(&C5{y$^As!B+T$r&C5rs zmh}(!$k>;~@X6Y#+}@Tm`ReNM)3;2spI%z(ov8b7+S%wQPfkuQdU8VWYx$=mo|<86 zW=zowwtBhi;LFYrN&5|yiCUzxt$`#=Q<$m7l=ImUdamio@Z4= z(_I?!GAL+IMWJQcn;BW%_e)`+n+fToV-2C*!L*+XC z?bX-wmTDZb71a$3`S$MSYxCS4{5!yLUvOXlvpS{qS{j5^l9=x^{_q-ufz$wm`7`*zNH68dc-^ znVD+IGgy@R4$R!VJU8{!Oxt1&-XHUB$*sPA?&al^=jV1Q>Dwr}CJ4B2FZ&eep&-I^ z@K0SrXTPS(Y79SJ@gV2pTDVy4`aBNq70W zC&f|fB3@BVTSKnDynAmKD3s*4zwiG!k%802j8UuW(#M}qPRu*}I_tUqoX=g|Q#fYa z%{tg|>f__%Q~ecc8a_WgKRxB|C;z5Rsi#-99jd?gzh7s@euw#D-`=Xuxc^64Zu&JV ziBH$o);R6k@VrG>-7jK!;wiQ>b1r^pdbv4o$&=I5{pY>-(-L#}fmCJri`_|Or`AlC zZH(NU=9!eVNR-=Khl{giHp8FwGas$KXWZ}ZZ4vW6bIYB2ucs#a#Y04vx@dp+7`)ss zlJmjx4kxCC0vyl2U;Z|2Taowf=ruX#=iBR7e}6aCrt*`=!6w$wnv08EpT3my_ddV8 zS}QwGd!t}O(X*Ay=Wm+gvZ1EUROp;;$chPB>ia%C;{NnXd;O_nz0$qLclqu9oH$(c zd4Jxv)SfEoT=_fVw*n(Kr-feoczyehxUI?Uypqdq#XR%O^D#C4?0n}qd%=3As z(Vxuq7M~J6d)?G})v~SbCijI;&#Pkz`t^4~?8SY~)u9So9QXhJX8rSHyS(f6pIRX+ z6l~|cUAQcFVJ`dXj~nOreywCaJKH>bnzO}@#J_Bg($5|oY|fg%-5ecoBB9{pH|zZH zX|8t0g^HWp&Pq+2^y1CU%|;KGbAl!WO%JTx+`eeV$x`1Z_kO<*eH$8a#C+enjb~<> zx~p^Ep7wU*hJ~reR2-NRRSsN>k$7me`561p7o598+gDyJUv~aQZE)vO-RLt$iGAO{ zWL{o+{Iczn>ofPSat_EV*|UG~%rp5Cej(hVdMU=$-)7&q-FZtd`;lHsM{@7&iM%KMPp--9&rXE{2kW=~neN5>^vnrC<*Ac61T*aG zK3!BVdf;#=K~(0hv!kfq%BZcYrkaYx->>_-*4MM8dB!38)K4OkwnbZ}igm49A-w(8 z>b$4Ir3{e?LJExuoEH{pLS2=C2GdX_xnGY@e z-Un-1o6hk*+jRJzbeea6zl@B`^5s8*L|(q0Z&m4a_UpbyzeJh#yM@QsZp~_WaZz(F zU$n*~1FKfi*ay?yEl+$i(cqJ_(BKx+nJ|C(f0;>-9fD_0ZJU{1=61R@B|^ z`Rz7MH#Ti4zZt{lkFRINF8|c@xxlB}y8hjs16eswyQZEpTw>YuQa}EO{*Gn;OoP_d zSZc=a+vByZ_`2WC9f^y5W*ePdpSgSg9|?I`mVoC+Q@SUzg~w?>?V3J4iS;qdsl|KS zzn$7<8=d+!es$Bni9Kuh?^gMro!z=Qv}eclb-~eHBAScb?kyC!w=;S9CvKy{LoQoC z^;Pz*FSxg-a_P}t-6fur)lP9SbSYVEIa>6+K&yM=KhWyFGpEDatBl;|_81-1)Rnn& zXc6mIW2>4CT7PT*z2DdMKs0=1k?Pa`EMIM2$zMsly)AFDY4$aix2MmoeeW7&dD#Dg zxBmVmIwtLVY+d|h{AcO)?Amzq>)9nGFE24IKd_?yKhIqIX~y{Q=a#I? zUI{xJKPPN$%(S0TWm9=6#dzi4+bPzE=1$=dIT0Q3Dm-7KRO|ZGq}E4AO4ih$2xfnK zXM60wh|K|EIWc->t{dj}7;pM#*gfUiegB!8QrEmm`)hTYYc}H*$rbG%eqXWEJo}jA z@brn_)_443^;_V3u;fa7{m;;MS@qLbF>lzVBx3PUAeQgR-i(Kf8m2o$PLz9p=bCOb z^DOmRKP=dKe8SGP=lqqJe?FODTj3u+FCXj?3AV?BF_mHX>M zpZ%uc#@s21+bS=oNq&E7QTgE^`_&GOh{eW>mR5azb!oSM{@&MHOaJxl5wcL)a4B~8 z?OUAd9+&WRF3HG9Oto24V)Uc;;HuzPCl1|mWfn|(5l}RfiG6bE>uaI1r$FPtIzMdx z{)wLXG{K^VMW{<;`o4ai35R}i|K4+A*V^o-t0n(WW_F(>+wse%;{*>lwSC?DaBpV4 zf3^N=wjb;V?@u*dH)Yw`*{9eS+i|Rj&(^l}2ibRT z73AwaBpz^VYk9LYHdQT1^V&wE4gD>)wLq;^pV&hExVD6aTeG;qR|+!7_5yj|>Z=@)ghen%`gY zW54~M+FI*tV!4CM=tC%cAS|>;JD6asBbndFIPMv7m{V zb8eaqYh{%aeyv#@v2s!2k-H0CI`h334D0!-9x&n0`_KP>TE7vE-|3ZF`CuXYlA@=l zwk5BK58U4OJ8RCYUFmWqyKU2+oizXrq%09<^s_DQH1WAqedqFNZ_kvpc!hk%PVFgs zJ~dV9TsnMk#+}zI19ylocVghLuMYS)!I&*7}`)!W?$_Mierj@pKnlJhJ_3Y6YLG~_{QP?yRjMvgvsbxf#!g{8vlJYzwrBka+RQvGeNNm3gPS z4%$qA_(DBktB>h^FQq%NTQ`ND_<#3zQ@WSOyA?ZcZrQVZhvyozE1(r*6PqUH_B17P z<;OJVyDM0|N|qPN)&2b-Ya;nra^|#!50=g4e7$D} zZ!g2L8KwJIx5ukaG&bLI`j*+gtCF&Xzw`dqUHEp1iFJbg#cA#{Ha!gydMFdYoAq() zD#3*GkS zZchJAqi=6gww0~_{13ETM8J|o>AZ<*(T$dnNmf(WPc!+xYI%y1&1&UNKvloc~@G zC;x4~>4(-u93M|zSX;Blh)?OzmHQG;Ka{F1n|x-zxxJ_76z%CId3Pc}WBsbG$$ZK; z9#p@0plDg}p<&at#z|@+nO9d$4Ouh8*;-)`!|{aA;oO%vtYUaE;e{=ebxb?fK#Rmg%k%{t+J{+;H{6 z!Nu%La-1qp%FW(WQ#dcCa!KmpYo89k$yfgVFQ&@>V&$POXMv~JAKNSM)p@y~py!cyDB_2=R91#1hlG? zUn3@JOUA+}QRjT_{D|9eRMN)auJq-;1uD%C{wZ3RWgb$QX;Zl=)ZEGP>bq-YtL(JH z_st3Vv+~Hi|DfgC7qt(qjo$8eukyF-YUVyoJKx!6Q@6dn73F1CE4O{2;EI@CT~9i; zMz7Di`FHx7ySvX|crZM@Qazke26x>Fpow%6GQcsVojJU#cX_IK?) z&NWPivSORc*1rE9qi@+?)@dxSVf|1*Iyk&g=Bvb%paPBFZC$sS;=MOC95b<;^7^Xd z`cs!wy{|f`+}r9P=GJ(M>9m6GhKhfm>f^a|)+*>mZ=cdGSLe~1nA@qjJnBwP|4W;- zYcKls+$vjNY7ANd?_$KL)fH1^b@o+E{%Ou<+vNQubhH0?h4k*r&Ni7=owp;r*KP*q z#S1(t5-VGh9fN&@qmAw6Je*?Zmcj5MlU1Vj=qmAL3m)Z zMXYCwdGr-3adz)lDlc_+oiZcc1%=SIR8_5x4@(EiKBMy zxB7ai)M%e2DI0@6dCWeZ`nZqRDDRlKnKo~2U-9gTU;Ah8m;Z6-(0u#GuliF?M~Uf2 zt!dt-`$~l4UU_hW==U?5&#&0VqH`=U@Ww9R?5QkWmkKnx0=|E(UOC_9`=8=dzu24m zH@rG5&+=YIR8{hh)P`FpZMCX`plXB zM9^rPM?Pq&k%J6x-zU{KYFi6pcvS^idb=yN>xE1DoJ{lE7QYa$-v7c$^YS!SnX)98 z($mv)vrbLOdywSi@>P5FY1#5SiKbl_PafykBo;C60H=|Pq2a~#pB+j}>gIjhyve{Z zs^&p(kjTur!awvq*Y23=pS3PO_>gMy=h;&&jl{&|pPSFU-l*_1VM)CI${)!Wc98Cy)I@)Oo^OzrMP@c+rVP5`P(WX4|D* zYL{Dn)$^<3yB9xJJ~n!|UH(aD^yK9R2OpZw`JaF9>3-(P6TdEuey?ezwYTb))+E(|_$-kj%z@Wk%gY@5Jt35&ccScgsBrUmy22 z*mKGGgH6m4Jq$@&j$aD*x*k6jBJ{E%=V5}hti}}auob-Pauq&5Kev6-j<0(QCL41- z4@pb3EL=W`<7JroIx&swiW_cSV6s=gwO`?t(_h}J$G?ir4dh{a@qFFmoxJlHrr7&s z7JltDDx83X62-Q#UO zJvqC0(ZQore#`CfkCa+`u5s$-Fd@ZW%h-E1$9q3aRCa%I_1}80wZ}$y&c_ zYX5p8qdpc7g<=8Fl9%T*0(R^O*W(WR|4!7r{OFtsqONf>QvzJx-rCAqALTdKYU!HA zTbvw^FIHv_t_e1fTBjOtoFg-At=G1ggCU($j%=C1`O`T!@>dcxZ7_nJCwX=mr8-euDF51E1&SP4xcc1jHNOp32zvC%S!T(ei$C!0_K`Ek zy`HEy9AwexQb;{LZL4P2oj-9qj^3=4X8$HXLH_vv7d>IWE6UD2Z($By6}Iux?BI|! z9&9nn8?yHw@1K_*YHYFkT9NbK*-vgs^`@Mh-<`T}dF{5+^V23waj}};b8Ff0_v~Tb zA4FHMS0uDDuePjj`XX?75l5GVM%x08qgTAHq(@n{Z`tsLbNL+WYCqjiACKP9XSwXZ zu`0P&%5+Ih>!)c!>|D2R=k531J9)z!Zj-Bbb0%Az=1tu%cG-P-ANTcZYqA$_yDP0{ zab`M;$AM5#-fp=3vi`-JotrnkFSsQ0Y|5tXnO}mvWE_ugozJ@2L)t7S;PP=F_v03Q zf=Rj(zI-Yf4cR+mWUA86PI?n;H{(9@8s;xorWR;)`Dib#{r&Cbalud5LM#>~>4r_vh!7^GrW<9VD2ZD(hU`pkl82S;(ULUC$<+Q}fj$9|oxG|2}1+hoV5= zcah864)IOUnRMot;W)>5AZU;g#YywCWS-E}$d@$ZLt&+V$Y;Wyjt?0VM;GtcqN7K?a! zbEV1Y0?XF>|I22S?EakDul!fV-g?LPJC>hMl!luI*YE!Jc1q;wG_9qAYvhz;5B>dp z(ER)Ve}C(P*2P%1GI@phh#yz*^D26lGs)GEt^GkW&!>y+@|xTwEoXNbPtlCGFyG4b zlz+|d5A2S!MY&3U*f)RTXtEMsed18oiTPh%+;om~Ps-BQx$}_Y&zqT>we;6;tWJHV zZ(KS7vf#-Cyh1fl>_qg1X{R?%KDl_^Hs-)RpYQYk)4sheCwTF_0EPqM%zro>A835o zzxcoQ?y`5ED%+R+T)%#*@tMgF7({tRG`P1!Zmzteo#S(LlP~W_uNh7)(La|INX~EP z^=2(zaw7d!y%N8?)f%hmRjCUdGQVz2aG&SH+JD(`={fBgYs*SHw=CP=oN%tSltt9_ z;DoMsCh9i97kpd;*Uj0f{Jkxv#($wo?Vihzv#MJ5OS|o@OzqYFE4%Gc;zjd}0}7$) z=Abpa#+STgG}4jQ@OoZW+BUI#@i`t-|0$B!0$%KysokI`Z@ynVugL7ZU>Ns8t~o!m z48td0F8sIcAdlP+>+eN<$0vPv-dE!t6@NSIRczq>(>qH$lT@GHn=LQk}tQ|?t|Uw=hj$W z+i6*(W-aEwk~d@SlOl$%yfsT6zTak@7hI}z%Rl0t+_lDM3QH?9bq+P{m$v!8<-n&) zIn{})UYruu{`zpiwu9S_*QBLg*&BHK-Pg+G9u-ER4iixJ`QXC!WaIjbvQIsCH_qpt ze&U0U0sGxA)`s=}YAPSEHJ?(-G0n!dUN7_B{`F0>xaL1T-uK%p>1g846x+FHW%h0p zvS7+HU3B-<@xVO`%FeR2A77jnu*i4c+-uQ}bLTiI760;#I&l z2#T5a_QM{YuNqU! zp|R=G(%I>$uIIISHt75>IkP;?XsL%2%d3^b$Ng{gr5-u=#W1uj<2T_PSp7*xv-z@E_XV{vTIW2Uiwu|K$1fX{8kB1P2jtMbw^hZogZZ<>u#H zR@XDuuGr{wddkV*C)3KduV7Be{MdILe3oK$ey&;REUAr$vlr2?m>b%UeuS`F^J`+E6({s?sy{va8``qm}H>a((x0tg3`@ZVXc8=!p7R`WU(oYo9;%=|79i5o#PadR3RRU!Iw;)O-jQ+MGO7ESqKfC(o68_VvAXlj@tf`sh!uZi|wJFJE|qB_HeW z?fd?f=c{3HHfSxlUztblGEOy~<-4L1bV0j8L1Xs^W9rrvwOpNfL9tEvwQcn`jd+f8 zQ(M3MyfewcO}OB-?NP0X5=Yw(JX{rNZ}r|#;=jVV;xn~AvaRzczP!9_b;cFO7jJH; zxOgknu8T~6wIgABy7~Wi@3DLFwSl?Pk8ie_>iPiArJS#%;+efw zy{CmNZ#&E+C3%?Z^U~?@LG_?rQ;|ONe@Ac6+xqBhNUZiDo{CrQ5tfVhGO6C;{$J<# zrS`E+MAodZ3C~tG9s(6uPZO{0y?E>0*V6bNWk#V68*qW;!zZ`Z`tI3>l52C zwQFks)Wi>rn-4zNvf;zj)4k^RGhFrmC2tfh)80_`w@O>vqLJ6_!=2LS;mg}EyX$_K z?4;P3q4wZf^{U$4jjb=&+!B}mael**;~n}|n#}RiE9P8?dRfDA?7zXiF5Wa#Pwm15 z4h>eq%6}S{)ckxR+QBEYfqx6QLB;*)1!1-{0PUzUW&1zVD5nj9(wjjo$v#_tln9_cqqH zf2rNLeof5GCzCmv%Y0{BO?h8eT>R3ZVVC(5?HyD7J;YO!gg^%%fc7Z(XD?6J3|qb> z^NL?ma?;w2Grjp?&#SWI*@L8b9h!IFZ>Zb0KS5^Bt3QYLw*Gv#XQwBxUX8)mF7aoj z*Vn~n*B;5=^;1nV;KIAhp39HE__#mnpZD8CnOR9mi|n41XPYfL+c)RF@E@51ZF&2f z>^)|>qH}tMo_9tFdKe#?vUaKWbgRirD&^0ed}z)Jo?z{~=`d4FE5zg1{#)_C_}}Ck zKfL!ia#r+ui%XkAy;pC1p})Rt`_|1q2mdZj{PWaTLHV`w_Its_M^|gFihuaI@zA4Z z58dUbwOv=!-~T52s&P+7_?nQw1qtS|$E=LE)~45J%$f7D`KI}6pY&g+rfUD*YTz1m zc@?Mj=9!PKeLv)TF70QK^u0Zqn@d;Ozm8UE5aQG}&h$K8?)$vZGM8W0T4U+s(>MNU zOTG7g~x3{KE zT`+Us&#!0K-eujdzu{0GTSDjF+S_GQRm0-4uj~lyx@n$y>xkFp)YD?xZ$v*V^f~y| ztydy7GJfX!)z^O}b{NbLje5nt{S)V5T_bNHg+>lVP^|GM{l2&M)AMbm+vX$$UU|N- zuIT@Mxk>x_zl5*Oz9IBy^W;lf_K}-Yr)FJUb@N|B+U$2i3yMFUJU)NL(_4XRXYOC? z;)!)Larts-VL`~>R|~?gdfEK4*!J|)^vUzif7|k`&VQ~^=+6y?mw#|2U**+3+9i6~ z@wS+(jYTzMK-9Y$D5c zPHkfrCrfJc)h7MZN*24;mART$uDtK<UAwLZf49gL3e+dsfUlh+4uWh#=U#S0oR=@H?0fWwQ5UVN%x)m zpA@Avc`oJL-F#H+`JIy|ejPu1|NK|ob=&iDUtL)_?a<*a9;1fLw9n7ahOfN1ZTHh_ z(K+c!3x#=v91}DvIpQIIMgqGYtGapw8pB?o-&VAoI zV|wvD@oyJ*82nAj zw2hBfCbaLzd5+JYK0V)Me|6HGfGY?68Q1hZn9QNQI^k8))vVB^B`+^s+k8CV!FuVI z)FX3!JRkg6`FPuJtr_Q|C6l}-G+O8FUH;)ZYxYSg(=3hb1%iv+Pk;t8ts5>DtdUv5 z`d(|9tAl6Huj03}wwfJ1HN`Xd%BOPyW?Oe}ox4fM;d$!)eYHa3^6FPthlgLkSa~QY zK>O`iQy*8Bdnc!`l$za({NZ)j!zwJN*+MifVy58b=xzD;*SY;(n9{VhXIshvOYr6i z@r~<`_P%eOJ*RZ%rCmo~c~qzgXdKyi>(a8bvsw7|e(c#GH2ELjt8B}iuPXBX3QK%H zEq>|ew!AQ=Et}u%+P8P>du@a4mp+z{3#(*LKDzdvJ=lJ$N!Aq)UXg>Z0{(upsY=%F zaryt|vF-J1kAKDF)Jy%JylQrU{UW}mtDld3m0s#{Qs|VEM6=6;g7rLYRwD0h{-h>- z;MCrEx9<2`ubF&LjZd|kDc+LFxa_dt%dsiexsGd<=KlY=LF1C=fhW)E@2=T#aMr&1 z{r`$SG~5+!_3O^fx}BURx9?Nuv9k4_=Yb~|W`g>NFL&nL+v;gI-^%UQ{R@FbN7QO1 z=0?g}SB8|mzpop5Dr76))6;VquQ^`3+RT4rncfczUil1-B&$2O9cw4ZSG-`1+?q8t zm9OT>3Bji<0@^tl^`<{&BzHAwzP`3@@IY_;xn*AbaqRg2nR4eP+}}FR zh&~+No|(5gc*oTKbNW-(ZWB0UnR|Py@5hieZC`#apTB$tALoPX40i3SLRKn89OU7W zuWu6E)@kn>QnTPoW$A&{pWfg5KW)>~Q>%g(EIfRLL+%}K zuc^<}gY$zgWHdLu`u%=ix!j{VHPsFOKiJ)#8>$l-xvBb<|C%6?%tz0vt*VY>RDOIa zK6Ml8&tIGNc*aa!@#@f?%1^6A%M%Wk7oVQ}bo>3f&2#Q8j{Ey!zr5%7<-4_)>MrYg zbbk7QK$}am_W4clTW{B9Fy(;e$tRtYmlj_?rzQES+T!3*uk2l)TbT>?aJvdVS`cz* ze(;BN_21u?pUc?#{@V9Ly65b;XLfn~xO;fY)Z_Cid_LHG%?eBldwy=Nu+QzQ`@&Xe z7`_q(&lYnjdr6WaDr@?&kIR8%r;6=)~{4 zbHkhO-HnaT_oV;LD|vm-_p0O9*Vo1W%>4BB`u$a*GG})bw6O2DjEMB#wpVrKTEI$IB<+8HF}}H_aPs=YCky3VXWAbu*&ez7oKQr@(W6H-Prp#i=lwX{=IUF+^fqu) z{CK3@yU7fkDRN9VKRr47+w0lRxjlO)gGLcQ@t#)kUuV;_bV~8_GmE*l{6A3_`TKg- z&x}Xxn+lJ!?R>W?O-qjV`+gg)WxdvK?WE4^c1V_9w%cR%e=*&dB|1iDN*;0~YfUWE z>&<>;`QYC=*4KhP9?qG~SJ$Zd&B*ZXT6%tCj&Y59f~mYlj=`;#HZ~F8U^V}V{>N*i zHc5V2#M-T5XBYR^QdVm*GxJknD~~FvDQg3c^+o@bh-4Ez(jhX%qLD?u#A42$oHOaC zg1r6zbCmSiwf%0&G?ADYCTP*;hjp{df3Br+I{Y81uPEQsV7~G1%VYmf2Vd~Bct8Cm zWRq?aA0f1`SVUNQvCioU{5t0n9NX?6WnXM3@aLSyMPG*1?6HA*C$pH!iynR9oVmGX z+WFa5#ou~jqBn1}Dm#=MyXDJy)lI42)AlR>mW-6&^>f~$xLKyf(>`glxPPepq*ANB zVb2%n7MQ7_sv_nAvkt7{2y4yX|8?6cYu_0&yx3BCbviC+UV6WLCR<;)d%w(Do#|&P zS`3%^YEOSKN9;PkiiGI#-Tj%%C3>%4zQ3VMNF;7WGkn7g_Z{gu#*5z_+|9=-!6y2} zE9c+3r^i68tb)4L(=W3v?v*zGrCoKPA|iEN#6~B>&XdzZ#2>L}T%YjXI)DG-HMxep z(qEO=ocNHtw8bsq@VBp-d+c zJG;fuRNl+b#+>8U@(pRn5^nE4d~fPm>B)cFWPMycJ)=c=t_=5Kj$TBX-v^?6gd#E$!Vjs#{@Pm zWsTN}Vq9rHlDuhNkqc^SWu1?oxL$Pqg~pfDj?zEcN(`zlZTkH;% zd%~>uAk|L!%GDPSn)1Es7T?kFPCLt;yHV+9x5ve%qbzpme6qGG?6!XEl`j?n(=60Su`KCvE@HcB|B*60DQj; zobiAQH1T-wgb!BTpbg*wfg*p;Pbi1$KxM20jo=I_>z$M*sAh|S)*^zu-^uWLZAMj; zjyC6#J_nyyevcy$3TT8G_^n%eGeU?vSy=YwhT`M>^74_aKF*o9 z?p$(vb!DaU#*G^J?%?suw-_w=77r*^ymO@Xb74fF+_>ILcotnrJH-C$6Dr?fpL z_I=jWXImTBpX_|B&a~|LK@}#6Qmwc}JD!}H>V4toByT16ez~d2?)@h~yV5_(cc;Fc zwYBKuBUdGFX2zZ;<*)8|CM6}SWKUZYciC1ic9+UC`HIK+KQ}!!dU%{ObBB@tSsj+V zyvog6b}Ve&HP_$%XUN{^GoRjT+Sxx@-9PGN(bF?ecP(1+YwFdf2ixVhtV`7Lw-Mel z=@D;jmtEbnFOrrO9~OYlRG6j{mo)di8$;PSu^go#ThBWs%F@xi*DCU834* zOHWVnJ9TNt`YUnG&q0fwIT-z|^){b+7rT4vA`UTE*KX0Nd#k^tU5kENJMloOe?ynj z^m?WZ5?Q6W($VYE&(EFeYi)kwMuE~EN?e**ly4gZ3U6*R$pte^waM4yEJ|Ne%3+_LFj zR|4ozonTOUdV0L_tSIl4txe~?9XiVW>D%=D6Yu`+E}0Ud85=rp&*#ji%U?`CdKol7 ze{G`&?-BJQr)A6UDL&pO^?ZBBhwTekPi^!NkC=9#Mr@LC_&FZ!cb&o~r-jeB#b6w# z(G_6!SMc0){rNT*e{$|zcF^?Gy9?z<-|YFJ{bNn!X3(^_RnNp6FCoSc#yi;`75(|~ z(V@Na41eQ{9K%VMlTBBu*1!8>bs~3)kVWaMDWOF_G>f7Qrat`e@bI+M`7`SeHnFN^ zUt4qP)cXqyou4V5mMVVS*1N63yevRXH#1P=rOlbO$J;L6+N!f`jRYI0bXNGpQLrlV ziLLOo4wgf%pd@i}T9B8stt#iDTWMcOJ^{>n<$+xW2+V#hJOYZfsy4jy+zqvJa z%@?EmFzqgbT6L*8bFx%<-Z7@0)37Xl)>E2kVRCh`X+c|uW@hfKZ4+P5id$~w`N8ta z=biIDJ$s$M%tG|-fq%?R_Fd+U@#+7x=J)(Z|?pT6LC_x|_i=TxPY)z{y}Wfna-qd24K*|r(`Z?CzzBVY~q zOheGdOwi`Z6rqIG$Dcl*WSuS--Isp;_qH{iW~zdDTwUG2<@ek#tAEzFQp4!+U7p3C zIpq~4BFlpHV$WE(3a&Y)WB4azj(vUHw*1?Ai`{xA-8=t1Ojc#d>e5i%${!co*9J>? z)H6N&CA;jYU)NF5;=g-6yenOPPx+}nxhLexS%@aGi-`<<6>{Z#S;Y z5xe@lWsypkgx#_9<0~W1o@f{3%ih?tM?TKlf+=sW_@BQl$7inuN5>`33yV&)s)tzJ z+g$UGS2on|W2)p7lztdm%kP9k)C0eI;-f% z%c(onnN}Ywso%9b>LhpY=6#aid)KFE@$t^v-o9_`v_jC@;;2)R>Ux2jTDI(8zBgg@ z($v?}iefjvzM?1f=G^}6_bR+Wt0Vm0y}I`7{K*#>~ho7_6u@@+0 zM@h|iYIb;K?YlI&i2`M>%R8QKl&^ZCcvR$a^ats~BIn(Dr8)o9HX6@y%e%WN)N;~s zq22#j{w2j#{ZvhLG<)(^ahh_a&F-}8=94ci_4Ym)qhkf789@sca(d*RDM_`Lled{fTR~(K*j8%9WPdl}yv#`a57> zvLM466*l|S8|>4Y+4)X2v2s6o{?eZPsfGyO#P#`wd#^y3WKWAdUhH#rEFeR1Eq$kofHXvKQ*ax9oT7FrE-zmdzFu$d?=OCK2L+4%^~tpFEjzgQZtmMFrCYYnn8_ilTCnHqx9HRl(#@gE z5833kUH)|EY>krQn``d{yrfKI6kkl)`u;-Pt$UZkHcaZ6mUVU2N`*^xR?mWG8rHVi zrQA+3HD9Yxv+z9krS&(n+Dy&`*d<^~7Ge*t2} ztOmxuD(#og91pm+SozBTtN+Zd1)RH{9}urN!zy)E&)=GyUA}wE7RMcJ@ZA6J@06em zHGM1ouMSzc=wHIo+Yj&YeR{|)zwEcd)W~H4hrh16I=#>QuKvyB$$!(ZsoA5I+EX@BZ`y$`qEYmSxmcPidx*6IIKoObO#Kbz%+e~0C734^-NQYSuqcQEK! zbld2eR?ojn%gyec{l*^_BWqSOBm8bxJ_E~n;rrQp;u~K@n9tii`}@+HVe5h-g2j9K2qWd$G_jH}9 z;F-Y~?w2)d_b@MITep<;^y%53zTew__4o~$olU8HpW?R^OnfzEVRG8PrPH00>)(|8 zOx#=iE$33nv1ixKx8JoF@$|bGBiPTEv4Lr6{QP~jPp;k03%$nq%jQRL)6}MyK4QId z#pCM&xkNM;Ouo4-v-aJ#GfD}^*WOp0*ITxt_t@>X<#+Oeg7VN}_q}Ow;wv{xB}@K2 z@#nu)U0bGdYj5@TGkBMh~SzFZc>F_4z(q(bJmn!{b-@n$7wJO^nBEI3Dqb!?z zOy_E$wKYOQLRaz^6--ol{`XuBmx#`SQ_QSW#UglSiFL0iURcqkR@mLYFMZGQU)JsU zOn<)4+#kIr;AXu;J!ctLzoo&0jmcN1b7s8`+k5MG>%D1{IKFR5`zkfltaR2Ug+uuc z+^@dt`IiamtP$Y7w5`y(a>duhab8NB-$ZUsnOb)JuHN^*uN{r879GyBDL230z2#rs z1NXq~)gR_M*M@J&2;6_(K|6fHgBusG)Mo!l`*)tv{I>lGA@0dDO0{3Te0zI)_sw-J zQ*HO%{CA}H`MYnm3)e{ekToc1SgLYpa|`RmYipygu3b>ulz%03>-taS**%~gmkCTS z^JfViGzf~`V*LEviN5{YS6}WH)lrkMyxx@jn@@H2rB%nu?lpb7uJ_(=ubq0(_V}K^ zPPGC7`*z>Dzf>lAwrq&Wu0Nb^a~G5}ENK4ob;o*eNAQHU)PoPZnU|l<&?$L$DYDAu z?&0jLGdIp3^SYW9dR6Gu47RT)7Wbd%`0jo~ulo1g?a{ov8aoVf4~h7Ee)*>&-L&`J z&wJ-rJ4b{`o<5)6G2<_D@|RoTkp@j>_4jH5y%xpnTvGV>n9<|sD%z8ikN0uvxELsv z!j_0%ayqOHT_PS4IJfP2>%<}({U@tg7pKhKT_zT>cL8(feU>!`eF|UioL#v~ux)Zd z&x4=BCDWMJ3OzseUf}vMolaRwQ~!qw~*|!OL$+oyeGx zXr=YZF4AxVUuk97tg`oiE)mVq7q7?kS|;L&Dr3t=jKoLwKlI1sh++hXyvJGyEreW*8hB*ezUk> z``bAlw+kQd-2F3d$H(7|qP)wF-mm_@_tKWgVAG0=k8jFd`o45uT-fUhxx$ZyuQnzu zxEPYM>*ty~S^sCG9@<{rD3;cfAb zd)k{Q1K|g!|JP>v%C~s8gVvJEwwa17+Y<~LakZlOjl$H+!R244Xr-=- z+L?EMx9`2bRUKR9vltdnoo#-5s@E+p#VdO*&62C*GKk_euKuykVYz7Vr7bM4T<%lp? zh}fC<1(y~+Tx9JZkW~BWqWZSaXJuo&yEFGLe0(W8yH91d@|l0@`lmi$pwYBIIGyW{ z#|$B#y0og6gWQRHpy1-cXe|N@w z?e7R%zWRSGvfq_g_x-SbbL+i8mr_Kv!vp>&OU2`aibZWA7;C@3EkC9ICAR$jQmdsi zia6r={2EQW!bBcQh}6v3)>0At#Y6tlpUB3UFP(YMN0|lJ#s2Cp+5I_lWtiDc!JUQ2 zt0Zmjt-Hc&`rcy|zq9V{nQ~oL9PgfQZCrnIic5!kdhLw~iAEJK5}vN-+UK(1%I#0r z#bm;mSXp&`KbV~Hgd<;7P-r2ajA_x7S2YTz|omX;iAKTt#Sy1}uN@3;u+liZs z@AHK|Su~GvuiV>e&&EBhYoas4o>xhJKP`T3-+BkP>-Kpz<=gLZe<*zYz1eXlzgzu+ zDGm}9O`Al!T6Y$|xvv)^%-kaIqsQd6rs&H<^?BRsO9}(p6JEVv6QBN4BfEQB_RFB9 zQ`cL$#KpeP(s!LGeco2)`_g=-uMc5M(idM5v->7j@qzK`x9eP)(cmM%Tx=Nst0@S^ ze>uIlVY%PDN#fP}Gk$-*n(41E^}^uAG5wm18M3}>rxf({99p^Q+e3!*Qvqf_C;Qv| zJF-b>RrvmS=TkQ9aWOyp&{`i<33}e^|bJ@~h%I zH(vFX`fQ7cE_)vP!o)qQHe>feh4O^X<<{1qqvU?AT_1e# ztzRlv^VHfSZVwLq z#7ds7xV0tDOes|>hMVon_va|fVbiwnh>V`Q+%d>ua32PR% zeiom2OYZsAWjZmN4+IG**8P82YjpOZ@}|14Z9tK<=&~!x;Ge+x=|pn>ip-32 zCIvIHwCv_;JIqwRF>|Zod@(z}d5z!BKJQ#v_fTN_>#GZ$+qi1JX2vVeP-@Ct_v3KM z=b6Uot27-xa0>GVZE3hGXk_(rd&ROvqNl<={-*YyP5kLve9ym;BTQuH-#dlx^Y)16 z{jXE|W8s*$=cSt|14sSj4Q*H6E|N0MTH)T7{%X#%CpFVn-YsAKSNPP|v-vwe?|yl$ znE!h1SJ1-p$fQ?V%iNL!+cu}4DVvM~3QzB^$^5+RRR7d}W=R3;_2t|5M<1)P zar1R8o2Gv0TlZi4>g$XVt{b=Vt1P*Yy`u3#cSA#ofPiRbQuu}En-z{Wi3A?>yO=(G z`Thj)`Fj;T^p#u%C*)~xU8?4vFyX?V_vVS;&b_;P`?*^6FMdqYc^Y37eAXa z>E^M%)V&{i*UW#kZK~Siw|%OyXH=F?I#+l7XWWarx(~6(O^^ZwR*`d*5y1uVqgAJ=j^d5&EuN-v^4wr$Ex{Grn*<6uds59 z#jRSg$#iekx?Kk6&bDs-pi{VA)m3gmhg<2&Rew)69UBD|W%kJPEd5`_< zljp}qeVw^+w_Hw)#rebqsj6arCX>8gDk&doY@8vn`c-6!hl-1o*VKo_ubybmKbqLX zG?^pixJ1ix#}(-f3Zk4>)o&;?3YK`JClxX{UoC1>6^i<|;=E|ih9|0*8vPd}Z#u%8 zrP35A(%=%P@i;)`Sm+bZ<~u(c3pp15$i2N?)uZ6SZx-ekhuip-E2>*qHcr-*X)F17 zC~d2}`qtp|{n?fJA_XP(_7m(He@Q;8pKDbv)T7ih`)YQG_|m*vJ3KXG^8=1r&iU!T zV(X?p&aB#|lb5afgFaupsh4xg>1yQMl$k!XD3(je(7_|Ck(r;kH? zy>4~3^@eVfF!``;-AujsM;ex|r2 z;XmW$4MbW!axt9J@4FVN}u zvV*Hl#Vq~nMN-EV)--F)xWjN;h8axcF-9skVindY$|=GK#- ztb2QQCRCa4Skic~r$c42$Mrw%*P9owzOQ^$&*JETIr|b9w}G~jH*My%+|IUGBS@=h z*N3My5{zyK%$d$;eCp+o|Jrz9PGs?mTXENg#H=T11-*?H(TF%O!Jw(o$MeS9HpPbp zoYqSHHorO^&MW==?5vY0cX#HFd2K5;?LXO~zD}0o zlF~(o^z(BKLoa7ZA1^VKpS$9W%#G%cU-?$Q^1fDg{E(+tZtcgL;&MJpqCpm%AKbF` zZ3t(nF0O1Wc__>y_T$~jjgd#MM$4^QRk&c)K}*YZNeB79<{9uSI`-sqh&9L8ew?~p z?P=AYhbG@^n5Q0mcG`RX-Umq{uHTE-uD)OVX)nj~pN%1c60QkW4p~BOzf^PY>kQT(=P!1fF=IvK=4CIeJ(Tz=D>#IOtg;TULl*mh~gTJkQTyuZ1sY;hAEiLME$Fk4N?016fBRGC8T6T7p)bzDx za+6l8Nna01zUsC_sNphWv(6;#RkB7aZzV3-$`VrT*4Ps|?RN2(5OKS#r3-_eb*~Cv zpXXsKWBJI;<=t1gZd;-CFQ;%@9S_xcbZno&G`ZS8flFD=KX@XqCOxt2-uIqvJ`Nd+ zS9SXXWY4(n+VUzZ+BjzOEt5^YFB&{z|E~MIx8up@%|%bW65n%QDBrbc@`kys24<`e z&l(0T$^Iu?^j9ajXxUiy|CD7oGTZacde+zvuOmy>2ed-$Pf2MNV$1-IsY; z?Qn9~XR)&@^Y-qt``q&C>I%cf8CPxusvYj$_4{tRYSW$-$rD$T)Q?cV);>GJn-suFH;oqBE- zX*OTN4l+F2D6JP7yZ&8~=~Ru#L*Mjz5(okFHngkq*s2w+I(x? ze_sH@vdy>U*|z#)eEi4qp@w^eDA|4?Q@e zDP(<|?PY#9uenYF>T|7c7eCCJ6|qa}_gnM(U0TPFAHRG;-92b+)K;5W4RhIdRJ<#$ zmX|WA5cvAy=3!;t87UhkE4-ZCIsd}^+5e_2XA$kGt=_CU!>a7ni^&g{)LA5M36AxV zl-$KMW5I#V0%co|+1R%&QOq>;wMd*A_{3XvmFH!(CPn41`Tlca<|n1z9}l9 zkGzjP>|o_mkxoiVcG>dca`zdIE4;hg$|ku6>|PbVU(WXHo8Tr#mcZoIvLdm6*If&D zzaf6E@yYtvmQ&ty7O*)>^jJ6`|^uO~jZ_xw^gH@}4U(i63phn5#iJhUwBLG*=9q29qVeh&?S6xF{;oi=Oshvy zZ~l4S+FaewWA)AA>vc`1r#@i<=h)=-l}h~GecSfRT3`QN?{6`F`C_|xW!%#*Yu3Jm5aVO@_o*hs+*=O&mP_5rz_GF%&d|r~#?SLi6hF+!T zUs@MuD~WF@o7y5iW!>G~zfu-7%>4ZO)BU3@+l!u_a{85W`&#an^z(8H@AIsj`s7K9 z^H&!6n^LCPGrF1+&mMGUmtORD!kQW8>GL#sZT>qP%J}kmF{jT;cDbsCs+il(Ivf6* zf2?1&C1F#-K{icwpJNlvRm=m_eLM>6#X=)&PI~@&GjlU z7i~~^Ac==W>QGRf9`c}^5 ztE)nJliyaTJ#Xogf{L{1AD;e*s$tyl|zHi&xyIz~8pWm|k$&MZKu76vy z?d`2!Yr=CDMjWar|8gR*D)9}s+bz%gzKhD<-sb$BSFzr`Usm^?{0d2jqXPCnbq=*% z+#a89e5;oyhVe#q^Ay1ucP4O2{(n~ywY6yKj`dzswI1D_`tsws_jfiaDo@Z$AbN|m*(!UaezRg&l9W&Rm zR?SgYF!#uI{@eqP-d$MeJSD`=(?+;r-v^$C54BT${1$KI<9TDhslP6AcZZe9%akj8 zXOuj|ZVK)@XkNCf)$HvJhxW^JvYGwd_rI>vZ%AG;f4=GJYZq>APVdcE$npQRX?xoB z?F)~*obi7}&liU|{t0i6$1s~|C^j%0;lkBkTR*EdbnF3 zIC$RcM&v>E+)Ljl`%K^PSX2G&hiAqg7k4gu{fT9FjKKlRlp6wu2OE}jo6jwic-mss zxQ1Qr&%HM#2jl` nD_X1(!4xx(<*m&yKrRfVr7*0bz-S^DaVVubu-;J(4+_^q*G226N zjYPp-PBRUm^9!T+zf2C@#T%rN|L?o+txc8Pv#wlxXsoy1N#6f|!@K(Zr5FP=E=&c$h?>C4jT)#Iwwm}rsshh_bl zm*vOzd;8mcUJ?=Ryo|St35h{ zQ~A~^#oQ~L+-55rJ-$X;imm=y8Wq8AmvF_qsWHo-OQ79Vwl3_@_Se7P@7wNnd*0z_ zfh9W)_9>h{=*)I|nX}3su7hC{{%m_C5&lu8?#I9OFBcB;b1t)2ky;znyU8gbM0su2 zWv{s6M;~whj2E<75PSWh8`I7x``FZ*}hq*iClFF1BlFNxbB) zi*pDs+1E5_(xjGS2eS3|r`+W+9g(d?&sB>c~aZ5F0`GRqLCf)pFzlY>0=BurAPKRsPnJV^iGGtr!1X1TXJ?iSo>@1L>0U)GKzqQ;~7*bI%+ zoNIN&pGV|4PvYnneY5RwvQ*isjTT4FS;lO9e22Vb3fytAc6QpI42*Wz=} z1%x#W?l(OB@n2eBY+ex~-$^BdpVR(rn{u!2b#73v!tI9)%9|_F9dA_L-K6?`rk8rm zyA{*_eC#f;?R~z?!%48KxA49H0oAYboOi!mE?UgNz1vvKKl57Ivu70@yBu~YNw5jd ztL@3I@c$sUQm@PS(&oDp7SG@4-M3{z(w)84+a=T!|MRZe`pP!UX2XOCgZjnnNQPtC<;YTbuY8ph3g?urT zD4OtVV%aCAmGYMoYL4CLng8qULDMVp=lLW|g8s66RET}76>@UHIc83!n)s(b=EZt_ zi|?s??^hA-v1a8*KmNma|IW8I>-_2FD86|`fm34eZ$6p3{->|$FYLT*zi4m!-_=*1 ze*3|^r}WG2zVA-oYM0EPKRa)y=NbEe=il$w#(P+v+N4~`Q~r-RGv#DSD`Q^I!hIZ< zT4%67`2Fcx{e7b=zn<7y{gSP0y{-3zF_@*uS@d52$Jh^U8RinNX4LQfcuV@t-!swy zGUqugL>ieqpKAXQkSWPnyEDqN$zkCRr(=F|vb+yQKRntcemc!%$2<)kFD69;`7SYS ztt$(cWcBa=o$%-C?3M}ptN+FxSBcb_662$@CDM!G$8P;OuOt3ANICq8c`DXb`taQ* z@s^_!r`&A~Jh`S{(9>bL;D186Tl#8hmcmbF`7h$H*yer@(411ozg4GF{uSSv=7npF zBipXDezlW5uNb1D=-R~jXzup=nq3URe0oKP4_=Q7SD%}lI9Fo2N5J|sHjlSme6+-> zYBl#g?>+Myg(NN}9D63>n96xxsO}zz&o75pDl-qQy2WyALdy}Bhc*Z1-{sAJ+AhUk z8t&2dU?=C*&+!&N8U))7T};_}o-{8s;U9Av5?Pjs z&J)ZDaCjO~%hr@LZSkbzM~?-bOj>$m$K;u%xAc>51y21QIJ4ll?VRsUYr{0opFiTS z-u2!{Vo`u^5NFo^4;R zw<$Y5fcn23ccORquqh`vGMLqT&=25pEtlDSc%RDDH>dhUCUc}FUO#r7Z(nTfq29wP zHtK4R63h-3tgLcT zZk#Er;cRVwOZ>!VS&qpZrR^q5ry8`qNQjF5%=^S9YeumSbmLKNAVDmsK;sqMaV+7t5f0e$_|6t?By5?Ude=a_3 z^F0chO2~Zwr-^g>WWfX$3C86L2Uex~z2scSu6%&wi8YIn-|k%hqeqWF?eJYw!)|0g z1FUKR*8x@r1_uUD7sn8{0~0w8e7kUV`#l|=u)^bCMA$iKAE^+;HagHhypg~tqSe+2($hp0%*UiSNNy;qC z<7&_02C}gTpL2q|8aU^@A$MRbcOrv?3DpIir4l1 zWRBPV)tYNte(nF+IZEdhF08Ay&bq&F@5OmnN>`fH-YR)KhZ$_>kz>a$9bjkUQYd?W z&v&xAZ(6`2p2i(JEM8sPD}8lUZ1<$elQp*m=s5P8*xJrbX!(BLxBk-m)Ah@XpPzG$ zJiTLAPeUEcuRHhJgR+(cI5{!(*5#SZwLkvt$Ct%tER8@3Zvm*Cn0dg&Ol_Lf)je0H z1Si!f8F%?~Jo!7BOH?ahvYKyC+dL2J#1>14p9DHOdle0)I!a&5PjH*)pj7oQVUGOA zBOF@s3-_$NlzM84;PbDqt}f2r73ci>+uOzE>U*?jxGig`ImGeAnB{;<)}0+2GfZVH z=GYV(%~w2dHkCz!(M`chFu`qNTb*_3uPN?&oQ0hwO18TsSyN9>UCPdG>(R=!Q)TIg zVo#sM=Tl=+6@yiz%7jH>E&KI@4OxC}{b{QC) ze|OWnTU>WpeErW*n|8UU8|Me|do0p?w66NS(F~Uf61TRO&!3>y<=?S9>1fx)6p7F^ z5fkO4KT7mg z%XJt1*ipf2X|2xvhNF?O1xfw4HsyJ=- zn`7Z9U;9BYH8t(xs?gOLkK1|!Z$+&$Q(nN{czL?%(rvANAYi{>VnI@u-46hw|-{_UHf4{Ad2LexhzmaXL$lLc#mm?_8OJDvhr$ zUXQQUbTEzv zWo_Lyr=450aq+QBA0OY$&AYUP^XiJo!^-E2JfE&ea7?!;x*D{q^2+&4L4zu8w>gv5 z!Y=NU?(mF$u5E4o%<_ow^CjO8Wxj8?{EC_RSa@9N(iLK5Cl^MUy*-}U#`4r&{GXuK zj`jOKt(u_Y=(NXJ)oaR$jmut0nU_3OHaua-pcEmnXRfDJ^|jzh5pkbOd#?PJ%c+03 zJ7{}c>_WNctM^^3&|Mc`6RH!eDYg3D)^iiztxuRQzh3n0Q|^gX`!B3c15-fk&X3QeTiXQ;HW&28YTU4l z+*P7^cCPXDh$&H@S4XYYDt&)(?kbh=h4Etloi?YP*`#K8E^z;MyBhyF%=$VNZ&zeo zTy*8z17$AZvDBQmbk_IitFUqnG?ITgSK$ke)-^h=$OaM zO{p&bE3~<5f4_RYzRT54h5f;$@SvI+o4cjwV?)-(SUT;FultyqcxPMg?rkAEi&CBL z85D4v-`sGUbuft>3$8r zRa+45aP{=tj~m?2%dt%soRqt=en+V9RkjDUwXgT*cc!NtJkNc^T4#N9`P7enhZW4; zNIkrJv`OH*yk${~!pWbvC*6OtHm?6+k95|uU7s#m=Cv4|Tb;{g&f}xD$J{Yxu~FB9 zpFUn*9?8Gb&&?5Rt6Es}?QHn{3X!$HYx%eCzg3>$U;F;G_Ob2e$MyS~0~GtIi9aOQEs^4A9%nZJCWwmCcyHr}sqr`tw`URIiG!t$#=|KI$olN^Wlmh5Nz%h6pnb;INPYa)#g8vOk5mp}7m zzW3GBSKe$&yYhNhoD!c_(dzJZ%aV`x&Ab%he}Jb+stFIV!jWn7eB z@Uwo_%+7?kq(pwE%WtmT+a7d2yPE5KgVLq1?oy5JxBS)WoIXE0GkLm?``!1gn#JsM zw(MJ?`*qhJHm$H7Gu(4GJdR%<#r*2RlF1PVeCK==OnmdjbEk#ep~X{c_HT$_Fuo>U znXI((`+>#xcbFgV{2tvq{k+^U%bv*<`xAa2>pLWCo-z-TaIMarHhXDxYGcsZ^S|Cs zyuKiBNA2&j$}Fo_HTMs{Twk1io>NUwtDTqA;MhVX&6Sy(mnHc$Ki}srUw`Gtxovru zqgF)k`+M!S(aPk$4Rb4;kI&Xz7qIP$xWwgflifi_9!hh)s<|0jqVm>2H*WKUce~3N zuKKN0ess`fRm3)-y&q0$SXG~EUlO6$Yd`VD`ht1#jJJ;3^Gcg8Y5dOrMdI)QlSBN) zV)@C_XYn6;xbMBy{q?W&cK8`otqJ4NX~D$ifzlbp9RY;E++Ssgot z>+YSH|D|Hbj|%PSkHKy44{Z&`UmEsY)$@A1F*r3PGt9&O))ZxovhcdE^un)x)>U}PAGAH{if$L=qVEd6JhW6$*LMUg+T7j zO-C13%zaIPd-a#q8M&iRshzqy08a?BHdvlwTdNuxZBW zX?l}$*F@!BKgi6^+RSrLP?b^qjPnF>v)^m%fA*dH^2#u#=E@$6GaLp?Jq`;vEP_o` zFWho>+;zryCX3*UQ%_d~9AwJd7xUH2bVcD=wJm9%S7~IhR(f2%5h|4>JSkzfhmcC) z0zLMPxjtTw0#8{V-uklga^|rfNtO2p-KB!;BT|-!_#3V)PuTuz*X#Ad-;)mhJA3{9 zg)f(Q<5!!bu-ZjXjeA1Hp*+b~bx&RhDxPI=^V`r8Yo2M&`P0_^S>>&r$;&75&WPgY zt?P)|mZN!#_1Kx@!}7-KlqZxP)9qCh-?EIwaZbpZkiZqQ9!|5r_SbR!o-bYP9j3pe zzcw7X+O5AQ!)IQThT4lIE5ucF_6W|1+_&d!?YI5sTe4iYW?gNGx?ubL-s8k2f7@o~ zE!dQLx=Sf+O@!i+=WCxXeE-qL`_}IA^#M~`q~vFK?2x~tUND)rY4w-L&1syWe3kv@ zzB@g8IVE}Wt+Oqs+PB(ee4Z%mz9Qw~B$fNxGue`pX1Be~I4QqRwKV0|96P69?w7ir z{tBsYJo!Xkjhk)FDUJNQ+f2W{zVH9WA$iZ5`wR9RKex57kU96#)c$pa&c`kEe{0=Q z-lw~Go~-I7#>3*P4lV#K`(12*gjK)3WZ(OT-^9%nRUD_Xa$mU~UmLrHojb^2|3W*L zb^j;to3FBO;*AHAwq;u)Y@8RFL~PB9j8o}fZnVifEy@Ezy-S=iiuFLn8}%y;&S-thYdOWGGSU0dkP z{_*W*ucs$|KMg$od)@25O|Mi{S{!eDnfc)x3;)TIoFk4>`~E(Cd-R9RgMW-)=5PEz z@vNZxilzKJ@);bh-ftAVS-e%%d)kHY_?lEN@e`eVHB6fAm%%;$1lI;h*Dx0+i{pKZ zW&iH^q(1B8?GUET8cUN(t6n@)6nSs7Nn>T~<8O76t}~wG+{%gUqI_?zcx{qu+`IOB?lC?79PNa3H&qYQgVxeBd=fMg zmUDA|oB!-@ic0e>jwK}tlNqgJrryM3U%y*7 z>d%#S9q%iG)A9&b|Ekvxs%@RWxFIqsf^KBuQQbC`9_ ztNWCx6~0YoxMIcAO*7TF+sZ&Ld`CsmMzyJ3=)m4rqpLO+0 zIi^nu+Wzit&f94(D)e)-XL?WEAlfvyM!S*Gr1IkT606r+5`>n9ta1Fie)oK#$HJNK z7uuTSAC-yP`Lg_V?y}E!WcXD-3y3!TRgi5t${Qk{aQuWg;DudR;p zPFbxjAN#niukc>i^1jd9|6@3;rDZ{7Vr!wmdATJ94gso@&rka$d+^5pyXN;hx4b&m zdh2{5^CCm$8|_;zU5Qt}eD84e%YV{$q%Cf2xxMGL|F4v1$4$2V?>?rxv}>x#p|Zw1 zQuQUE^v1v8pt*0}tpq<-w@xiz?q%Pn$Jcmjhp$`W*vu|DTfb}vs8+Ate?jleSA+M> zbM;pLWV#|>++41t4~(AnRg^g{?dXeP&D zu=oVCkgZ_$zbMrn+w*1inr|y+1$>++ynFrrKT#5*+q9n_`uT=c z`4unj^3-bg9`?t!HT_i~Q>U?Csk( z=l9G&Tb&o%-u&yfoAqtpYsv0~ytjjTv-dIWw3Itl$k5Fad*;{I*Vk_wb*iu#BhSj~DaX8L4E3 zs`yk{`!`rE!;A2(_@Kb8OuW`1a6Fz(u;D4h0ZeZ9`N6Nz`HnX0)>OmN!KqwyH0n&~X4xp-1o z{pcdr$ȿ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 K=d#Wzp$Py;h_`|O literal 0 HcmV?d00001 diff --git a/README-results.png b/README-results.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bc0c4678edb8a5b1501ff5c2083cd637500854 GIT binary patch literal 10823 zcmeAS@N?(olHy`uVBq!ia0y~yU|Pk%z@Wy##=yY9ld%JcX3U6*c_1P1 zfH~w4!{We$+p`_6Iut~Tr(BD><{!7)hdW#Rc6w!=1uBDW;2 z34d8mT=R4i@^?>ie#^?(7of}?9_-D`dIBqSvyjSLzNNiX`fS;9g_@~EHUkxlZ31`$!l1_rfm9jYxx206Wn2@kHib!47R zPY^hhl3;NrenP|)j&g>_=F=XTBr9{wUf$8z`1Sbz|MOENC2o`(8vN1y_5c6(JOBUx z*Go)D*mv?k!2$sW2JV=LwTimO7#J9)rABzB`T8d2`6Xr1KNm4DFmM)lL>4nJh^c}wqi2xH2L=YF zqRfzpk_cZPtK|G#y~LFKq*T3%+yam}3^o;36}bhusU?XD6}dTi#a0!zN?;XMdBs*B zVSOb9u#%E&Tcrr!00rm#qErP_Jrg|xB|9z!1qGX;lr*a#7dNQ(qLegSrHqo20xNy} z^73-Ma$~*xqI7*jOG`_A10#JSBi*8uG~MFLypqHU-MnIDh#@d@TvCgZi!uvJGV}8k zK;|YU<(HP&Dk*_1Qh))7J5wt%5jN!&L%o%ppQ{g&(KpmH(8s2&Br^?%HjoTN8`xhE z+iXCFS%ns-7CGnV=BDPA*dapP25b|GB*L8#jRBbzsW}lYnYpQX#hLkec4ihvP+jOU zSan7sbQ)VAYebSj(g^Z_m48uYYF zLv`8cgJK0KmcT&;5e;&2v*WVS2PYO#!m;Dpn|*&31A}Upr;B4q1>@Vf+y_E~za1#o zf9cx!sq51`HQ&|{At$ZGV=Y|5!bk6K7Cfar@%jvp6%&q2JPGXVV9T_TJ}=pC)3zkU ziKA8I|NHIPbMx=kqt8OYP@|ez#s+YBStlD3B``PVTi+{3C-rlx$W$5Z@l64OYj^FSW zzgwlb;@ax?^KWh@p5L=IXl>N8(6ioiwEipzI~%nuclWk$+;)E+9G>)h(pmHScX({` zS7h$0ygX-;HM6=sD#+P$ur)8g-baLg?IQ6L$ADZ8v!ktt4 zYD!$hwtw~S-gBNCS#6%!m(AzxjFt5zBON*JW-RXYd9PeOn|Zfv#)WUCFD@MP zsjisy-Ph9}?6^sF{&T+1+`{!hX_MVSKI=CLZ2Xcr_CM$M|G#Ww@^#_Ym!CK1pVbKX zB=X}?xBecZb^g=tFJcX4xh!^j>xYiey;Y@`>&|~mJNDRkPj%?WC*r~D_%xz}LPhNr zwTn4e4W@HUnYCco>HM;Zi)J2QW*_G0@l;Xj;cc}$X?1@dx_`cvy?$o-vptXZF7{75 zJ1g~G)ob1NVqwiY9;}MraY*>P^`d>>|9-z;?fEfyt=EJt_dd3}MKk9_EYGT~4qc^w zJ=Hhr{kqeWAA0vQz3yIl-~Zqu)~k1Kzkm1e$Is{Ud7HA@{bX0|S@5bhr0mn`r3cRM z|MR9c`m5AZ(GQCP54*+P6sy~G!J6M{=kIm9oAau_PpjK_<-_R(6u-d;KhXQ_SKZh0ML~XVtx@2PVV@E_iXVs^9k8hSa0eU&n9$mwLYZ zUS)drzxZ%@$9=O-vQ1@n|KGIWN0G$3riyEJYqmPB)i~*NdB>$!I}Qm)J>cM6(d{kAd_UF{<*Kb~c0%7wxj)!{5YTsSlG*W*&O%F|6 z8gqduHF?p-&wAF;<};a2CfRo#KHgyyl(oV0v9HhGs;@zsVK*YAtn{q)LJc1$Xl|1~ z{$z#Gi>^y6HZ5@WnexB#ul=*1&*z!{F1>r6t8>kw`ac_wYrj3L>3u%VmREaWBuDFm zX8uRv@pY+oKOQiDzB1Wg(q!M?zIW-fwrAvV%)Rt~#=pwb(-%8-B>qfS6x)(N9qj2lx}>2%f4GcbLPA`q0b#rt2Z1sOXT^x@W{9)DK z@q%f!rp(vvfoVU>Pv>6y;r@Q}eLJ%$m&2m-QzJ51?*9Kh|NkuO_d7NxNT@qGY&4kg z=|F(^nfQcf^)~m<%rsVCA8GsQyPGFF@3Ff!=hUt?X=(p=-OS$mV{OdNOL}h(KB@n| z_xtk&=|M-zADf@!SFi5-!nyBt<8L{G_4~h7owE+qpY)CUV z9HZwpo%I(NCbJiZ++XZ-d71Co$ma8#xSuUbuwHPR(QJ!U=K7zvO}EwVTJ>Fb`>jhd zl~*RVEq3@m@9x=qzu)BQXFC78AHV+3>Yo|!+$Y_U`}<{4?O|cTQ`_^lZJj&g(*5ar zu~~7oPeVUH;?{q*=l!Rq4>`AzS+IA8b5IP%bAzWc^kYx_iJ>% zPUYkM`7=1T`+WG(z2B$sr^IC8SAQos^Kbl-ZfAM9f7hX}^ZR~Jmc1YLf6uL$ihHg1 zio?J1_5S+uGFdAB){Q%bw`H$so!Y@@e>d~_T%L<81+0$Azu)bCf9tukyn%jj(VCj4#fkLla9?w)$H>-9RbC5p+Cbn^TesA|{qU?*}Jc~URZ}{6I z-S~|!UD%N5e3;+uM(TaNXU{&Gi;FZ!Xtec9WT=ieQ z=VN21#-Y0>|Cew2ZrQT(b*YEG^-KHTcQ)@WJ8I!}q*r?V{)^t)>YhI&lAkYZm(2>4 zE&o&a>}z;De{2JfeUfcQJ=23#_db@k|7W_wTCyna%aWPtTg>NOjC;T1FP}C;;eGz4 zW_s$9?A~kt{>aq5ZvAe{V#{s+H>MqzEuRwotz%Eanu7a#zt3!!JF{Qo5^Ma~lNL+6 z7qNtX^k1sHIPj>A%ZEY<8)E|#iwu*?ENRdG_P>A6DKX{g;(ohLo4@QTeKjk0+udVa z?Lll?R`I-B)HwO~zvMedbub!5*kxQZol8K*ZjanPsYZr?DOqz)cnppYSF*$1IyHnH>%$( z_&8m$eq+gm@=oS1Hg2{P<&N?uvCHSxt%`LqDSsE^nbps;r0S^Mdxz84_GiD{%KYl* zY5o0MxO-=;VBp!8!L?wiyhI0U#kmAe*^?=YtNY(=``o{yqUC31>Q5z|%Hu~Tntgv~ z{XQyWi>RcD-M=5npZ|7!abi$D6tU0>(<%;=A`pEznAxSDtO*7uHfJDjoa&q?3Lv^ z^cA`{J(1ei5z4^b!Er0&IOpc#tD@naM(M|0xy37YoM7iQbNGL=>h)UP{Wr_^*ZLms zlU+NZYuSc_ZoD}+t=?We$(2%d#^coS04sr@8;aMbg{ykx7+^xd%fzO zxUSZ6!Kk!4rVqidIVP&c5MQSA|(DkXj=cPa9OErWPs~w<;D$?F{<|ztSuB* zTT_ezSH$$ebzfySME{$AT4vpg(0Qf z@ZuUH%ZpALHX^|?r9aNBN#7&WdcTNSj(x|f@;e=Da}7>xt9|sDNq^6Wrk&sCRllvg zWB=vsN`AksQQmtUCLGW*9)%xV>6$`Y&m=7^iyU1^MXMKPnY+}ncmWg z*>NGQdA{8g%krwn}N#PYi&PNZ9$Is#9+jk}-c`KVS-@c&AcHMkegTvQ9JY32D zd`EIX{}#rNq z{^V2BPs&F*F;=`?@>@N!QSg5W<5~Be&zt%$e%s)})RWq?vem)t#{@&S<)wk|GfuN^ za9eoO&C}rX%9-;foGQN6bnTzgk8F*tg)=w3{MBtdZ(7ptizd^Hby#wiR^8otz0yhR ze8gwP$qLtY{W!=P|MjuY=UsCiw?5hQTkdJ%%DBpE|Ky|{oa*LMxn-t#eA=v)GqZjMJ-z2{AYoL|u`~0J@3f!K>~!}#{r-Gr|GbZR z59U2!7gO^%oW$s4_w20s=`|<&o3q0!nhM0L`Rz@8ZZQK|17>8AJSX*t1i3JKeSHgRZ?v?xicUAN+oNX!oPl z|7Hi1E4d-~fB^8Q$bG^8G&+ zcUsNZd1UcvvF|Z4t`+jSUWyf;&lc@>ijh9VP@K7MZt=9*y=RPKCDxm*er3gX*#8O# z1EbUK#At}yyDEA8kP?)r<59vqw=;J|HG>0D_7l?Ph6RHZcgUB>Svbz#Y^sA zeZKBP#+<@)TN`?(Z4$_6G&|7QIgnFIQBZcJ!#V%l=--1#lJOVb}Y2S5{6o zz5MEr#dR^$z=R){r<^KX*>~FW_`#qY`(5YG%hW8}%Jt~hfhNs0C$#HhGQ}mozqonW zyGy&BExac5vCnUtNefn;{ddbgl*|43;XmiKybh_naCEw~!{X2a`8j_UDDIOvz$6mJ zeE7#lO-JG7?3G(q28LfNk$c{Jf-eKzNZB&xg6Y-b_0Erb+Qo zq~T<7wQ~w*`}5OOtuKmwYSgy*`N4g!{_1K^{iv3j_eoJs*1Z!Z`k!8K-#2^1G@AvA zn~TIAbi{A5@qWBw=AyjAdY`-&arWNU*P0T&mc8>=ZOc5Ngo&|+4WUjfp>KZ)Z;Oh3 zzVNln{qn-T13l55Vv7!H|Ghh({jXC)oe*o++VZ*OQBl#F+s&+Bo2i|Tm5IGNKif{N zN$bAHny5dVe-);AzED|L`p@L&y6&~#YbqAq^Dm9*i|S}70R>#H{il^WLC?0=-?V4c zk$iOdyseV&5Al6FAFZC0o+{HV6ryW+)*%~R{dO60Z&ezV)OU46-;>#Zjx?uUw{E_j;w?T}O7 z3hRpw$uXKg3=eENwKw>=-?GrvVcQrV6?^YkzWd#t)9dQ^eu=%?d1x|!{gmHP5B|Kn z-KDt5gwN^SiG(#qd+TC-Wj_<@&?`e@=wm<&HUC&qe;X>PE zhRJfeJcpOF9Qmbm{q?I8kL+1O_uq{E#bXoN?4t8vUYx~>%PO|hH-ta%tX5iaT55Uj zi|?21rduh>i`Vq5;E$LvgJJOv$K>w*6%5l%9@#MexGnr@!xhD~g_bYN|Ia$^7~}Ln zG0I?S@xIv{nvRAcu^+E4DGfgJdtsB7tecpJBg>(z7RHC#e|GO_*(?0iGVQNf?zI+G zCALRXJcDyGBx~$e8c0}7ZC|_|0t!FR$*`IA+_(7FP`rP+F1r2G_btCuIeA(zO9mfB6}zp(|QWH|6NjiKnUsf4gSf6a1KQe~)DU`3=q1v+T}9 z+yD8|-21WP+U_}dmIk`mQya#Aj(&etoGo%kiO<>CU@un8AL<9#D!UH8gqt@ssw!R_F=Yg5jM zZM~m3<@=#aF9P&_EL(J~jMdVvNpQOP-RK{w(pl_h`cnWzG!^y&r6NHVGNb zITo3-#yPxVQBC(U_9&*ij(^@~f3AvR-e`Z`={m~~F>S}xDeBArPK{KJaS}RczC1?o zw`;)7#}5>rtzZc2QrNCs8TVqvYyMzs#&_3E6#|%fbTk+wA|9wd;y*jlb%v1sv>E#t zY)m)3+<&5M$<`HH&DZ39)_&#hv$`Qq+V!dUq#IM0neo~!V-3|wQ(CdfkTo!#;m1?% z^ZNxpO%;__fB9Z?W9xm-;uya3wsBn=j}tVv%m2Qb`j_{$V9mt&M&1KMblLhOx5WHUU&WHXbUQ>HJ)o@k>_B^cS&rk@ zoJr~jrcKfDIm3Qy{?)4vqEn`C(@Q9Fe|?%I{!Y9=)b_h+(TANl9aAoHN@#>6F;n!Q69Y=MVT41-87BKg$&*%(BhtR*#JPPlm?pqH>zqlO9{Y-}Bg2!(zkjMz&l> zfd#p#qB;#HC(c-%$-FNyCw&J0g)nXrp&S+8ON;aBJqvf%#821G+Rt&yo=@)2x0Is8 z)3!yumYc$E;~10trFietl!aFA9akH_O|Dsg&i+Nr?8&K@bh$HBYEOshzSW$_=(0FU z?klr!!>zwpj<y@{@SG@W1AD@huUF*5_ow5)U3E669s?(>~ zs_N1-!&87|hVCvF770W7&8x~kL^hwj@iF;q%Wd@;(RsU%-l;mi_FMT~-s>|3mEC95 z9sgqNc<^iUsU>GK9lJMIu=7frEEHz=$9Um=cw5_(J>2I$w;22mx;ekCSL)Qt@+s%e zJ*fC0&;R}1YvFktE4&Zvf6VowST1Tc+ui0H<95%2OY`rks^hL?inm+mE4KpS`jq2N?ZgO|V zjL(j9>I7S~_2#j^t3R+PnfrO-bNb?)xuuCSS3ho$RroUM&CB$*t#_J5_7jHT1t^US!BR7Ku&`+y-k{vJG&vkcb`gOW=pEA?h zH)qeTx&2h3U#uzjr{0biO>^FCec8x9xE z(BeWh%k+cN_q}Be858t#eR^id7nD9wXO@{Pus1Y*Qcd%{ul_0$2{Yg5L~J;ax05^B zX|-AyOTn26ox2rl9iNI+vDkK3oxeYC=Q7?`-|p-zPQShG{m$QV#%~v9Hm>+vvFJ;; zf=l7YgpH1$kFXT3Ub}6RZ~%+twmV1dxf$0-ZcdAnZYp!Ut+x4B=p$j}6OU$nd3cAP zm;339;M+Nyd)u8)z0cP#x_@-yCTP-w3)E?udiTPm2g&dEZB9#KkY6Or{U9lP z&1~;URnuz@_w7)-;FsCo)B4DM_Ol%_VasaH$M!TYy;sN8TDn-jQ~KF~$!xdYE-YnH z39m7g{~LS%y!HyC)8fU#X&i4GqE`sac;yn%yXve?%lZF4VKTW^p@g<=-+GMCe^CFpE;99af|K*U%s0Nz{&b()en#w> z?2?7bTnBe-eC+eL>g!uB+lZ*?hk0_JK#Ut6uAFpB3zHf0d8v$hxZ^v-h4k z?I&U4@%p}EkIA|ZFaAuL6Fe{RIiInM&4Kd*4$N)GVwruUrCNE9{F<9|eq}i0Ena4p z?-DvcezSg~1i^70qAzsWEPOuo?|%zoo6Q-Sh_-9itt`y+kM z+|1-!<)SMf@IQFl7un*w60d*v9}|sJbJF_L#%hr`VavV9IiB}Lei;=$7H4q@Q)KCD za5?#4mIqIw!QY85uhlk`)c*Rq@qYWYidZJ8Y!TKA|2h`;ePFq2@hQTMj=md9{9VQCz{n@M3{w6%)e)QWy4}nRRrby_cn!ZqyT1XYYqX2Io(P zt()?)YhrlB+n4~kHxZX#Pl%iL@`H?Tnxf-WlkoV;t%=_bu2V=l_sEWc`KW*St;3hs zsFj|*Yq~J0ZJzCwgn5r`Z)UbJeCLR7SthjKD9yx#?@XF`T>WD8C0u%2uH^()=loCR zz4b=ntkiElt-;Q+`<{jQ*Uiho^$>RRPj{(oi@0V^r7%t!|?zrw{`UTG|2^_u|f@1nn zYc`*;T;99Twq1XLGp+1uOOw@)^o+pcZ5 ztT0M9wfkAv!3OOEM|P{b^}Sl~v0&bkdw+K{t=lMORCm$-!lu(lG~X6luFwg5rz*?t zz4vd(`mhVdm+zQ8G+Qll=*#(t=j`D%SNqL-UuXHw%9DFAX|`L~$-<;buj*^+yE%@D zsZ~t+@Xb1Z`{rb;YZDIs-0HQfgu`UUO2M*=ISPAzINQAV@@vja3+4$w;$Nm0^(|;w z5WwNld{UmVYfHwGh+4U$OO|~EmAYYHi=9Li7rZ!H@FUYm;kBz?=wIule|8*7h`ajM z((l3#mA_7>4qarGYgzb<_f_=46%z4wv3##)mo4}$vL$JEkkagypOINHh3974B*=Pl z$6T@g!svfC%2Ze1=WzX=z{PIU?qyz7`Z>#Xs-hh~3?i|fq_I+D3(y>DqC)7@Z4 zj=lyyL!mG;Hod*qt0SuZ#^_JF@cnD$j0s**mo`LbWgMJxOtkDBmw$v^=u68qMSBB< z+WlI0VqVs-*NRzuSL>M8r1!HYec|rC%qqwEW&KC7YPlzAOlucqFn6ET)~KE3r1f*> zit;U9R#U<*l&kDLzGT4_2eBt9(r8OZxMVfqs_xm$HD+~GkBUq5Fb8%a>`n_xp|H+QX%a$HYW4gKH z&9r%v+hVw`tO(!#@956$Ucb9S-|HA8#YYQzMCP7i;*FG1jBnWd{Rz9;>~{I8h`iL} p$TlBPWZhJFQ_;{kL{#I$|7UwG7f5@)umLUo^K|udS?83{1OVa0ilP7j literal 0 HcmV?d00001 diff --git a/README.org b/README.org index ff51e82..d89eb50 100644 --- a/README.org +++ b/README.org @@ -4,26 +4,107 @@ #+DATE: 2021-01-27 January #+TAGS: rpg -The overlap between Emacs and running a Dungeons and Dragon campaign +The overlap between Emacs and running a Dungeons and Dragon campaign is... expected? Jotting notes and plans in an org-mode file has been great, but what if, during a game session, my notes became /more interactive/? I started creating some helper functions, which has now become a minor mode I use as a sort of layer on top of Org. +The primary interface is =f13= which calls up a /sticky/ Hydra to call my functions, but still allowing full cursor movement (but without changing the code): +[[file:README-hydra.png]] * Themes +What emerged from some late night hacking is more than just a dice roller, but I may have to explain my rationale. ** Yes/No Complications -According to [[https://www.hipstersanddragons.com/difficulty-classes-for-ability-checks-5e/][this essay]], the standard DC 15 skill check is actually /too hard/ for most situations, -The [[https://www.drivethrurpg.com/product/89534/FU-The-Freeform-Universal-RPG-Classic-rules][FU Rules]] think a attempt with randomness (what D&D calls an ability check) shouldn't be just a yes/no, but could have some /complications/, like "yes, but..." or "no, and...". I want to be able to wrap these ideas into a single interface. +The [[https://www.drivethrurpg.com/product/89534/FU-The-Freeform-Universal-RPG-Classic-rules][FU Rules]] believes a attempt with randomness (what D&D calls an ability check) shouldn't be just a yes/no, but could have some /complications/, like "yes, but..." or "no, and...". +Those rules used a d6 with six variations: + + 1. no, and ... (failure, plus a new complication) + 2. no + 3. no, but ... (failure, but a glimmer of something positive) + 4. yes, but ... (success, but with a complication) + 5. yes + 6. yes, and ... (success, plus a bonus) + +I love this idea, and thought that I could extend it to d20 skill check rolls. Perhaps 1 and 6 happened pretty infrequently, followed by 3 and 4, and 2 and 5 happen most often. + +According to [[https://www.hipstersanddragons.com/difficulty-classes-for-ability-checks-5e/][this essay]], the standard DC 15 skill check is actually /too hard/ for most situations, however, I don't trust my bias when choosing a value for a difficulty check. For the life of me, I can't find where I saw this idea, but you could choose a number of d6s for the challenge (1 is easy, 2 is moderate, etc.) and then add 7. That sounds pretty good, so after calling for a check, I can enter it, and Emacs confirm the results. + +I want to be able to wrap both of these ideas into a single interface. ** Random Items -As a DM, we +As a DM, we often have to invent unplanned details to our story...especially names, but even the trinkets in the goblin's pocket. Most DMs make lists of things, and some even pin some of these to their DM Screen, so they can look a player in the eye, and say, "My name is Samuel Gustgiver, I work at the bakery, but my friends just call me Sam." + +I wanted to create a directory full of files containing tabular goodness, and have a function that would read all the files, and then allow me to choose a random item from anything on the list, for instance: + +[[file:README-choose-table.png]] + +And then having the results show up easily: + +[[file:README-results.png]] + +Oh, and when the players ask what the name of that strange NPC was, I made a function to display the last randomly displayed message. + + +Writing a function to read all the items in a list is pretty trivial, printing out a random name would be nice, but some items on these lists may be more prevalent than others. For instance, what if half the people in Waterdeep belonged to a faction, and I wanted to help my NPC's backstory with a random faction, but wouldn't some factions be more prevalent than others? Same with occupations, as our players would run into more docker workers than workers of magic. + +A file of lists can include a /frequency/, for instance: + +#+begin_example + - Xanathar Guild :often: + - Church of Talos :scarcely: + - The Kraken Society :rarely: + - Bregan D’aerthe :seldom: + - Bull Elk Tribe :seldom: + - Cult of the Dragon :seldom: +#+end_example +But how much more often is /often/? So, lists are purely randomly distributed, but other frequencies are /pre-calculated/, as in: + + - 4 -- =often= + - 3 -- =seldom=, =sometimes= + - 2 -- =scarcely=, =scarce=, =hardly ever= + - 1 -- =rarely= + +So /often/ is four times likelier than /rarely/. I also have this list: + + - 10 -- =common= + - 6 -- =uncommon= + - 4 -- =rare= + - 2 -- =veryrare=, =very-rare=, =very rare= + - 1 -- =legendary= + +Where /common/ is ten times more likelier than /legendary/. Actually, after all the work in getting this working, I'm not sure how often, in an epic fantasy game, where rare should be commonplace for the player. ** DM Screen and Roll from my Notes +Finally, I wanted to quickly bring up a collection of rules and tables along with my session notes, a bit of a DM Screen for my screen. + +Two things I noticed about org files, is that I could initially hide unnecessary meta information and focus on just the contents of the file's table or list by prepending this blurb: + +#+begin_example +# Local Variables: +# eval: (narrow-to-region 121 633) +# End: +#+end_example + +Keep in mind, that this is only good for more /static/ files that don't change, as I have to figure out the range. + +The second thing I realized is that Org's links can call Emacs functions. This allows me to have a bit of random-ness to a table's list, for instance: + +#+begin_example +[[elisp:(call-interactively 'rpgdm-skill-check-easy)][Easy DC]] +#+end_example + +My initial ideas for listing a bunch of random NPC names and having a link that displayed one of them, got supplanted for the ideas I described above. * Code What do I have here: - [[file:rpgdm.el][rpgdm.el]] :: Primary interface offering: - - rpgdm-yes-and-50/50 - - rpgdm-skill-check given a target and a d20 dice result, returns yes/no, but possibly with complications - - rpgdm-skill-check-easy queries a rolled results, and returns a complicated yes/no for an /easy/ skill challenge - - rpgdm-skill-check-moderate - - rpgdm-skill-check-hard - - rpgdm-skill-check-difficult - - rpgdm-skill-check-impossible + - =rpgdm-mode=, plus a Hydra interface for easily calling the rest of these functions. + - =rpgdm-yes-and-50/50=, flip a coin and make a give a result with or without complications or bonuses. + - =rpgdm-skill-check=, given a target and a d20 dice result, returns yes/no, but possibly with complications or bonuses, depending on how well the result is. + - =rpgdm-skill-check-easy=, queries a rolled results, and returns a complicated yes/no for an /easy/ skill challenge, where the average DC is 10, but it could be anywhere from 8 to 13. + - =rpgdm-skill-check-moderate=, same as above, but for moderate challenges where the average DC is 14 + - =rpgdm-skill-check-hard=, same, but for hard challenges where the average DC is 17 (with a range of 10 to 25, but with a pyramid bell curve, the average is likely) + - =rpgdm-skill-check-difficult=, for challenges where the average DC is 20 (range from 11 to 30) + - =rpgdm-skill-check-impossible=, the average DC for this is 24 (with a range of 14 to 35) - [[file:rpgdm-dice.el][rpgdm-dice]] :: All the random number generators, plus: - =rpgdm-forward-roll= to move point to the next dice expression - =rpgdm-roll= randomly evaluates dice expression at point, or queries for one - =rpgdm-roll-advantage= / =rpgdm-roll-disadvantage= rolls a d20 with a modifier + - [[file:rpgdm-tables.el][rpgdm-tables]] :: For randomly displaying choices from a directory of tables. Call either: + - =rpgdm-tables-load= and point to a directory of text files + - =rpgdm-tables-choose= and choose from one of the tables dynamically, and a result is displayed. + - [[file:rpgdm-screen.el][rpgdm-screen]] :: Still working on this one + - =rpgdm-screen= :: to display some tables in buffer windows on the right side of the screen. diff --git a/rpgdm-dice.el b/rpgdm-dice.el index 0dcaacd..169a8eb 100644 --- a/rpgdm-dice.el +++ b/rpgdm-dice.el @@ -260,7 +260,7 @@ Unless the point is on a dice roll description, e.g 2d12+3." (match-string-no-properties 0) (read-string "Dice Expression: ")))) (let ((roll-results (rpgdm--roll-expression expression))) - (message "Rolled: %s" (rpgdm--display-roll roll-results expression)))) + (rpgdm-message "Rolled: %s" (rpgdm--display-roll roll-results expression)))) ;; ---------------------------------------------------------------------- @@ -286,7 +286,7 @@ otherwise, prompt for the modifier. Results are displayed." (interactive (list (if (looking-at rpgdm-roll-regexp) (match-string-no-properties 0) (read-number "Advantage roll with modifier: ")))) - (message "Rolled with Advantage: %s" + (rpgdm-message "Rolled with Advantage: %s" (rpgdm--roll-with-choice 'max modifier plus-minus))) (defun rpgdm-roll-disadvantage (modifier &optional plus-minus) @@ -297,7 +297,7 @@ otherwise, prompt for the modifier. Results are displayed." (interactive (list (if (looking-at rpgdm-roll-regexp) (match-string-no-properties 0) (read-number "Disadvantage roll with modifier: ")))) - (message "Rolled with Disadvantage: %s" + (rpgdm-message "Rolled with Disadvantage: %s" (rpgdm--roll-with-choice 'min modifier plus-minus))) diff --git a/rpgdm-screen.el b/rpgdm-screen.el index bbe212a..86d5d1f 100644 --- a/rpgdm-screen.el +++ b/rpgdm-screen.el @@ -22,14 +22,6 @@ (require 'org-element) (require 's) -(defvar rpgdm-screen-last-results "" - "The results from calls to `rpgdm-screen-' functions are stored here.") - -(defun rpgdm-screen-last-results () - "Display results from the last call to a `rpgdm-screen-' function." - (interactive) - (message rpgdm-screen-last-results)) - (defun rpgdm-screen--get-list-items () "Return a list of all the list items in the org document." (org-element-map (org-element-parse-buffer) 'item @@ -44,8 +36,7 @@ The contents of the item is displayed in the mini-buffer." (interactive) (let* ((items (rpgdm-screen--get-list-items)) (item (nth (random (length items)) items))) - (setq rpgdm-screen-last-results (s-trim item)) - (message rpgdm-screen-last-results))) + (rpgdm-message (s-trim item)))) (defun rpgdm-screen-choose-sublist () "Randomly choose an elemeent from the lists in the subtree. @@ -67,12 +58,12 @@ The contents of the item is displayed in the mini-buffer." (dired-hide-details-mode) (split-window-right) - (find-file "skill-checks.org") + (find-file "actions.org") (split-window-below) (split-window-below) (other-window 1) - (find-file "names.org") + (find-file "weather-effects.org") (other-window 1) (find-file "magic-schools.org") (split-window-below) @@ -86,7 +77,7 @@ The contents of the item is displayed in the mini-buffer." (other-window 1) (find-file "gear.org") (other-window 1) - (find-file "trinkets.org") + (find-file "armor.org") (split-window-below) (other-window 1) (find-file "conditions.org") diff --git a/rpgdm-tables.el b/rpgdm-tables.el index 3e0d9bc..e764efc 100644 --- a/rpgdm-tables.el +++ b/rpgdm-tables.el @@ -162,7 +162,7 @@ For instance, `veryrare' and `very-rare' are the same." (defun rpgdm-tables--choose-list (lst) "Randomly choose (equal chance for any) element in LST." (let ((item (seq-random-elt lst))) - (message "%s" item))) + (rpgdm-message "%s" item))) ;; However, choosing an element in a hash of tags seems ... challenging. This is ;; because I want the tags to somehow add a particular weight to the randomness. diff --git a/rpgdm.el b/rpgdm.el index bc5a3d8..0e156b9 100644 --- a/rpgdm.el +++ b/rpgdm.el @@ -18,6 +18,11 @@ ;; ;;; Code: +(require 'cl) +(require 'dash) +(require 'hydra) +(require 's) + (defconst rpgdm-base (file-name-directory load-file-name)) (load-file (expand-file-name "rpgdm-dice.el" rpgdm-base)) (load-file (expand-file-name "rpgdm-screen.el" rpgdm-base)) @@ -29,6 +34,51 @@ :group 'applications :link '(url-link :tag "Github" "https://gitlab.com/howardabrams/emacs-rpgdm")) +(define-minor-mode rpgdm-mode + "Minor mode for layering role-playing game master functions over your notes." + :lighter " D&D" + :keymap (let ((map (make-sparse-keymap))) + (define-key map (kbd "") 'hydra-rpgdm/body) + map)) + +(defhydra hydra-rpgdm (:color pink :hint nil) + " + ^Dice^ ^Tables^ ^Checks^ + ^^^^^^^---------------------------------------------------------------------------------------- + _d_: Roll Dice _h_: Dashboard _s_: d20 Skill + _f_: Next Dice Expr _t_: Load Tables _e_: Easy check + _b_: Previous Expr _c_: Choose from _m_: Moderate + _z_: Flip a coin a table _h_: Hard check + _a_/_A_: Advantage/Disadvantage _v_: Difficult " + ("d" rpgdm-roll) ("" rpgdm-last-results) + ("f" rpgdm-forward-roll) ("b" rpgdm-forward-roll) + ("a" rpgdm-roll-advantage) ("A" rpgdm-roll-disadvantage) + ("z" rpgdm-yes-and-50/50) + ("s" rpgdm-skill-check) ("i" rpgdm-skill-check-impossible) + ("e" rpgdm-skill-check-easy) ("m" rpgdm-skill-check-moderate) + ("h" rpgdm-skill-check-hard) ("v" rpgdm-skill-check-difficult) + + ("t" rpgdm-tables-load) ("c" rpgdm-tables-choose) + ("h" rpgdm-screen) + + ("q" nil "quit")) + + +(defvar rpgdm-last-results "" + "The results from calls to `rpgdm-screen-' functions are stored here.") + +(defun rpgdm-message (format-string &rest args) + "Replace `messasge' function allowing it to be re-displayed. +The FORMAT-STRING is a standard string for the `format' function, +and ARGS are substitued values." + (setq rpgdm-last-results (apply 'format format-string args)) + (rpgdm-last-results)) + +(defun rpgdm-last-results () + "Display results from the last call to a `rpgdm-screen-' function." + (interactive) + (message rpgdm-last-results)) + (defun rpgdm-yes-and-50/50 () "Add spice to your 50/50 events (luck) with Yes/No+complications. @@ -152,7 +202,7 @@ The string can return a bit of complications, from `rpgdm--yes-and'." (interactive (list (completing-read "Target Level: " '(Trivial Easy Moderate Hard Difficult Impossible)) (read-number "Rolled Results: "))) - (message (rpgdm--yes-and target rolled-results))) + (rpgdm-message (rpgdm--yes-and target rolled-results))) (defun rpgdm-skill-check-easy (rolled-results) "Return an embellished pass/fail from ROLLED-RESULTS for an easy skill check."