From ab4f660439ff855171f801e3fdfa3e9de69d991b Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Tue, 19 Jun 2012 16:34:39 +0000 Subject: [PATCH] More compliance fixes, artwork changes, build system changes. --- Makefile | 31 +- cross-compile | 2 + docs/INSTALL | 2 +- docs/README | 2 +- docs/TODO | 9 +- docs/WHATSNEW | 5 +- jaguarcore.mak | 14 +- musashi.mak | 68 - res/alpine-file.png | Bin 189358 -> 189568 bytes res/cart-blank.png | Bin 63635 -> 238214 bytes res/compact-disc.png | Bin 33254 -> 29804 bytes res/controller.png | Bin 147780 -> 128048 bytes res/skunkboard-file.png | Bin 146975 -> 171491 bytes res/upper-left.png | Bin 487 -> 497 bytes res/upper-right.png | Bin 424 -> 524 bytes src/cdrom.cpp | 2 +- src/dac.cpp | 2 +- src/dsp.cpp | 2 +- src/file.cpp | 122 +- src/file.h | 2 + src/gpu.cpp | 2 +- src/gui/app.cpp | 31 +- src/gui/controllerwidget.cpp | 14 +- src/gui/filepicker.cpp | 39 +- src/gui/filethread.cpp | 3 + src/gui/mainwin.cpp | 2 +- src/gui/virtualjaguar.qrc | 1 + src/jagdasm.cpp | 15 + src/jaguar.cpp | 12 +- src/jerry.cpp | 2 +- src/m68000/Makefile | 10 - src/m68000/inlines.h | 2 + src/m68000/m68kinterface.c | 2 +- src/m68000/m68kinterface.h | 2 + src/m68k.h | 348 -- src/m68k_in.c | 9989 ---------------------------------- src/m68kconf.h | 190 - src/m68kcpu.c | 894 --- src/m68kcpu.h | 1838 ------- src/m68kdasm.c | 3443 ------------ src/m68kmake.c | 1414 ----- src/op.cpp | 2 +- src/tom.cpp | 2 +- src/unzip.c | 753 --- src/unzip.cpp | 136 + src/unzip.h | 139 +- virtualjaguar.pro | 8 +- 47 files changed, 379 insertions(+), 19177 deletions(-) delete mode 100644 musashi.mak delete mode 100644 src/m68k.h delete mode 100644 src/m68k_in.c delete mode 100644 src/m68kconf.h delete mode 100644 src/m68kcpu.c delete mode 100644 src/m68kcpu.h delete mode 100644 src/m68kdasm.c delete mode 100644 src/m68kmake.c delete mode 100644 src/unzip.c create mode 100644 src/unzip.cpp diff --git a/Makefile b/Makefile index a406f12..a875c55 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,6 @@ FIND = find -# For cross-compilation with MXE -# We use a script to do this now... -#CROSS = i686-pc-mingw32- - # Gah OSTYPE := $(shell uname -a) @@ -21,12 +17,14 @@ ifeq "$(findstring Darwin,$(OSTYPE))" "Darwin" QMAKE_EXTRA := -spec macx-g++ endif -# Eh? -CFLAGS ?= "" -CPPFLAGS ?= "" -CXXFLAGS ?= "" -LDFLAGS ?= "" +# (This will only assign if the var doesn't exist already. Without these flags, +# Virtual Jaguar will run very slow.) +CFLAGS ?= -O2 -ffast-math -fomit-frame-pointer +CPPFLAGS ?= -O2 -ffast-math -fomit-frame-pointer +CXXFLAGS ?= -O2 -ffast-math -fomit-frame-pointer +LDFLAGS ?= +# Flags to pass on to qmake... QMAKE_EXTRA += "QMAKE_CFLAGS_RELEASE=$(CFLAGS)" QMAKE_EXTRA += "QMAKE_CXXFLAGS_RELEASE=$(CXXFLAGS)" QMAKE_EXTRA += "QMAKE_LFLAGS_RELEASE=$(LDFLAGS)" @@ -51,32 +49,25 @@ prepare: obj virtualjaguar: sources libs makefile-qt @echo -e "\033[01;33m***\033[00;32m Making Virtual Jaguar GUI...\033[00m" - $(MAKE) -f makefile-qt CROSS=$(CROSS) + @$(MAKE) -f makefile-qt CROSS=$(CROSS) makefile-qt: virtualjaguar.pro @echo -e "\033[01;33m***\033[00;32m Creating Qt makefile...\033[00m" - $(CROSS)qmake $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt + @$(CROSS)qmake $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt -#libs: obj/libmusashi.a obj/libjaguarcore.a libs: obj/libm68k.a obj/libjaguarcore.a @echo -e "\033[01;33m***\033[00;32m Libraries successfully made.\033[00m" obj/libm68k.a: src/m68000/Makefile sources @echo -e "\033[01;33m***\033[00;32m Making Customized UAE 68K Core...\033[00m" -# @$(MAKE) -C src/m68000 @$(MAKE) -C src/m68000 CROSS=$(CROSS) CFLAGS="$(CFLAGS)" @cp src/m68000/obj/libm68k.a obj/ -obj/libmusashi.a: musashi.mak sources - @echo -e "\033[01;33m***\033[00;32m Making Musashi...\033[00m" - $(MAKE) -f musashi.mak - obj/libjaguarcore.a: jaguarcore.mak sources @echo -e "\033[01;33m***\033[00;32m Making Virtual Jaguar core...\033[00m" -# $(MAKE) -f jaguarcore.mak - $(MAKE) -f jaguarcore.mak CROSS=$(CROSS) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" + @$(MAKE) -f jaguarcore.mak CROSS=$(CROSS) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" -sources: src/*.h src/*.cpp src/*.c src/m68000/*.c src/m68000/*.h +sources: src/*.h src/*.cpp src/m68000/*.c src/m68000/*.h clean: @echo -ne "\033[01;33m***\033[00;32m Cleaning out the garbage...\033[00m" diff --git a/cross-compile b/cross-compile index e622a4b..1c3fadd 100755 --- a/cross-compile +++ b/cross-compile @@ -9,3 +9,5 @@ echo "Cross compiling for Win32..." export PATH=/opt/mxe/usr/bin:$PATH rm makefile-qt make CROSS=i686-pc-mingw32- +rel=`svn info | grep Revision | cut -f 2 -d ' '` +cd release && upx -9v release/virtualjaguar.exe && zip -9v vj-r$rel.zip virtualjaguar.exe diff --git a/docs/INSTALL b/docs/INSTALL index fcb6f3a..a159a6c 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -1,5 +1,5 @@ ---------------------------------------- -Virtual Jaguar v2.0.3 Qt release INSTALL +Virtual Jaguar v2.1.0 Qt release INSTALL ---------------------------------------- diff --git a/docs/README b/docs/README index aed97e1..5d27f3e 100644 --- a/docs/README +++ b/docs/README @@ -1,5 +1,5 @@ ------------------------------------------- -Virtual Jaguar v2.0.3 GCC/Qt release README +Virtual Jaguar v2.1.0 GCC/Qt release README ------------------------------------------- -------------- diff --git a/docs/TODO b/docs/TODO index 75a73d7..178aa37 100644 --- a/docs/TODO +++ b/docs/TODO @@ -3,8 +3,6 @@ Stuff to add/fix for the next release of Virtual Jaguar - Fix VC behavior to match what a real Jaguar does. Still not sure just what the heck is going on there. [Shamus] -- Fix DSP code so that it doesn't hang in a spinlock waiting for the sound - buffer to empty. Probably a CS lock contention issue. [Shamus] - Create an EEPROMs directory (or whatever is in EEPROMPath[]) if it doesn't already exist. [Shamus] - It would be nice to have the emulator pick up where you last left off, or at @@ -16,16 +14,21 @@ Stuff to add/fix for the next release of Virtual Jaguar - Need to propagate blitter fixes in the A1 <- A2 direction to the A1 -> A2 direction and the GPU fixes to various instructions to the DSP. [Shamus] - Blitter needs fixing. [Shamus] -- Command line switches for frontends. [Shamus] - In emulator screenshots. [Shamus] - Audio/video dumping. [Shamus] - Full screen option. [Shamus] - Controller handling. [Shamus] +- Need to emulate bus contention. [Shamus] +- Need to fix timing in the OP. As it is now, it gives a false impression of + how much it's capable of. [Shamus] Stuff that was added/fixed -------------------------- +- Command line switches for frontends. [Shamus] [DONE-Shamus] +- Fix DSP code so that it doesn't hang in a spinlock waiting for the sound + buffer to empty. Probably a CS lock contention issue. [Shamus] [DONE-Shamus] - Need to fix PAL mode to work with the virtual screen code. [DONE--Shamus] - There are a few ROMs that use some "quasi-illegal" 68K instructions. Need to patch the 68K core to deal with these in a better way than they are diff --git a/docs/WHATSNEW b/docs/WHATSNEW index deaeca6..a336c6d 100644 --- a/docs/WHATSNEW +++ b/docs/WHATSNEW @@ -1,6 +1,9 @@ -Virtual Jaguar v2.0.3 GCC/Qt +Virtual Jaguar v2.1.0 GCC/Qt ---------------------------- +* Re-added command line switches. [Shamus] +* Moved JERRY into host audio IRQ. This should make sound much smoother, though + it may run ahead of the rest of the emulator. [Shamus] * Kludged a fix into the audio handler to set the correct frequency for audio playback. Note that there could still be problems with this approach, as it can be easily fooled. Thanks to Dr. Typo for the initial analysis and insight diff --git a/jaguarcore.mak b/jaguarcore.mak index 89faa3b..0c94a5c 100644 --- a/jaguarcore.mak +++ b/jaguarcore.mak @@ -58,15 +58,9 @@ LD := $(CROSS)gcc AR := $(CROSS)ar ARFLAGS := -rs -# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2 -#CFLAGS := -MMD -O2 -ffast-math -fomit-frame-pointer `sdl-config --cflags` -D$(SYSTYPE) -#CXXFLAGS := -MMD -O2 -ffast-math -fomit-frame-pointer `sdl-config --cflags` -D$(SYSTYPE) -CFLAGS ?= -O2 -ffast-math -fomit-frame-pointer -CXXFLAGS ?= -O2 -ffast-math -fomit-frame-pointer - SDL_CFLAGS = `$(CROSS)sdl-config --cflags` DEFINES = -D$(SYSTYPE) -GCC_DEPS = "-MMD" +GCC_DEPS = -MMD INCS := -I./src @@ -117,14 +111,8 @@ obj/libjaguarcore.a: $(OBJS) # Main source compilation (implicit rules)... -obj/%.o: src/%.c - @echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m" -# @$(CC) $(CFLAGS) $(INCS) -c $< -o $@ - @$(CC) $(GCC_DEPS) $(CFLAGS) $(SDL_CFLAGS) $(DEFINES) $(INCS) -c $< -o $@ - obj/%.o: src/%.cpp @echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m" -# @$(CC) $(CXXFLAGS) $(INCS) -c $< -o $@ @$(CC) $(GCC_DEPS) $(CXXFLAGS) $(SDL_CFLAGS) $(DEFINES) $(INCS) -c $< -o $@ -include obj/*.d diff --git a/musashi.mak b/musashi.mak deleted file mode 100644 index 9aa460b..0000000 --- a/musashi.mak +++ /dev/null @@ -1,68 +0,0 @@ -# -# Makefile for Musashi Portable 68000 Emulator -# -# by James Hammons -# -# This makefile is licensed under the GPL v3 or any later version. See the -# file GPLv3 for details. ;-) -# - -CC := gcc -LD := gcc -AR := ar -ARFLAGS := -rs - -# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2 -CFLAGS := -MMD -O2 -ffast-math -fomit-frame-pointer - -OBJS := \ - obj/m68kcpu.o \ - obj/m68kops.o \ - obj/m68kopac.o \ - obj/m68kopdm.o \ - obj/m68kopnz.o \ - obj/m68kdasm.o - -# Targets for convenience sake, not "real" targets -.PHONY: clean - -all: obj obj/libmusashi.a - @echo "Done!" - -obj: - @mkdir obj - -# Library rules (might not be cross-platform compatible) -obj/libmusashi.a: $(OBJS) - @$(AR) $(ARFLAGS) obj/libmusashi.a $(OBJS) - -# Main source compilation (implicit rules)... - -obj/%.o: src/%.c - @echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m" - @$(CC) $(CFLAGS) $(INCS) -c $< -o $@ - -# -# Musashi specific stuffola -# - -obj/m68kmake: src/m68kmake.c src/m68k_in.c - @echo -e "\033[01;33m***\033[00;32m Preparing to make the Musashi core...\033[00m" - @$(CC) $(WARNINGS) src/m68kmake.c -o obj/m68kmake - -obj/m68kops.h obj/m68kops.c obj/m68kopac.c obj/m68kopdm.c obj/m68kopnz.c: obj/m68kmake - @echo -e "\033[01;33m***\033[00;32m Creating m68kops.h...\033[00m" - @obj/m68kmake obj src/m68k_in.c - -obj/m68kcpu.o: obj/m68kops.h src/m68k.h src/m68kconf.h - @echo -e "\033[01;33m***\033[00;32m Compiling m68kcpu.c...\033[00m" - @$(CC) $(CFLAGS) -Iobj -c src/m68kcpu.c -o obj/m68kcpu.o - -obj/m68kop%.o: obj/m68kop%.c - @echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m" - @$(CC) $(CFLAGS) -Isrc -c $< -o $@ - -# Pull in dependencies autogenerated by gcc's -MMD switch -# The "-" in front is there just in case they haven't been created yet - --include obj/*.d diff --git a/res/alpine-file.png b/res/alpine-file.png index 92350f152853ed1c3190d95c448f58d39c26bf95..dad1d2c484659669b8ee1c021d64d9e3942608b7 100644 GIT binary patch literal 189568 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

  • ~3Elz;2=CZYaW0M6FLq`*;-$ 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%0D^ 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

    D?zLH=u|mVayII4s@ME7gqU(N7m>L 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 diff --git a/res/compact-disc.png b/res/compact-disc.png index a6082f8754b8fb9e253917e22a7bcdb074b912a1..61c56f548182b186f8d228b5350366def623500b 100644 GIT binary patch literal 29804 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

    8IV$$W9c1Bf> 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 XYeRhn#%bEO00000NkvXXu0mjfr%8K3 literal 33254 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 diff --git a/res/controller.png b/res/controller.png index b2a32812243f629a721a3192d5253f1d871ce8f1..cafd47cd723948d38716057b509d5e36c8d4cd1b 100644 GIT binary patch literal 128048 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

    m4NxXu+DjDCP2PetOHLnSE>gbJUW6KOXQFWGZ| zbF-<$e&(-t_aqO4dk+(kdX`8{hK;&Z#u-T4;qz2Us%PGorSw^`Y@TW)claRVJ)BNP zKg&>{Qm7}%%Qj<<41zb4BcvAp zf8ik((|vqCr-~{DG{CkL*CCL56G7ZUCX^ae6E#6}a6%!Wy#LSt2+ut8Za(?RuW{va zBdSW3jH_3#`hWU2Kg7ZOHd|WhPzE2ES|;>8{b24@O|~Kyp(1)Jy$ms-*&WNG6`pEX zZhBa`Tzlmef6v!G#&?_{v-3FhgW?6w?t{!*MZ$EHmGKZ>u01Vb{*0ptgHyH(r(S?H zgiRD)`J})6l~3`ZormSdqi=*_KExtILcy)5gpfQ}jv7K3xA0O`5CbveqF{my3ORRt z|I?4~GynbvfA*oPPyFq%(Jlo2_M4`^twZD_Af=)KeJeM}|TO<60#Y#vDGAA+P=T=3OF%9F;0NDNa}e!$vr_yWrd`uw0&S z?{vdrzAqz7MQ{(ynLydHK3gLtLXJ%9no>;YdT@MOL2?<94rH=K#7rE>4q6NkMYaSq zXGzTz>O?L*su37SHrlX{?=7hUxD@C!Z~3n8<&&TIZP}kc=MO#cB#Ye{ceiJ}bmJA4 zn`5YxcvU&xvs|xO%y&6IZ8&RN1SC9QRP|P|?gLF-vCa1(Htb)$$`9{f#B9r}*ROM@ zy)9w0q@K+*O8q;IjinSm6Fd_b9QPaG*0e}CO7oCqfsN4cGRd%r>xH+&2%Z0141w~+XI1Y zMJAJTKy|};4rCi~VoUHTmX>Uzvd}~U@qR_k9vUB)3)6|eak0muo-$j^WzsZ05J}ol z6{Bs9GX=~sWwb20ifi;%I;k+GB(jYJ3?GayKKBP)xx6ROJo6?8_{hKb3Qs;h=e46# zRBtojlDC-)-3jj*Zu6vU*sUXdwa=0%uUO#4VZ!reV68@U5HZopnbdR1*}O7gm>Ms> z<#BoGi9^5g@|t(P^l{#CZ^?xOVLo<$W2PjqhB5>0K$yM&^&`M#C^dmr3VVdC&W+#W zbHD!ye*Mu$xp(z3wk~73lZ`aiA=XF{yf|1E)d^kb2ok`yR9fg{Mkqy^7<}u!G&=X+ z{p>fW^}~Pb=;-?0!^3O;^}mT?^=Sqc63`*vZ5)U%PSLH(iz(a4blri8N7P4Xvc@SK<}?4o|KfW;AiL8`+&f!y`_2uTdhYZ2T&z!=w)bFY{qoL2E?rnq2zbsEsl0WQ zgrb$Yhb(G|Vp~)T-a=}kckKqMAa{?CS+DLmIHzWkQss>WX|-VH?4?9!oe$o!p zxxE_e1@pmYsgk}VU+m7wWh-gEPhM|0TV?vZVm?i*&N}AvIbEN9-UNB=){=_i22$_t zGC|3f308oBXa`k;dhjb3FLLkXzMO5%D@E!_V!2u)31XEH6<@bm;&z}pcaCoB)D^z7 zdr_jg_hgdJWz}ayi>DZHlJryr0;L#@_qYT%Mfw&JIB|4I4=Bk1DXu}K?^bwF9=mqY z-}{5l$Wu=}4ZuJ6xes&W)#u&m<*C(ee%!vyrJW69%xgoKEu7}EjD69RyW056%SK*l zGcRkvb|&1**+bX|;+WixAYq2{7{b-} zI@O^R8t5+(bRVAojDO-YzahWz=6BH@JT&@StB9L8s1%J1^j=~V#oT)lQ70%~n232` zl+&3{tcYp!L6OQK2=vzRqt86ekG=md|McPE;s0`UbR?H9UG#4!H(tIybE}Ro|Ir`v zwzqy4M@L7~|KS(@n?HE=gc+8-L25}NdhF-h?%F680E114m@adcny&R=7ZItOHVc7|Cd6{FSUy%kBguiI9(Lr3lh zE?>AxHQmKkyc%2vQ5SE;N8&?!SDM~Rzv2_onyAyeX*NlGFi}`W$rH5Os9p1FI;BY zM7(Y3W%Os8L)3!x0ZEEuKw%ym`YuCoZ@W%{8ppS8ap(BRclVN1Y3`TL9m@TjS+7^5 zpjg3EMACH1dKgH#U}E&yM#O2Fcp7Ih(!_`fgnO~QmUOvaJ-he2S=^pGqMra=MqB99>fbsrA5~>FBf|pnDxzm=< zXXu&{niGOhFotY&Jq+Hu8M3on`MX~JqI}Ql29Gzu!2{aJ1m`kR-tZ1*@B1X^NQS!>L2E!=5ZMwiRjNTqVq|q(E5N8sF&$4c6_6Ezny0K{ zv=nW~;B)WfgYWxuJoC&CzvuAq@OQ4i`T|!DAE&CSe>-Pbf9F5{Tc3RX`rYr#hHuN* z83?$dIGupIQqf~r0{18rK*^qSC%0}K`IdrC7wiOQd2cBLJ$fZi}O-6cr6v@c4r)~mrw*9G69#2c)>9h zw0j`>3yw*aG!!qBAZki$o!c--Es7#uva$7Hl=}&;K_t%im`^88n)7S_^DptfANdK{ zzjTe|@{GHNFAD6`FlfcSZb{x|F7NEiVipJ#Z}S8GT0#1NgAhO_#bH$Tg9Sp!ByF&q zMN{!x_l~*w;)~ord5N@da(?#_Z+0$=$2lq!w_(i2(^1z=F~~Tf5}A8+L^vfAePpPc zRBmoiGSd(lCKD;!?72sXPN4E+CVd%g;wdPoVho~)t2%8dgd71AymzS*F(n#pC?SBD zm}MWf8#!Ix#YlcIJtwhgd@@r!hmkJPn^+PrAwV_KI#V~!gT~Y?^>Ibv5=-$ufJsfH zmlOkCU)-`nTH#hui!c~fRm8T&877{qXScm2YRH*th(r z+*{scZ*c{H|L(v4*`NQ|XTJ6yPZtNiK3(DjF*PQd(2%jdCuj9QE5sQ|CM>OG&e*u0 zE>Bo)TefXxI-Rq(JLSgl5gQ7#blD%jdP$CMy@YMeC+FWN2Ny1YiJN5^#3=&=>&Rtr zH4$@nQ6%J!X)~v_HG@FP*>hCEqFZT2QCcquPEAi`FchbcBQe4OBqF)P%zOxlNd||i z;O0@RKnSA=&6_DZTJy%MSN+4k^=lGj%J;qJ$60Mo$t*lIh_)*#uQ(Pb(y;K%&Qyq+ z*lgFHvq{v1R*t#QGoXDTq){lis3&Yn_IXIMwE@dYYLq^=Tz};yfAQ5X$?5V2h_QD8 z_7>;-{QjOa`bKcJ8dGC>n&TQ^kHD^T~U z^kND*WI~Qel~AwHqKpbt@gNaRDpfF#R;2Bnes#jSU2}hZ%I0+GbDhiXrOWJJzJwxl zUF&Kl7NV=DIG{rH`^rpgD+==+`+zjV-_OTQJ55f0$cBE^!erBDdSTmhp_T47SD_{L8 z=l37?-Gir?Pm6TE^}&!rA(e4rKBUgcD#YM9XPJn&;xZUyI+X0yfNV*gbs$+5qqyN> zC`}PB0koL71N}fB^qUWdTX3Q4a35R{a#0!7(P0dd2)e^$(r{rh_t)=!RX+RK&+z^a z{D)W%T0iW&`*T?zzXqLqUqhNS4BJkUZD~~LOYwFXM8{NScSE|ss1Em$Tpuvkq$E@n zNLd_lI?qz4g>U+$yz=sOUcLT2_iw+z(%q|q%;vB-2YZXe&V0fC;=qGk5z&cjUDN1} zWC8UWQo~TPi>m~Iq!q<+%*6oL#t{**6?hL-bO)KxV|k1E7$a8tGtSyOa%Xwlx9zE{ z+bNs8W;b47XTD%>|G?+-U8$M{U}#EYI;V>Q=0OuEQW<0~P7{bGqBc;Z0uKzD(O$iB z6|};n^=MJ@$eJNp_F{=G1r08gLcv_K%fN>HZRRIme~!1O=SIy`1L4{`p?Moc6jFrx zoO5R&q%0*&2s-s5gRrv;eI#@n7)~jr_24HUCcJi=kKM`svBe{DCncW+r-+C-&NvFE zSix{_%ZQ1enTQO7D@Z$0ERKbi7@X2bM7`IR;3B;?s01e@87w0`9+HRz_fU{bp?C90 z6eWXHh?yHI9)kB$WJZQq0~MvNmTrVHm!p$HQ;g zmAyD;-EC&mOMK(SXMf3j$vR*6*^58{1iWOZ+( z5)Ca~+oBrit@vCM3H5dEX)QC2GY%FLZoK#c(`Mgum8d2?d24Q}l#<<1oQ%avBr6sI z-j8PB0VjJVI-ZJy*PK=6VuqG7nrk&t4es-5A~^+uwG3*W2bYOfuC^5r236=bKuwZB zZv_p`_zVo>2z40guUntyt{U%XrJT!

    Z20V-mifB+AA7r$yh#8`dE4}ok#ez|%nKzY@nBZ3*@@wb!CHuR$ zf3oEI*I(i0$*Wxd+R|TbG9Hda(=q4Lb7Sz!4E7YSWJ+8hO}yZZW~4N(aYoQ2MTH=H z*!Gl^pfd+sdz+QqpR%=^Ue1D8zwh0!!7Z{Wrv#MBFA%E4rNueFcx(e!{}mfeR)pC&GS7S(}XCnSqB z^z_oYh8imouQ$xwn)jW&%-ic1{Q*?gnV%P$eXuP-CY0R3a39hRggHTt68lk9VMfs8 zWs(GTJ+u*YP1!Et@;U#(?rXf`{>S*(e3rE#UYM`Elj92km#_eJaCGl zedUlD6jU1ey7FKKHlRU5pA6T#Nu(NZCqoboM zzwj$R|Bz2luj#j2Rv}AkJxP)@ z(;XPLm}iW~z4M&jzCqjH!V6Ng8r9Ao$y5X} z5u6ePN|NM?BuLh}TQ8YF6>D*d8|lH33{;TS~fGrR!tx}c!lNKsCJSEDuVo9VKBfW{EYXbz4(E?B4Wp3Lff zX7gRI%Vp;K7dU7ZNK>)b%tYb@G~wCM6vyR;86J|T=qPc~aYL_&WC9|CG&Z<5JJRHV zQVfz1g3@=5BzMmkK`JTp=$?^DP;7ukT&OcSgL`DCK(?*Z4*dBWFYs=D56q<~9u#45 z5o`t}QNnm+qzJ^VfKx;XeWKI>WJU=lVGK`^5;m~SgfdVl!i7gz3@`B$?UDRY`>cO> z^#=LE;yb;hsZe^9gqVvdP)DpZ6zkAnAXy-x>Ijvm62>4i#RH?=CWV9;bWsVV2sSVn zxPqAC)kG{9S`4F-LOsF?bMJ}BPO7A}E!#oaX@s^n27(|n|L7;aAdf!$@Gl-69ewuj z@bI~B^*rlaR1TG$osky$$xnay!@vK<7n^3XC}t%XcuKoi&O$K;gQDsNn5ZZND;HN1 zRdAG6*6r&gi+*Y*J53nhI+cw$kPu{Vcfu<-pGWG7O*Y@XJSTeb-l6nPhJ>ohD{hGSr1V? zgn>}07Y2!A?u;9ifRRG*Tq!ZYP%S8Cj##d!3?IWH5m2E{=u?hI#5TTUB>4iK!x!eLzT}R0g&k^926f zotypx^1JfQBamLq~e?0 zF;5li_SBU`68wxn1Gr^BtCVS&F_aBnz=q(Iugl=wkG5BUir2N z5)yd`L^TQ-$jqDC3yJmmlo;HTP6=gTdSQ-r&M@h)!ThiSFxJ~l5@)sAkTg;%+r^O`aQyq?haTjpsFY3iOG)k2*bI(ka32*o`| znBs1#xB<}#mYHjXp}0m;?!8xVCY*Jd*(}lcnrz9d2qDZU)-z~wY&{0;Y9d*oCwkB^ zghNPZSYv(1ci(!IAM2il8cKd(o9THFM_)U60#=gJ!`MM_r0h4PWQ}U2AIJR9|IDfBtVc9D1x9U zQ-VT@QY6||?5L8894d(%m7`RpqRJ0fDW!_5;&M4oRa~y5Sg~RyRi>kgBFc>DFya>| zLLdnOAc!HpIQSZ1&=|~MX1e=!pL_P%Yp?t`4JE%t%GSS`Tldb~?t9NVYp?ab&)dV| z3Sk8;K}hfu{uWzLKg5^b^M2N5?{FDMTAn*a5SkYZg1V4Fl$aVLQ`dwAoQgF84ZaUF zf@j;Geh6`d8JUV2PAYVzxs!=)pGt->lABR1`a+eIls1}|FfEcs2gh7vzTj&4I@BXi!`S-UjuUg#b#K+=mrtA*`K|0nK z8?qW!zP~bQ8eQEOG)rV~Y-Ew=sK8FSg3*L9iTaW*e31i}-g=$9*Ryv0DQs8@yT!FT z7(3??Rz_m-gAAoddS{-YV3M2pl-$>l24%UVfe_ujbSMLaN*5x=_e7vMHQyVwf|N1{y>}yweO3R%MXM0a(3CWK5aP9BED}4OS-0R49Y-`s*)o*?O)& zdYqNP56(TqE$fGw$91F`5`~awT7hY&z3Y(7Ds1TDX74SW2eyACktc6%B<*+(prjr^AO%yd)8XL=9 zK63FZq{BAx*9GBVAv}dW0=0+qwqT{3ikd9JE3MxV&OPp&*r4V2!R$2nz69x=(oai> zaR&6D2ICrp|1YbSP58vN@wKy0z&)o#J-b)MC=>+~B~?Hg1R+zI!hMu14N-_OQG-bY z_d1Hjg;xhXxLFyQY)wpqM;V2H50VewK%iHljlFEQ>cNyYk&~UNw!5^(7@(z@e*K$2 z;PzY3{MOdi*5^;2Jo%l!sH5SJtQ6K-skI((t+qb+%(IXF5J&9FKMeWi{Lv+KC_*mWG5XHs0U+`oXfec87w zEccD0^L1iNq%jbJF?wZiW6YVbF5rn-ibzt@e8x-zT3x6{Xd{#n4NDq^<&M~8wDkxh z%7BIf7(GT9N8Ed81!{G@iwH8c9^dJ^XTp>kA189^Y`$QTVN_!Xjt3)zk*pwLdhSe;9PJKM_P|yv8pbsj zceqxKKPylNv$yFO0dPTxS+MyO!PS=26Fp3tvTgxKKMJdNP4mv-B`8HT5jcYyR4h|in%SV`X8x(8a_KNTC!?qRQ z50gI)&CHp;3)KRBaWoeayPm~}R>1{r<|-Ncv#;9ZuFckS-QkWtR7?|C!^ROc#c@hF z2&50{$rTevaW5_`tGSKlQ=+_+RQQl396f#u zLpsXF;(9Wh-1^QBAn7o{)U&Q3Ia68DtAOKTQ<17BF1~Yc;W*Ofs2f%$Z1GeXGJ}pZ zjAF%?bw$X@N6bTw!F9uofb^meIA2S(=k{#=Kj2 z*Bv5ic8xRN0W__7Tc45h5j178CNyVHI;YI%r1gl)j8clHd1Rbr2sU*(R+#AdPN2Dj zrMEWHBsoMvbCxyWF;Jp8DN~yQ3H8EI2CR&fTK(8;o!n+bqK`Pu2QqQ$rt6+}vq;R1 zNWhyiua#JsxLpQJ(ku`Nd(hrE@60bcmT5Gfn8*UH0KFrao zuFC2lI%iI^S0&8KkyCin+SeXDE3^(L`tTW1A2+ zs)UStP6N28ubOa^%!a!{bzQ`6l$Bys6 zc)^~0@~QW2ZEgL=y?5W|e-RtQA6dcr{&T)?HAv4~OoLQwVxi(ONpof1RMOfZ(K?E@5z3pgT5XFD`^@q}*1MxZ>clO{ zEGp896f?n%Hk#~3M1s;4kt|V&BFmLYzdy3ST8WK@gP8TAhM*>+N9mcdGLx5HIZsv< zqcP2?5EPNtBsUd^BBnA*5%nw>;%YP17ccP1Z0*s zM68K;k~ZacgPSl$!Gf6WiR*wVl5<2%NIr@*m#m7KVcBFx6sS^kCOc(E;@t5VBr_9> zGZ4hJ15I+_@+GNW1yd24EW1Op+?$SqZ93UVQ-lf>go_AQ9uqnfip$h0IfNoeoc^vA zqDx>?f*ciECwLS0 zsvsGc(B?85+O$FnE^`u1gNP@Y8H_Gs&7^1(KyralR5Yom2Xs`KPdi5`t-+WlGAbr! zE1{}PD7EQ#Q7z&j07;4pswz#_^t(@<;nJn8-`?8VIyRlWhQFKz>*qi5s|TId^Z(_; z-+UAeb7nFpFp}HKV{$yKV`k9I1BKdF5F;Kl#h`>tAWvUFgy& zhDm!TiW<-wrkS^e?42iOOxWIe&9neb9Mu^)%#hg(%^hP@3M1$~hNGrbiIa~lIH6l- zJq6y}zD&1vjJMu+1){Qf&9&6A(GSAkbL1xGfHb7W)Fj~+Va>+8qp);5S%5h@8F z3&m%&snbJbjasH~W^8X_gs5UcA-$c7ohEW-gO)}@orIHZG;+)n!Pna~$j$3)N+TZx zrLL=x!#WxR+9^2+i`fy@;~E`nq_)nyIWukKq?3?U5?N;x!4yNX&{=oTaZKHd0-a`J zo8e2N+TP@4vxt%*%n=f<6M9%tni*2tl-M0ABN;`f{z<1Jmc1QiZH9Zm#)j7EcY=d? zLQJ8--0?{BoP-b(=dV4=nf^FzALIx&2vb8bg-8s*D?tAR=n9P6;5#6V7A{W+<7VIj zGoxjhCia8_zUdq8Z&;oH03ZNKL_t*3z&>|`q0sbNnjUu!ZPFGufZoirFFMQ9??3q5 zny+-mXoe&R4N{DV&kpjhr;2ANf!PFOfP>+_k<`Hgg1ZKxMJH-QMTs)G0+`r}xXvLf zDK!+Zlqb?f2xyqP&M_&X9Bd&f_}~US{nD17IrF{4t5x}jz>hpl`bSc*-2Ls@)z3Zu z!gIHseRYdCi+G6iq6q7v0;(%o8wDR^bOq0%HK0sk1ZvSP%C6tGAmLy zOnwLKB4qq{NsrP1abDkuXJOH4>%? zi&4xBGiQ}&v=Nf(g#Hx)8md5Wu!h%xP$Pp@povP8Ac5eGL0p;y!IU9nrURET62VQz zgV{`H1~N``0&g^Y+66bGiC{VK(0hN1S6*NWi8#2PTbUe1jKDVVB!nwpgd^uCkFh7h zDokS0g96ZOgkcvj8Y@Cs(PDz`)bwT7xzHUY==IY4IzsNSb64e$)(@knZe`_0(@s)Q zv^8jjnU)C*C;>E4G*hE61fk$!Hcp*pm_(&wvuOj#N@kO+SfC;Xg{g;ZAu%rv#e@R6 z1eB51650eEN6IJ?B*VCrNgok_$#W5?j4b4vkA2@SU3&djwzjrz`~TO6zcgFIx3>YW zzWVZSJ$B~%kY>K`l{Jd58MtqdJ1Ejzvl8r}Z4clvpsp}hG$>Y9M6!1T`UtDiQ>=0* zb#z^3+X}m@U5=$S7HJLjMm&^Z9kzP&OBc`4g|E<^zRi0Y8Ux~oNSeu_IF{mmOuFLXSwgCf$lhj<3PbfJ($5SfhT~iC*k%d zp*u~>cTG%W2UgkfC5%@g2%#x$EkSn-!X~r@v9mDqIfW-PBm9TQpRzHdc`E+5{a!RB!jUa zYP7IHXw5r}S|Vfzhms+dgpGm*r;y35cm|g9k@Ii#JooHbjvPMrUjTpmN4YKhkxj+6 zwzfX}^{;*PgXgz)@mZGKChh{keQZW{#p|x1GauE+2bPwhjxsjKLk4ZMqTXwv;^b0f zu1ZY{z}#7vWbR4l_^2|>CWFr+9V4sy-f~wqkFD|4nREW?rE?frj%^edgEk`c8OP6}QQ2nS=sf{2dU-9{laTBvTon2}sE!KWg;b9G>@3!<8M*=J;$9!>?M5u3^i z^In4FvQHlI&gW9bg6Fww9i>SlG53)sgyN!ea!nE$DHzS1yq-N<5sl(~4N{9aIZDe3 zO7OX=*l3}mT2(@Aw9d(3J1b0-$+!0HTPJTdbgOdJWFiJ-W zg0^YaRSj=@(4%Np3EhZl1>98=hDh*&g-Lij4*(`9XD_{zQO41y#7S5BqjUM(&;AE| z=j=J&_xRWS-t#?24gtrIkf03*-PRs(5f9hC1jk>JwjQCo#hD$IV4JkAn>>f>n~1Os?q2i+oV}0ys^dq^UBNeC-47B$2T#W#GI)OS5MLsE~wz{sJ|oeCxPWzmXa$;jEH38a zo)m3Wvh|KmqmbBw?6w(ao_U_zZol>4+uGXt&66ij?*6DehClSbU}mT)FTU{NZ@jwo z0^8d=9ygD{II%ry&SX`}YMUrCuVaAFsL`m>rZFIUt7TEODFaX@ z!DWuh%0@SH)^OINaQyg;mtTIFkKX+uPve_xY-Glny6zk6-67Ax(OHL$CM!4g#+B#f z^nK4-zsG!bn9$6fksL-c;`=!=g^eksf>N9&NDnDHA>bD0qNo>&rWOw-n&piG(H{SUmi%q5OE!o_>-pBo2R18B<4MYnR45ugM z6}FG>I>@~9&<3$-P(v66Sb4LIN}b49Y7C>e#4O222s=HO|nQ7};Zv)26P@6=4K|rD<~;KxyQVr;${F77U7$!a<%^XqdUr;wC@- zz`dNh;RY^VUiw%6^ij6^H)N58su2zQMC)7{1Q)kb1erRR7zN6tbqZnHs;UMzmh#$N zr#N@(FZ0cFm$>_z5Apt&wz>W=gm*9{LGK+b2(KQ@wq_O9pNGQ}xPhbDIeNbYy~bNy z2bipfOquv8F9NEm%EhhZS+O|-2j-UxtL@L{enLY`u||HLN^N-hk=ik%WyVV`>K`Eg_9ADBk8tIJ8FFy^LC-Xk%SO z`nh_yYC<)yWx|`h>-zgR|I|ZVc9$FPy2Zm#MY7-pUrLqL{)$$n5_8rd@B6V2`Kc3!`Bz{5hS>f^TnrC0Oq$@% zw)HH>Jr?tklGXDtH3e5h2^z%)1FM*-%ypU#Dl_`+%F#Omzy50v^2{@D@x`w^L2u_k zgJ@f^a^tNl`*a90UkDLKU3rjc{c2PA=hSV+02m_jgE_2&W*K_Ko5AyIs&&pU|oGvbUX*D`+5DQQ|!%&3W989t$ z2rHC*$5m7X@rnhN*KgkRb2olU9zK7G_dW7m?m2T_ZdK4zQ_X23!s=j9e;L>THh}#i z!Jme-F8C>ewu8x0rCIf`1J6G8to)xR@9@<%H;bA%0WldFt&v)$>2wyfU=mGSb-)c7 zwVOJ8HLqSI8;oQR6w#)rPU&ji5(d2)(KTff6h)W4dEGy`g-96_AXU}r;%{TvNTU%TIea_imbmx{I@_6_|4c(u5 z>L~y&y?N=^E?hj%n^(7~vm-L(;7amEx8}qC=)L1BQ$j1m(WzE^#K|?2Y$OCBw24XL zk|0GlozXY*HuQu%hp6NREd-ZQASAK~W7+4@_GPX+c{3b`r=NL(eyFUPcxlslyUW@0 zp$#uSVs?d626UV;j!X7!MO>`;p1_E?HucV!L1$47d9d!^;gJm@4SGBa+u{s#Z4 z58uwo!*f3UH$Lg_yz#x9yx~3c4A?L*>=g2N$ZLPxAN%gJoPX|nZ0~JR5~QHS0p@Yt zJ+2W%d@L)sy?t)E?u7s9FaJCzPhQK}=U?WYdyepHpZ*9s%k0zq(soa>>^B}c?N=@a zo_Orre*U#57+Q~+P!483N>9-0V$E>_m4kgEG$PUPIQoPl@-`6|#E?4BCHI?dK1x}^ zfAbH&;-C5Kzw%kv^U0sSgHQa-k9ohR(-v{8{P^oo@rFU;PNb^U+W7FV;@*>^T_ELKqJGhLhEFl35i9 zBhKm~jU5jZZ!I}7(QM{nzwy=+kMS=T>bs}kMev4eqiN^G@PzXAz|GJ}vv>e|SIwZ& z1Grjd)-u@4yV_8l1iAE_xk=908am#?y&B@`);VR8?UtO@?3$(orbn<{q*m2_kO^L1uNj-xDC50C}vV|F``STFm_cv&I} zgAEcryK9s%)(H}*g0}=&Fso8bJyQ^7_`&wsO{ig=IV$4CZ@cpbo_qc^`GrqDz;~Z| zf^R)`k;A8M<5QpbNserEl4l(kwnskmng5aRe&?&)c_ZQ7`)xOq<4n>ot@H4=Uy^_Nzx@wv zpZ`;Cy7dm$H?EtcBq5_Ff=)J@Y1bI279q^(b?*Sz2SW&=1(yibj7xh(9{Kj8e(Nv4 zlmGlb{RE%;gKOm2p#?S?l_j_%L&aN>+jcMcgItuGbsPL5n1V)Vud!2RJXvm*N9TwA zwKgHzwFER7AM$tgz#lsPZ?0gy?G<|S%{PB$Z@Ikj(#{oX zt7Iv32+b61MeZ`C7;1I$uSJE@lTge8(i-Z4K|ma|G&HXeoAgB8Y);QMN@m30ma}gh02^D0S^HUGsf04x{)m4A)?aQvBGk1o5P!#G9IC#_-e9{2m_)S zO>o`O!}Qx1`TWCQf@7ySdipf70@IGRc|E6ZJi(gH*}8Zci<9Focq7uYvweX!7D~w+ z$e9qE-qXNk-AdGsX~ijh)M{^YM>;lH1;Sidsf$8PTEVr|!RrXU=|-&wcK{ zrC{9izD+_%C~eYPfmj)VIj9l6655L5&?J(rA{ZuZB87S+wUI}^cZOl_f9B_Z?i2i- zU;haJUViy4zWmTbbh9OO1@F3emVej2#o}nCwGO%^Xa^j^wX%^H{Di&4hs!3E= zKn;zJ&YV5#Niw4*WoOuvSI@s{H{Ep8zqPfsbt*_W|HBU7|6H%Ewes9^&jp}ey?XU; zZ}04I@zQIq0jM_7IpaF3TF9ChBg}#_lzo>f1f5e7*h=Uqm`->Wi$Q2kw9zX8k?5u~ ziL(yhuVjHja}!84c*Jmo>PE1_a;N9xANw2r2cP{c-+bg7eDJ;p-3~*_*-HVcqq8Kb zM5-k(HM7~x-LNSfqKzJis0Ebf=6jIyw7wo82X&{iG9`=C7(BEh{q|+A$4}vTl$G@a zpECE58PyYqI_1jtMZWs=FZ!}vBM<(}$H|z7psXKz7azIrz4WVX&Yj=!FzX;R&n-|9 zwlBOyzqcaiHKt*zyOshXUUQOICZXfxzVJ2w$~XU5R;BURKJ_V1o;c#eXcLB90#=-(hdZu6@h)CI|0;UnRZgCImm>?* zqxfpymvzPI8xQ-J9(sn)f9|XN=5PKxTz~2~fA1guBLdspb=$q%_x=yim=Icl;HpWM zyGy_Gu3PzM{|jtvUf|-^D;&S+-Bceuwt{;iHpl5HKo@892FcW0m}XDb)Fox|sD!p+ zWN_8M_ntq?ndklqCyyWZdCa`=*1nWgPowAh-5vh=@=;$L-KABW(hHhlQwfKzqowO< z-5Ln4T6lL2{_bs&7yH7W?j@c`iff#}e?cIdr#6!y5i`d&XFT@6U3~Z6ySVEIFLB?~ zk8pRy=f@!ggqO^D>yMy^7WRsNqjx@|UhwGj{aax_u^ z4Z$;kMiaGxqEPCLc}$27?oDVKFw9k_tw{Dvu}&^ty3EBlFY=Ce-0&N~fAzy|3jbWM z77^~a4RdHJ0rBFn))#u6gLJ6v zOHB=_fiWl}h)eWHCqa8`KF9ZWCNCmLa9o&DAsUX9=_m0zpkYn!|JjfDBcJ~UPo4Ra z+;;Z|{qV6HC25>y5k5j!iQS&Ga@14TNiNNikx`Q*Gr-(J6IurKCzk;ah>J4nq?=L~w7FNWQ%aJngqUg8h*~8$ zUUllyRc5kZt7p%UqikKiirRRP=F_Cx9sT2%zR$7sZE2I1N{G;|c@G@F1vC+S1?{ph z%qO|5?us8;E7G< zlb7F=JKlJnn_fN3CP)u{egmGo=0ozz9k&44t(9ryG0mo=`skuas>&D})ibe}fVeaj z4eo|9Y7ycg+zrO)ox6-`PF^E7q!<)SC@UuOsZ!cXqJ)Y0E(eNu8tTwWkc|0&iOz8w z69@2ZLI_kc!G(D&6daYADDKTx5ayCvp#(#;fWRfQaQVtMZ(X|h*SEH|{_e?>C+olV zf~8Z-&eqn}f3my1%jL^&NogxW=onQ|S5G;M;Y2qtrLu4RWQm}W2O}t~W31{3GQ-;B zFkJ}jh2S$unD;d19A8`G;^iw~FatLU2UJUA`iKk5Dy(T>w_kF@@pqAbPI>5$9^%Q> zx4HMez~<()P^Z~|Xva`?>GN4yy&0J;Ch33`Mxwh1nh8k^+I+%gGT;b(pW)|xm zdl|ORUm^>%v7jLmx{jHSWb1kQ`LFThH(%toJMQPMAHSEbTQJsjoY9LO#?1WjbC<;n ztgX+86h_QjDqMQ~1yn)8#C>Y5p;WxogU2$70i$@4D8UT8U^%$jBuBXB=ncH~{3X7V z9^)5(;lrGNed%YObWA>yBfF z2coD|YcD}uAVre>}H#25=jh?|1QGy#mW=?jj z^hD7Ej9~;BaocwtO%6EZH0%8X%eQ#%{KbQr#=*D$oj*x9^iG=fP)8V{X`V2_2G}NI zjmADn>g7UPR}z&N)-mgm&?YBD2w1DUbowYSzVjo<_)(@C zVq>Kf`^(G;3Z{uzXShy7A+?M|chm$jQ57AHfMZ%Gxl}8ZmdOlASYbM+O*?pOH83#Q zXi#vs$rs^`qzBxrX6}w4GTEJU+9+akXwCC#z!Zuqu};T~fP!X93&aD#O-lzUO|tUl zMX&@-JqN^gs$9H$m8;u3?>t#np8)=^9|k@1=iU--ZEc0EtvCMW<*PefU0w}C4X#n? zyx?XS_+r+19YDMguHP5dKn)*qpK&xc>BAJn&1u09WC=fBa3q{Mw5SBl*Dave(1@vxPIyeSzif z)2y>imy6HU$=XN}pCu(HWj!kEiv^1=_+hzxkbQ^#m(eEDnN;F`rLe(C2vIn8I=6nUVUkN~BOes=33PoF!(_WqI+hfi?whIbI> zoo_A<`%iu39`3p4CQsoI|Ku}Ym2&ph*8F1~S|4}a)E?!Egi4jAZ&!W6jK ze0!&G?xk1#%-P2Pxc10Njvl|3rU@srEY>#a!ZxUK2#7&6T zK)#;9JAg!6Eos9p8~Qr`b~wx5*B8C?xAiE-Vu?Rulb7l{pi&gEseUM#8B~8J?yPw8M#L z1Q(fb?b9bh2#PQX*v$*oD%spsMzT#gEz}XM#Y3CKUM7ufOF9FuhbZ1$%aqup20`W? zMLbMqO&Flom0!Mmm8(~`e-+@>bLZq=TZi>_bzClY-oLlk-?Ov5&2ncS#zu48O=uBx z<(T&D43)VwG%rXSGgf;AERn+sZxc*RT6S-ffy0{7uO?-WX~7JSWSJe>VCc6QS|c*z zBxlyqsID3aA+XVP>|HtQPygU$Zaj4_*POWCAN-YH=1X7rL!SEP8902#@4e@4j$L~* zx1GG-&#WHd>ht&`&!2(r47v%M9dwIHw<1h|k~T4j*}DS!E1b8cyB2ZAEq8R>aYsi^ z_^^GEa~EIW(KAm|F5oBcyq9<1dl$2A1B=<~dZUdU+e>5nigEPR25W~F974ew&CLg$ z(Qm)T<;$-_j7CTA@y?rX;nf%4YFcf`W<)pU-`&KXk()tV0(fj*C4D`##l=hWV3tu^Ny zbL3&}YWvL=EIt(qs8dz@oVDg0m+$+1Rq&*qtuPJ&)$G~8<*-+d7SNdRGPAaYrk$+{ z%Ak9%o&*w(6EO^B_Dibr7q;(mQSSgoI0UY}1Q$OCxq_VcCkz=(VK|}HD_v3%qc@tM zTbMV50F8-unw@j!xO{q>zgA!87woe9o_vn4`4NxAJv9^Qx(1ha(AR`41Q9|H)S?XL z(MOtfO03Hv>WY?zq`rx3C@nXd8ff)R6Sl0q8Prx>LWdX%1KR*vaI~BA2g8k7lCw`t z%)}v}Bwqnr6I6ztJK+f=cx-fr8o8%|s*xH=;a`D^^H#2IUB}w$Z^q2oj-gx(0yz!ggly86ayQB->^_TzH z^YT+a_9fR>FUs9}_x=3`$HcQ!jz3(U)SW`vGmy0Vrdh$!)o0}DXRi9?rw@4M=n@u< z2gl#$*1NCCAG~{ppWx})m-wk)`B8cH+IgQ!!*T;P8O9^N{Ih=%=K>d=`;y&Xn)o=nig7Nj z`A>iKXLH~HerpT%-7^F<(th+!P>&iw5U z-{Q{4ugQCF-}IxWF35Q0x+gi{)j#&C{3k#2H9PrUMle+^y%IKEFyCxj&d9}~0*%Ol#=rwJc^$mQuZ zeyMzqpYzN7#_)Oh`uQ8Ete_#H8Mo}_ii#lttc_rcP^()?EDe%d&ub(}sny$x9*{BY zMVj8kE%*?cRK*92vWPKg^8U=O5EgmDVyg_2bb(;~`RS%-pKzHQ9tS7y4@()8t4 z-y4SEQjH3cviZ=f_ZdUw)c7Y`saD+zk1QX^X5Ce|9ii~cfbBY2fbd!pT7YwJ@>5Z`R5o{7oi?7 z+If$|iqrfUmcsg+VYRZ_tbEzt2qMlZKweP2!lUEF|NOuF27l-8{6#KZyzIaIuYQ+*_3f|m!L2*| zCgDMIbyfKi`TFD;kn3% z@1KAUj0fj<@A%k1djD;v?c~4mYk!k#7mhsl5lxH`W?HmfX780oZ3rH!(}oG^npS5IG(uWv z7hfejoN4J1W4X&;-`@4>$FJ}YZoJ5Pb=jAi_eT2Q7PN!g34po{N(F|nw^RkeG<&i@ zupLb{Ok`IgrpZ-=b;w?*_>g?XfCs0jpysHFn>t<6XpWDV&3Nk>P*okkW6Oy5>NL1w zOGh5(R3Hv`4Fqcx6_3R+icb-&MacMyM(xID#|$xOR9sG0Ce#0(i6;^B@AQg5+9=HS&{R_yS-4;+On`Tesxx?|si7-@YXu+`&KKquy7q zaGvUy)oQ@K!cbw_foFuXJ$-V&FdZ&j=lNfFh0i^6gCiX&G^ZekI$-gh&#(c)9ia_`PvKD_kGa@df^3s^^31EFO$6S`ukje z<`QO6u3Ww7Z+`HWynpMq|I$zXg8a-+{Bhs2O9+UE5C!mQTIAzfxBYwXd`rH6^INo4 zk}IEi5j{BaW)*KqOq*-2f(q7pRVJRH4Nj~A11r?CDbg}{q+tYgFeDIBZO&d~tGliI zx#QQkKK7Ti4{Q+9Gd)g;ERYE#X)QQ$2drpBSVqEXLsJ!YGa*E24G&dlWrQ{fVd-$J zaYH*D3HHd_8iI=asqh2dxw-S-d-W$IF+yiu^vfD`Q`_G@g~6H!k2D>+*Uu&)s5e(s zvKVW6et40h?iCgBw5OICsRh!In1{uqB|(c*BC67HIgCzlNhK2%FASoNTWN%t5GD+h zGAPj_q2Q)7ML_FX0)?C+Vuc}?n;{me(**S*VBRI8PH8Jy)JY||dlpkLE7Y2Kbn=*! zM~{B~_U+qWxPJZmo6EAWTCIL~2iB9x{>__j{+byq(=27lt~g3{Au-q@j*t~Uu!`4? zJ2qBma~~v=o3R2`GGJ8lvbYV3NR-J75tt@J9UnYMjc`yFD$3*9xc2n3+`oIvPt`cj z0w^m{2*QDmp2h<-My6@2zWH_=NkX5BcQQu|GQb z5bm8p#+QAbQQiwOdFq0XpE=~x>KUH7dX@7Rj{N8_iOjPvK_q(tSu?Ij+PL8$MPhE) zFfxn>tTtDCFl4t^^j`q+6O=imDo?>gW|M&mn|0ZYKdu-N6{N-Q$%WMuJ zR&C!34n3vHGPmwM;GH+$@OR$&13q~FUBCL7=eV#rhmLE0>c_v#PyEOWy!PGK{qrwf z<-K=~<>s63dd>H_b@NUC!t*cl=lsG)3!yroDwsJR-QD`lo8RHB@4e>5OuqP~ zFZj{s2r~FO@nlVDL-7^@+JKVXi9+;!tE3Q|u^CxA0vgqBeny#F@l-1wDsvWo>i8{x zML!bO`wi0*BusLrJnn~_ec?wjn#W*5Q#WRc2DF-MPK4AjOC1%X4bP*aGZ`hCyKYRT zsbhbvPj6i@yeX#IwORSoS-MlYNqhlERaA{oE2dCYNF{iY0fNzNO9fVv&;+*NW)*V? zLm)P==$^9mpcZcg0->##Jri&*5{V>Eas1V4b7Ykx9*~IhN0ubC$Dd8n)Z*F9L5K zA0O|p-O#2t8e_yH-7ovy<>`HF~DkbyywQ|q)?R2a3GWg+Te;aP{E6ssVj+P zPbxfc0F{A8rQt1*gEF>4PA)AQvB?uz8$%Opoj8Bxn%w{718+#bxrP;S^&IQ*K(0J} z!#{uR3KNq&xc|tP(^Gl4y+^f~njx5xtdb{ZOv1U#PxJKU%Y5ncDwUu1!5mL388rIg zpp-B$ot{uJS$RZT_8JDPM6szb=vsy}vepCA!9~tp+z@Ku;p5}JE)HwfapcfUj;EPf zh2Q_~mT&&{F%P$Qxp((A!83!p)Qp=}QridN(WBN?GHMOUK}bD8$V-nU(WEU;Wj;#f#5B&76C06a+%-o1#ajmG?jV zm^a>eU0%O=)6btfk}KDrC&cK?g&|Dnkof9v-;(3wnP2|pKf(X?mH%75`JI31L)gf# z{^BqAvRT_t>%C6$U3OA;SUz*;NH1;AWv`-^5L7K2M z4=oEiLEV%2qJUN!13}OB1=uXK8J30C_Op4Py3<)^uwMDGS`)Va*1v&q<4WezTc2?9 zLI&1Cix@@J)sqdFB=KNi>Z&tXz&s&i6|2eD4O*yT3#8iTTOn4Om>76d#c8rN&|t12 zOlC58>-hn?7Ga`hVdVopIJAMhKR8vv+X`yNXm|jVuJu|Cig{$B(65t5jsYkn%b$Ks zmnepMXbFJBrZOcZ1of#z#C9UZIBV)Dn?JmNDvz%{{;z?*_u#>UU}pA*X$}9-2i8X) zee@&S-S&&k7v>5zXD?PUNxt|#U^EU4A^S2<3_)nk(J(+t&b-i6P!dXIq7ZfE%_^(V zWNCYSiLb!2yBL`$CA4m)4^T41G5L+FH~8e^J09IRG2@Fby}*xu`A7Zu-fd1#AF#FA z%`4-%ATvUjv%fqyYvh<5>LU&Rve|5qIuSY#-gm@&v0s zkEs?NoxAR9@0y(v#^wYwPhpgj?8igV@40oLk1#tDYliJZGR^WN=Sy#L4t-|@#Mk9qFt%YNx-P0r>JP{CCrpqy-H|AV*Q=KF7a!*9Ov z7T2D8)<5_1mn5W(ao)v(^z@H1V3{ufj#Kq4Pn!f$hxKlb!-xBOTZx1 z9!oz=j*YaoCbUTF7QH^6GVx$hs0)XA>nCKKBZ@Dg65WP1gBHy3+6>r0$fPPnGCRYO z%9@!bhh9(#$uO&~Vt6;P;Xb&?83ahJ(J~AHOf3ASWt4a+ZpDp{9{)E*iScrp19+R7|RCLxg~NN5gjDh>ObN%*dcCzjEVQxqJT( zV@m$+8(-)6_-%RR`4{}&>5g2p40-nBc@ZqL_{@Q>(P401k87nwwHIZTCY70oo-*O zar^cIK7Qv-KK|$}+0L08&%DI>OII<3(6U#J!npRY{MOg`m%sbFl2%9DyLXT2__5?i z4}3Z}m50Z7IJbG4^*XxhN;E*u+3(%CC-1-a8gJhGJ{O)k^5;MIvS>({yZ9gs%{^#D z#Uyxh(+sq#~VR2l)Hi_nys8qN!bmU1e<${XnPED+|q)AJ*K5g5S73v zltZ}pA@?i`5=mY`x{Cwbc_k3Mipq$2aTSAMgqG3TgqFOdQ7T3)Fld88r26QICeqvo ztzwo~%?1gyCa-A{p}F+RTwHX&`K&ZdqP712Z{`l7AtNMQog7x(8Yi>cg497=TclCM zh)8J!3p7n+&z;Z}~nUM3$oVJ`z2b^sucDvJGeKLIip&VFG z=2wqSPX3yCA2`I`{b6Q=IulaDMX{VohZ|}>AvK|)QUhM*%q9hLXi`c8HKZ*akzsuU zp}ol@c_nKCA+b9 zrAcI=(ayF!dVGdTqowo2lqDf(&Hed2Tys`nbMa|jUKjbnd+)Q;L=BAx$Dc5rJeH~s zRv20!!(N{w#L@%9%vNmK$+BI1x6M?6OQXQ_F>_usrjeB_Y^@PO1~rV-XE(I|5-iAC zl%fqXJeo5HI&`j40Fk~jZnAy!Pf+}gY6&_bnX>f8VI_faRCkof*eWXh`=e|`8ad>{7W4A zirj|o@eDwVGSfg3YpmmlYhs;{Y~r*)?3@$uz$(t90uzDe1+&mq>8(o=NCSm)R9S!n zlDh+V^ZVGLO?z0MG>p%AzXI3^MrsUWwxU5dIzN$?+NK^M@ z1;sHNL?raH-6w2FP!ljSnqs-KwMNc~-Pyv!hbO=CLp!jZR9Cle-+tjMU-`;QyLk(^ z{e1ZYMHjYveLa^=!B&T{7T^geTiE0-?%d~zbF!gxR)61fgUB0dD9O%xZj zPFNg0wmCgEyK?5d<+Nuu)%(G-NDUEnb-KL<ovpi)A@Z0-+8Q#AC4 zu?9Rz7A)g!pegPy5R5Q1E^anF_~0Ynz5M~oSGjZPC9d6g24l_c^dYam`5JHi;0GL> zJL1N3pJlT-ax)WYxu;bXXEdP@x|Csr(u}mZ!c!M-cwTPF2e;nykMDdeH?Dq(t5-gQ z#3Md@aF0KDmj&wO64oO{;IvPgr-If?~_CNMbF8d^f%`ZZ8dZ=zy7;HIzB zLq=I+W_X1%B-ZQ5m>W38 zjh(1!ni#}W+(GE%_)= zEOl+5x|?PRC80!eT?74nTO1~7q-N~$B-?Ew=kg!jzJ2?t>({T}|06%Jo>W)wz4y*9 zmSVvSw(}Wza@t&b%iaimsH47q2j#KIZQ6F`IFPOXNU|#+J1vj0w>m z{7LN~GbtT*X98M<(}$;Qjt;r^@dp$aETUz%(zc*S#vzx^!n% zHcC{AZSlFWwJn1VY{m@-t8<)93)q6S>?*=SBw=`IH0`$_THW(RjfsRKgCfDZ8CWBh zL6f0oAli{3NZ(Ga13q^Vp8&)9BAZLkGd%i;4?p;j10oL}E!^KeB*wt~&pZd*=|qSFtB8J_SXCS*vZ%7Vi)?hL=VF_T*K-zq-hUdhp_tuhHt?7rwQ|g zeL~N+A8rDW9bM7V*s-B?uY&({7t(~yHIPe$=CsWzVevk^e=PjY+n?~!D?dY&krDz~ z8tdTfwJ3OPBvBTPXfcRTJkUxeXs>eOFj5fQoT7~y3WF&jbQTuOm?*&=u|^7&MQ6M> zYXnuAYoCc4EGT$JP4*!$Ys$VtkNXs+2|-o~HD}d~163a9xre*D6RoEmVKbSC5l~ZX z5XROhL1+l8CT?uS$BaA_zARy~CQpDQT{ zS^JzUHOIWckWpiA7BwoukP{w_)l(NZmoLebPdGl=^6>EqSFc=Vg+m;$HX}g^$ygas zXUTiWhPB7Er4cmp>@&|`Zc>r`fU+SDb1|`O9k$m5i%!)BxlnRt`*_9(q+um#Jm)Dz z%o}I9%Q+TNLC^SzjjtE zh$J^}8c>1fu3RJP&v5h2H+bvjCp>jy=E3PF7;tiT%jUvUTzl?1>D*iZNINg>5bzq#k*9<@#r3&^2#=@I86&y$`wc)WrDc9!q(|{m1b1^Uw0)=f5Z^ ztthIJ>WC9aOgI7O0QHJI`CMKR4HzPBj;g~LQOg9+d8a zBO!pajlg&bID}{d{%LwMHNu12F#aZNz6@Lz%sr?{vjTDimYr|{^90L8D?15pP8ua# zcpA=Mqv?4#-ok044VADA^5CsE`R4~$$xmHF+)!2ogRGU6vJVtdJVZqH>Cdf!CJ7$g zvOuaG54~T!7_Fv@S+W=HxI^g7s%dx}ck& zWHVCe%C1lywQfn%^MVw`tM6OSzEp)IE3&gva@FpYs1TZ?Va+tSl&V;05F%DGIgrzgxAhe6EFhz+zj$jnkIV+^cx#Z)sD zL5dOG9E>Cp^A&}~6ICn>eK?O&%}`yiutII3X`mIuRrqw=&Wxi3aRzH-0$v46O3Ix| zN`Wi`0rQkLvblD^vRk;f-7@7Z7sfS*I>m2-@n$;b8ca^v|+ zym#|mrtL#&2^^&txbV3ymL1Xt6XVcF53Q#gH(8+pYzVCKK)`Ubewb+JnVx1K)@NHb z(3;}v7!!ka4PP*0H9(r-+36uX4Q<>nzsBciQ9xD%-9a7yjoV)mji(6n4yJFx!RV}S z(DagbgsXSPRM^op!RmmpSxW=?0rAKs)oY7jMzcqou=5C46fjLZQ zRg&!b(>OU62SN+vAuza+Y)2!YI&@H?6~q=qg>1%%qL$e9MiI8kIIdxuo8W<@001BW zNklK@vjpwpxqj8DkCB(2^mpyJ=rHJSK8}Hu5^N+f8h@XTS8M zgZuZbvi_Y1*1!3S@=IrD)3umJ!mfxYY|HFZ&JY!?#Y1Pk8Oo9UO|I&D%g=DnU*49FO3iLU1$49+6f*qkUk)6fJ3~E13{msb-kyH7AaJ zY0wO8W^A4R+^}GE6?l$9>v8123`!-X3RKiGm11fyn7*oxD+G=Co%WT zLx~jd;D(yJX^?8e-tZh;nlfobT5$6nN~SK&$MuGFt1{)iwKfS+fk{9;?wR;^0vNLv_h&9Bqy$b9U1p$;|7R zBrF$vo{YL%qJ~$ri|h2a5_V zOP}FHp9YcW3!q+fpthxpXRT5P={1IFuTn>4IeZE3-6UKC^b*j7FzxL-``f+&^J8Iq z*V|c^umhI8(LF+Yu-_Xh1lB59YUkza;IcbA-(`TE0qna`nURS8t^CWjLH#&bO~LO$@ z6!qdAw2%d-!8~UP``S%|@Nk<6D2JN_y7B&U7u1qla?~2O2Sz;vv)u6OY z4AO5*%|d`^<9W)2Z{OaWoSeK;N(MK{XFKLHQ_W~rCHV>`3%ZlDWlQu- zbCu$QET*4Q64gvVs4k5AG`rD2M5J1luCY;$HXA%dETlf((?$Z4^{w9Ej=D)|LUaL1 zs4KyR6|GlxuHY^`g0za`vhUT<(CIYx1jne5scbC^IpY?{&1A8eYQA^7Ph@K{)vcIi zS}x@JSUS8o%Suggs+@_;g6$Ux=Yg&qCV&-uq0O{fLwTVGH4-J8LS{euhs;-_MbN@)LwN* zoyZ|ltS~hgeCR~6B&a7gtf@MPh{)LMv5qsU!p<5{MWrHc^sCWiZ9y~{I*h1h(dIJc zL$EBxVV5V&x4zv@EQ|e&yZ_M)-JiIr@7}%pW2KZE%aVyCcQdS3*JgxdlzEH!+M5}t zyHjKwIXbxDIs~#C#R6SmhSLHT0K}b6e>5Nw(Aq1F$IBKB)bOS~U^w>fpGG9hzJ_)P zeaF_3u|)6nKmZY%S5Mkln)(ckVq`L*DTsOo)E37JhWf#HNNqD#g;k^5ykcW(#$XU* zbfH3Ngb-*Ydycg)kwc)E5`v+=@@lyQ(BIzQQu?HJKOFN z&KtL}`Tyay6Zl83T){r~X9*64<`xpM7ccHi;NC@=6=vHJn9)I*jHFHm7mv6UrkDvOvI*`pD<(2Vb*Vk~GHZjjcnU&Ehux;F%C1#5 z3X`fU3#B!7v$0tU^E`d_&Ye3i0Pp<=A6O~%Yv%a)_{(P9eq6MY^MYBEW)61h3jrMr zX|q&={P4u{ctFzFhsF+3BTFm&2k(%=T8hmcHA$!$k?1xc1w0l*q~Q`VT$(oAq9+2; z3OPm^g9NEA^tMPv9dBKpU>&&W>JGRFos41J!yJe) znUEMUGiGRzN!_9aNHkg9^^+MHU&P+q-Ip&N_?HC-&@kvQ!y+TT_`bb;ub=mQUW!2; zA+1;pH*C!_y1X^ihDd18pq2$ENtK9&Duywn1d5mxM04m{!?KMzcplCkP8x)ZkbRrg zM>aY|d`K)PTQm3Gtzu;!;)No+EzvBx}stFw8__M9E4> zfoKp$n|me^2|S3BR7M9Ggj+^N6ZID2E<-dzLEXgNV?KQXVQ0k!UnaGn_OM8zbed`C zK!!5O5~D`EC3{w<KS1&KWDQ*8jOM#!P`m0FdeeH zhW4F5{>NYE&%XWN@|{2V-}&xm|EIkB>BD^ZNdoPnLW~FKiR(5ML5MiPC!QSte2SF) zL^MIkNGlVCt`4IjukYZ8?>*xOzw&GBFTPIp5$;OYEMhSiLnQQIT&gRYn-8SH@t zd)#3pS_;ex5kuSxd6Wo!0ym^B65WU%Q9Za^F4TJbbKuX$82nwcte<*d{on^b5Fp(9 zfAMrVI1b`?b8tBHJ*-na*Lvd{&7OR^yZ&WLkb;YZbWDn7mXdWmW$uTcDBTOgHT82hyS9(Aeyb-F3 zhygVMnK`&N&lA)cDM9Zz5>^c>(1#;UkT~gH!b+XW;V3YI<;vC0R7PxsgN%sEV6{pW zB@Yjgjqr;29bpx8&H~MBwtzt-&%^?@Y`8b9IW@xu(cHwe(8i!zXEkS=(Lqz0tT{wi zl$m&=20jKt7?2b)jALRK zy3RE20t_9*$Y@k-G?HXq-8BB^U;TCdo&RcBb(xl!>ng_*DW>+Rdj+jAsOY$xRd7IU zbLk;D!p9J;dG?LznoJrVRSYp9B1mIMXh958cxcJuLx?6pH-}k8^kZ6P_4r`P&CkQGdYE9e&>&UpyS@N*X=_3**7lAb#&VxL;J<&}`*LW`*gR$Mt z&!=jXW>gCvE0{Q^p3%lG)eCiBqSh|2U*G>X!0-Nj2Jb)hJHG$@?*s7kwEwex@6@`> z!~Tl8?~FdU#G{;Tkj6%7;Bqf^nACG{zPaaoeLuH4q*=#+I8KU28jf98pdv|5X=qd& zqqDJ#;RKFKRlBNoV=B945Rt{lz_JJ?Vm{ceqy1(x=SEFLLnz3+p&4?6i^e{O#z0m? zN1qxIJ@ z4DzHIgwvD4m=%O5GxEI8i&z*CBDojwGB7vrCa#qT7sIZae36UQuWtO}f;oaZMGzM# zV;A*P=J?8mR*;SieImw5=ygN6J(FrT%Hw70EdWJ8|oXHb(U6O3;dBFe}2?X6pnY5!CZU^dRv+NhC0auwqI=p(~H=F z2OqerP}Vu%D+4n~(aD~$$l?TRj;W`-LTAiGHVj%}8-=pnQry@M13_F*fl4-^#=sm2 zZ=4RT1^ZKD-}hht|2@OHLgM4)%a>pOH~;4Mey;VsLrud&B3e8hPxv@_(!UVmHV(QF z?~}KOncQHfJiby2#P-g6tXG=DgSL|jF*+V|kUbGClSaA5!O4s}I-)_zlQ!ZoJh;WhhKFE8F_Aj?^VS0u z0bitgMl-Yw>SN}**$}TrE(N^L16A|fMOO(X8)~t6dwQC4H1&$t zLMwJ{Ba!f!cBLp(uh>D3qxsjZU z$u1HWSdu#W96sm5L7?XN7z9Bv!!+<@bMq@fzXm)M43d)(n%#mQU%kJbg7`rmlQQZt zI0e~UaSPEHQEjF%i>UOlU^Ip{q6Rlwgmgx)1M<8t&`R=!SM3$rpm2+=iCPDPRT_hJ zN|~YNYlPTrzpZS*g4U<$S!#VQfv)>zykVMYbfJ)szL z@7E~i1Z@sbnXSu^xjnRA#m3bPACNS2D(pCAgxDOK(s6U z0ugX3WHZ4Mfnt7&xuTMi4u@BW!kw-x z6x0W+h!`2OO!0zSnTK_B9wp1EHcMtPL^HYELJ_jP!=^Kz^O+s2TY<8mX^}hzH@Sc! zMH+%)Vpv+mu3p9NP`yqlU^9B{@4R_)|I632L=c50YZei~{RmLuE|RdrWW0%!@M(tSsT- zWHE|b3~|hZ>QL?slODCk++f;?V6oOAyAdK4rOS@6A*7)wJ7$B!V6B738fHT@Cq`?t z4p2g=f`gX`lL8QC&dP)zdUbA@W?&y<>f2&O5tph)<%o<4ZsDtv>m#X5n}cIuAKYjx5&uX|KgjX{|n zgno|8WQQ5qvQR8n_bDoGD~ zXv6|HwD2Cd8YVZh}?!n5>`uaa$hZ!lhGIJ91!GKfbEqK=iE!qw zX0Q|k$<$i$A{3t>;V?s5#U}kUo~9d6K-iVYyzMl=YRFLHez>I9plOf@T#Lj$A|;b> z!fm=aOpF~^G>6lqSq^2)XnVP)1&z$e38iB0;$uWtlWgZzCO2oTiin+r5pqEyPhNzK zBotQM2dh0`Z&Tjcqz{jw2Wlb4V1y$zu~P6dq7V}DPvyL)ze6y({r>O&{ zD*L#QY7n|$mO%zJcD!{;-Vhd!aZe6tR@kI)9{00|uh$2yJI}W}hF@^@*>^V}HV~zC zC-8f_fCU}Fnev%mw%T&=Lu*XTVgtiIdJG0>>5#tGQAz0bt zBuk>wArHJ|v^uU%62Wt34Cs5q)&jN8QNB15f{vIp1bqG;9ds0HPMbCEj3qxGQ52U% zKju|Dy7QF4w9u(^(V1jKM;r={kHqMXOQ+hHGm_ph0jto%Ii-Wn$B9az#<-ew9gmqxcqIi-{hlNureS)<2!YpgZWfzOXG5{suIEniic#ja zT5U#9_Ml|rI3U`D0;&LBz&d@}pKu(ykWwPF!>IH={df;8SggJsJ5jR}HL&iKQs&R_ z>B{Ijuklf#C!dy2pE9sw(^h3^ZqmC>_eSZkdnF4r%VZhUJ_Xl1L3pE#io4-vR|H9* zHt22V8rh2ZVDmso#F&CoZ)2XE7&73_^28+D+|;-quuiR*8weGuVH=1qRI~YcrRkqd zuJ{;u6w-Kr+^G!?m`l3Y=|^IJTG^lWUjz93^Uwa%E3CJM=lfT$zEw*3rhDUfa}n<& z`Z&29`(#Vj3wq)0x~x@D@7Bc9cRZRQ%!;h*(~9; z2L?5K>a50&+CuB#czA7yL5|Fb#tHH6oJa`8Zb2H9l~fzG zD8^OPiIUtSWU6DAfDlEt!p6aHf;JxvSq(;IVAOL*wjAo2!3Z%ED0CVeZ9bSvis8Yq zgpNuIi;$3NFsM`Z5t(RUMM6jtu``&1a+N%T+Egi9lKrfVG$px<4eBJ!gl3aOkD1<` zuG3IOX)JZJm|PpuGDATMq?V`=u}YR^EtD=Z`DM(O@ESFul*lE~eA=fJp`>8U_B@hh z@c^QRIt&vOB@H5G$%CZ@Q4RMhxj4dtyOT*M8qsFEr>X)SQzJ&3!pgjYTR0%5sDsEd z4?IqcOIW;+F`%Y}m1Q0p-k~g?j9pd#0G1tSScKPBT`TdBo@MUpv1spA1|_2q-4>EUeLAGvy&&3&ejkJ6001BWNkl<9x@(XkGEKh^djhPY+`+__)xt ziS{0t(EAfQHarZH(Bl;IH{s`VX(r@UVTXNfSk2O{LA&sVH8M%eGj5N_ql@|$)Qd zQtLrk9ZO1cfvEJPm@l%ZT}^y~^8~Se*Si43ktI z(KrwZB1}drVfGw!NHh(1mk|eADl)d~wbrJkhJd3pr&O;c*Qy1PduraaPVq_;8XoL=96D#HcB- z*k|IlhcH%#WSWPc=b3=-{O<4m_kaA;V(kCMuYUUJr!oh>`B&@d5XR9f9v){MT!y1# z6U#8EXg|jFImO-ph~?YJ$0Iv;6q%^hA{S(wLCJ*e@%k_+HhDUpTPy;&$wad>qLk@LwS&9L{umXlizJF6rXK%yB1v;>PR6G=x~zWu#YY!Qm8-2wofO+c=6ey zaT7Er$wu%R`W;6)u*He<&nfW~jA!C{VphYi@m+pyq;y2S4UYboaF#grocbgYsl7+G z>x_sJmMg<8+=pb_utW^+bJg#Lm1)Y3k%HL8md;=NWQ**L>QCVy%MHX~;p0=WJkyJ) zMBYA?;qUN93{QU!#~miGqp=H&(CAm&7BmO-dr}fEUc)tbE(A-0<91rgN)y!*?RbzZ z1#E=>e% zV8R~6O?^Y{Lc}KSjr;po{~7SdKMghWHy&6&`N>ZNh}PO~cCYv#PLREx(P|Ypi$@ju z(MbN;+@yPv=RD`$DxMn4`b@ewN%ttDkTbX^3HR_)uy#^uP@ZF_Nm*vp&`i8~q?!>W ziw$M;gUiE@`SQ(cKKt<-UiE{!=espYB^c!OU`hD8)37!k;1Y(7s`tWS8n5T zX*{QGw>)P-$125sCJu$pD@uI_r%2;fMfP9IvNGZ<{C(hm&Wfk== zV7$X(H=Ozz)*$H%JSj#+^TF^!9?!9i9IZlz+wqL5N^5WE8kDgy@{kn^v8UO-EbmMr zMtZ_4Y-PbQ8O&5&kquNQH8Q<{SjF8aW%8by8QBYx9HQc5vgB=Cpd_3^>L+C@^eVh~ z_ChZEJz_-kO~gS{4rj+}rG>*7qM9*-DIT!^7nKsW?)a$Cjp4#nwp|!{LunyuONj1L zQlW;4nbD6POEEm^JWSLi7pM6VX739QwLL~eX0bV%M|_HrdnIJHoKYV!D@Y1@AB?K_ zI3}W33uY^0>{Em`ikQ|=$uhcKA%|C0gb2Mmk~&^zLb;;zPU#Ixx9q-S(OAkx-Br|# zQk=?cDQU1+!lR?fFm;YvB-_Bn#4JaZ@JrwO z4esRI>=agak)m<7Mrt!w4Hv|^IL2av>U>~ZhLs`GERs&@u3bMJwG@Snn@Q;hq8dh( z!;C6WH5n35 zaURZP{|P_(^v6&w-uv47eEY)}tht2Q-OSRFC$v}GOSn5F719($$LW)gUF=sTjLRmH z2Dh-a;Da!A+&z3aML$3UPA_3rD7iqpr^UCybEr9~6dYr(moWdBk~XqwVBci#57=13 z%s~}zJ7RaS*$oh!y)lMP7@irOyKDZQA~~^1rbZ>pb%=fIS3Q`9xrkroewi9WH_RMb zBj;~kOQ6aa8B^%3;YpEf(b>szL-HNs*`%yWrSl?&X0kc0Tik3POapI;sO}U7*gGMc z^5m7|BkW47bnj?3OeBu(nB7E5M$QqnwYl}mOMsC#Vg`&vWGge6p$Kowj8bl*wwNYv z-&pM#g9s}|=9W4}s7>-|MR899G2TiSM`&X0m(U$FxF{P8G_r!Fk;h0Zxsom z(nYgGvbVr1n`ux4d2t_89pXKrfkzG;A6p}uo(>TsL|%bA}qXt%A`zM z7*tsA3it@`T(bs*a#t{4>BGaPmlE|Jx!ge6akEf|C--oiEpIVxZd3Sb2)84GXbdur z$0YM+ytj~)*%nxDK8{b`|Cmoc|CB%cqd$nxU;YRF#cw^vdi!fs0Y=5mNG@cvU=lUL zwD8&de)k`w zbpM^-`JM6d<;(nsfB5gd)4NBjNPH#eG7j4Gz@4vwXSfwe#slz?46G+wYv`Ksk&v`O zCHA7SEC=o@6k+HcS`Rw+jJm+GQe=zfPtq@r(>R`9^P^ASP;NfrlW%^&wk|;6!|`!o z+NQo|q!2OL7Q-3gRYjM}R5(jqu^Q{t`b0xYAu(dalXx>m9i#%gG^8sGLHt!zZe@5v zy9$fru|pLO?kP-#bv;kq1ow`m5sr&QP(@IC2d}RuUf4QM?j)w~N`ok7vim)ozCc>z ziAxYFr@UgQp<`v7gR&?mPVH5oL=2M}2SesiIMoX^lwig#jUiXqQ=&gO$ui-e&h^ZA z9_SD%lv1f=7!t#)U@_B$WQJIrlt8--Z-jU(`A&Q&+m<-{j-0pH0^WE0IuG1q2Ql0S z{r&-23$!az-6|xZJ-9akK7D5xv znR+}>YiC%CLXooG;5-6%lmU@<8Y|Hrk@}o7Hdww0tct`9)Ps(&BqisA`ubgx=!`Jy zN+bhzNl`*alEW$yGyd%MigZ!Ucx&OdiTTMrPSP?r8YEOttQ9;1V??EJn;E0U(nee__B59dOptskxH*DS5sZq}xj-!6_<;$1y@y8$k z{bdc)lx*?azx~_aJdS-GZUdUkY5t6QHw=kavmB54^ymRAPdxP}d^{&Y+67V&J^k(Rzz9^RtR^b zG=kMc&G9`=af?H`g)bfM+N>0Gc?M4pG=sXpb`tvy!ZnKzh57`yGcjw1dz?_Lkg51J z*X8!ACTG7!HYws|f)2v}DvQCKxCnBiQ!CXSibE>IIY&d%A7R`Q7<5BQn}Y1OCgLeA zn`-hc!TuH#=5yw=l=(VNo#frC&voW=#`W(wr&z0Ogf9pe7?tRS8IQDn6*&D>0<)D_ z9Z;|H^()@RHonpZAy?GPK3yf~SJ;=gKQFFd7b>t3JieUKy>@*wx37M06p(scXNt>J zU^a`SxcWZix)$cjEcz=JR{081bCnBRUqif&r=ObJum11b*LwHYe#Tcf+ROQW3vgZ$ zHg#%yCnTL2;+n4SU7ODzW?0TdWf;P8eH|TGuHQ5M+WY+W^$z&>7vYz``=5u!`%)-z zc$Ks!e&e70X8hZK`#;F{|L;HIAOGS9Ec#*8tdd&;&$udG<}WB-1F`8|D;c6lOch-u zX;QTyGdYVij6$R9Euzq?)5jBw6?Uy8ADlgNnn4?(XjIKCnLj ze8z;`-@p20@8H8ZdZpE!QTtnIDSg~xG|V>+5mwvL3O?SOd+!Cp7plN&U8Rk^bH3-D>A#D@#b5Kozx*Mee*Pua;o+F! zDAel*s=)D+`EsBCwTrx7FEX3MbpYN)><0X^zjh%;%y(x;$Zs#m>!)A(ywDmjSGEZ!hvRFX*Q)XCjQ;LhNv+>rExs8}aRhdUYImxnAr5 zPjKGNLx(4*3C048!`%X}>l8*_F;mo-cF*MC%luQ{-duZ~S)=ti`0M$4D-gF(()?Q8 zuCLwTh0Va1hwI-`XWZRi-7x20-Qe#$gNGCROW@|3Pr6<+CmO67co!ah9x~|y>oQ+& z3&;bOo2eeC$CSjCC+2dX%-@|CxY?jS!fDr~XM=ZEC>uOgCZW*a-FIPI;m5DQXP#+z zgLQ>x&*AzJdG#jvd*8cw#;{nqDtPhv&}<^{n^;GUa8oS)5S~wgY5^+go^iGQ2x}%w0%3 zA@1SjAH(h4|HRLI{kM3QewI}Wml4>F^POM%C;T6O^ap(M!4LVFk6#d#Yr@pTEj~|lDR|^-1oB`jQ>zs?AsHc2xPBoC z*GA=rWEHbDP@{$i<-oj9#KJwXq={3h7DTL3mjvq?U$gg6D=;c~vGDVe4(xstZZCN6 zof5_0@a}Ltdf4;9<6}@(VwD%T?X;+|Kh3N@!&%)Ji^qAuwi4T792lq7c~f>E5vjml z2|p%AcY98ZG5hi7@4Uz3(*=0O^Jgpj(~o#+34W&2PvYHoHrQ|Qc;IX$JT7&8c4bM}W6x_l-^ ziKX1J-WERkvIhbs3w3vFS!w-q?(RP1a{m`$+`>^tplP%^CF(5UAl-clrPSnr4tgLB^zxn(Wy#r?zoOZsq&el))O^B>1IzVSW& z*Z<`|PBMfwN?OBg;oKjn=bUxDIsTISn@fE867KK8K0G1<9+L*)q|S55CEwA4D`q%_A^uz@}gbr^bXn3`45Mw!s16+OakdIRctF8e@8D%ZwtsvAbz` zib@NmwuEeOI?`*EKKv8lkN&p7``_v%thN3^tqr_#_QviNBhzcc-RCO651>ZUirX6= zdCqEidJK8P5{cqL7H3I;+YWZaCJR2gG^;V{E|y9-`y^$>5=z1BhEzItH_xSW(A`5d zNiJ*Ll{?HE-`(Elon-R*^1Jo;{uibp9KGw1a~rKAM?IX5@(<^7jf9-@91ZVxiN z#=70e-STdT-N+YT{CT)nMDBotb=??#;nJqc`!*HIS}=plWv9IV0t~73i?H{;DR}3& z{Csr#fqe4Ow_(Xqbmw?X^7QnYRBodBE`7hSZ7-rx$rg;3s%U2J;hTBfj%FXgE z&hr5?C#6NE$YJF?C)`}jq}LQTH+R&2k-hHx;@vL=2tH=+-~M#rZhKF@_lv(8|M7qO z_oQ;iSt~b75mmy>%@Un2iXx_Me#r!(FH}>k1G5ADpJ1X?&byO zelTz;+ZvXUr%S~Tj}JfjSbp^K|B760D6A~o4U9g8w=}lAu`KHZ393h}eWJIA5FCobp6crA%F4WX?u`g{H#aT()C?CRp$ECUdH=>a z;o)xfv+tX2;%&-`#e`ztLDWD3uZ17?Kf_Xqch|S%@(uT8=fl@ubG=+}?@@hbeAYbA zbZs=c2TxD)XhEL-CJ$loHQ8WUmN2sPe$4)RVX~|oE|-nh*Mr*5DBD6QE6-n^SuHcX z(H(yN@|nN$- zopmiyDQveJxAjJ)lI!64j~{3GC})NMR_OjSFF!xSsjQaRXGJu;zDjG2;hk+=XQ7*5 z9V?a>Tr_-t=DV-IrjEi7pMJ;JF1(At6hm~66QS~so%wwcW z1Rye}br}Ta9T^kh*joK7fcyRaPl`1x|LH&d$A4DqN%ceaXwmjN-WtcGDACW?sK6Kr zv5q9AYXk3LEDYc91c}1BD5E=gLD|u23|YcTkj@c~vZjUI&#;tOE?;xDfo$_EEaw@B zAh|>zlQi&jea|2F&-~4Q`EQh`689fJqRHds^GVIdpMUigwO5|+UpV*soIPac?>^mQ zD<61!dBe}=9TjE2?;KIX#Q5{CzvAbge$Q@7HrPmz3{Iz9u1FR>J>NObJDU_VTa=4X zKcBdPy?w*+y2s~F&%CX7TJ4;E1XMP^&SQjk%nI%0;I*GD+ZH_`)*H)mrF&!3%*)FQ zloiD%B4s$Y6?81@^(3uZ+%7ku@#zmg#rE`$=Y8k5zxj^+_0E6W?~~o0Qrxx;kIIi9 zzfe*_RLNrazQ;>6-fkPUIp)wTSaad!IM9HytWma&&5UE;(Xy~}vVVN$!}Tq<4^Q0p z%2AKlUtYPc8^^J;-Zu98OFTW@7!T$bl>>a#T$`~j?x^7f=s?;dG(I53o8#+-kG)8}ol7!AijT&hL9b;QT2Gm(- zWiv%np`FhEwf{gK&T_p@kgyQ9+lJ)A_a8q}mcjkw&axT*=3oEo_~GY2La+4WB&~^% z9IZEQ+e)>C|N1w714xwH#^-%!!}+{kSuYpvudnRKLHYgPvXqq=1OM^&B->D&V;u2z zyW+2v^yWg}D~F$)XN`aU-Ea7KzvG;ga-({p-MUPw!E8 zV0N|(7Gj1kDVBN#GhX(e`0CwXO+a6a=q9*0spcpu2pYzqo01ST1_Q;tk<&ucgwZG| z2dcOWHl|2LSdox8M+G%@m5CRM60NzokN^2G9{5k%VZDnOziG{B?)d)l%dU&u2d{B* z@FKOopE->&+alXbf#PDihvbfr0{MoYGgvqLPO&H2Y-@;}gtCZR%%fN!VkIb$ymB2z z3m2Lb*~982i41|-7PedA3IWSAy8A&2Wk4xEGf{2I}Q zxWLhSeApJgybghkIN_G1Se|OE>y@P{269_(^m-tAplo1@u7zRFVjD4#-Vg2r)H|gV zN+|-w8F2gRD@i%WdozCe_#?}@u`cTb51Wbi9s}dUn>TZs&Wx&qRFXX9!XV|I#e*GH) zrw%9ez$|kP=USkqRU}5761-)?4dufJW~WmL4p~}eErdN?a88ynTb8FcieF@p8giTb zC1(buwr!)R$xEw&I<%1UtYHYg|ViY*F7hyCMc`SR{9`l==GGuVRD=qH%ruG-v(@E@r&hu5+{8#`ON> z4kKYY4^6v$B?%(7kb=Zm;Yk83MZC6P`9Pv#7F^V#(KB7gD@>-qWly@-9K3ObzOA+_~KlS`p( zC|}6(O68P^Vsg~qAv9zZIcvd6rSO?$+{nH}lOauZtlTJJoZ}?4BU0uZnjA!RvTkzJ zm&w2S1uLRSyai%N?f4%#&<=Dk{GRv zsYj5ItxFk+Q$vu+XBWC`2N5aB1m+=M-Ja;}Go>h5m)SY0(EUYZyJC6r)$Q%Z<`pxf z?>%nIimNe}DmmIz$y<^v5ydvaK*ml9?Ra~|C_%V*?YJD$SOc95QC`6>E<|BzCv>69F0RIs66cr7kN~q_j!5H{ zIK4{p&qN22B>Q=wIKw-7pIL=!oe}9_Yd-O`$rl}1>$EUpIA$W^&yxc?jEIxLpn?4S z2pT#%t?}*wojZbw$v<>jt5_;iJ~HQi1sf4{>f{WlU-pSQ9x6xF(3B`?F7(!2z;F}V zQDrsbrS9l99f*k$t|r-((FVKLS^pYUma;Hhsb>|eaC#@1aGb9qKw378j#}cZ6$_O~ zeC#5NprZht`|fPwD1~H6&c26{CE+n#B%+cUM47(0>V^eUy~mp@R8v_vW~azfSgkTG zZxVqEwUSK8RuFeOCW%3^ghl4`%7O@L^xn8`Z{@ZAKpBqfhyz$Vl4M{xQ++%PVO_Q! zT%I!fc!|Pw&f=?4Sts#91~Ehm6~uK>z?C07*naRKPQ(S{&I?$qZi5{#HI; z+5=F0L7L%t220Rutm?DnnnFy|e51=AH40Fqn6d9a$7mIs@>;QNrFIX`h*%5UsN)6S z3&XN_KQQmOB_fC+j*3UG=S&628s?Sp0$mXsvxYViZU@;kPH!?2QC~Yz43iN=M$Q^1 zRiqK7MsF^=j*xPjsM&BCH6rYg?vtR_`iV)S9X+BK%4rXnUZY}!bt)~&%<+WjDTg@p zjnxE3jy>w^^;^OHGh+=|_XYRQbHdQB;eyyP7)9f=50Ow}jOaS~qK={D7~Vv!hVV+T zMA&SVkG6)}T|B^TzDCB*muevb+L0H5EgPph17S!+4aY%r$oyT_Lb12BdKdE(0&4OZ z{GyUN0cGy2Tg4P{4nRSF4L4ZM=qL_1#@ESz+TOnVVIq3$sdPW9*! zvK5(}`?@o7p`K2*B@TDl?>lBr$s3*w84{LEcIm+x6xp$y#h6Iv-49u`1O%hk@B~qb zp~9N8fP`q4*WRe3QzUW!ypu0$I1{;(JqVFF2PE$hL`jPr^(6e2B?$>4TLy24HZCes zhX-q!S;11``6n2DVEV-2jgc)>6c>?x4XlEU6xC*GU&Pq6hw+4(p?=Q#R5qa!L1Ea0 zBNE7Ty7y3oz;IiU6>*4guE4MV{lEYBzyFgLELFZ6KB&Dj7?RQjv0V(MptJ|(*dl>W z8bHF)c!44m%~D53WI#3?jVrrMJ|4;9041P(0%u5_e33 z#glZ=uqfiR83?t+;fi6ROuDA<1wrV$^5UH=NYN6FA4JHY@7T{K$P8ddXbgTJSY?pHd>1vRPPaI&itKMtUFA4_ z1l!_RceK{Y=Jz3BkxNL6or`oNz(tZoxEn>24DaMT3+B-W zr6{{MQJX{eDu!p9ocQ6S%Ob}QIriPuVBsA0oM>A^tDinK$_a*z#O+m!f9 zLSyD|MdnbFt6-{FP1DH;Qdrre#9ED&ub6QG4-s>$?+g~Kcd{8`g<4fC4w96qaT+hEPKJZBgsVGf%Kcdu|Ltb)`Esm$- zX7^m&<~54?P$A9J5BLmL&LM6fkY5}E`e55VHg%IA_)Flm{KLnMM;d?3fU7?Ovy90I z-`+k#tQp?Chrj&lJNfYRYsUT?GzTt|LUDw{*;!Kp6B(}LHW1mL_N^Q*6?ZF;2*a+By>jHPdOhOvWsKgPj2_Tw*o1fxcHZydb}?ool=jM4;W6Sq!H zuTi*@&vzW@4GiR|^yqwHvp0-vSU;)vPJXjKj3y4p5ZilHGf^qwStzTCrNq7M5o5Mf zySu0*)HH}8XR9$3RyWF0!8dV&Z7a}>Aw5oaF3VHA-gnY!sP}+{Y=y=l!!z15$!2`s zdy5`fWZ6R9Q7-t|qsvZ~6sDWFyhe=|LQTxpsJ_F|AtQ&kP*VwSyu=GX{rDq)_`Bcn zc_(7bCS#w`U(&W?Q|lI#8C)F&>Cf|q`003zm%Ki140(iA^dSKnj}a0f*dK!->$Iiu z3=+h;z<$E(V3HR=tPuXo>)#$p{AZ?ku0VfFn~7;Z;G8VEsN3VlXST|xn}gssf4Z5v z4{->Q3lhH0`NR(^@pt7$_ZJN3v?5X3(+h3$peMPRu^$c1l{DVUprP)93dLcupx>WmVZu3#RXml)2+kF|o1Z zuStASJZAOXJ7G(oHe_3beomd0zf6{`uB`5iq2f6EZv6P^_x$mPJFf|z{v3HriDZ=| zfWIN-j*o@sbC*)KSWpqW6Mwc~qhOwCG||&I<<8kV3k#$#T(*s6`)ldYZj58$=eIHzh(HqQ?OY@d51?vDiO~}dLh_Y${Wsmjat8OdxG6BNEC_o9I3dt z575u_svPysUg7tD0RM#4@8N%ct^C`6^S^Oh{_Wh5br-b-m&vj(bt=aO(0h<#^3+vk zqlbv_7-A^hog^mGCgwSh#E{_Z1JV%xMb#x5?jf5Ar>1D5$x23;PJuLnrXgbt!t$&y zim*4AptGcf#YBw6=ezOls~%FBUFI1Dg+Od5p)S2bGl6A|OqU@xGjwc3g_0E4DxT(S zmNMb>X#loOM`Ef_6FoQTFlsvh{`{Y`V7dEu`@ZAuxOaMW!l%z~_zUh8M#1azw3*}$ zPeMK%)8Jly1Yhwal+kHLBUgKP@>(ow##7&U%EG65C#i;m^xEd5RS8GM zTV+@Y#l?{r199!F4yN)bQaklL@a0PQh9QV|Ol2NBtRXV!u4p=OEQXp$3-W0Q2c0hz zHaLlW?24|SX`~_=h9U*a)9TVu;v%$M{N;uedy;PateW1pfX5-Y$%AwngD~;Pr}{arBRbz&Do-_YYLR zBc+g|!MHKP$!Wpsl@`x1PRh0s(SY}q<%0W3vBb8$<^HAO{@t`x4neX}O6IK3R1G%! zX12jgAz7i4+c{(UfBc`7fAg>YGkN=;(6mu)%5>bFLYi_FjJ%YH+C?;lClHOt zv3%}W0M1$?nN2HE7LrZARka}XMjn~;=+=Mfos1iS$tmGBKos}RuoY8h44Yk? zF`K0&8z#=kH;{x3o&5N-Q)~V9pR{1rTHm`vYXf}X1zHUb1{ru69^o$WfKCnmjvO~! zKTP%fm|s(dlj!ptPztIErz19#?cJTxjYega4atT};OCv~QMj4rsYW;Bupp~5;g|L} zf7fXpv`+2YwEd>Wur}y87EvyFq5CX`XN77` zI|grap*D@Mjx@w`CbDC7P;1AAv%P=A?e=Gsyhh52E58E$G`I4%+cZE)#q9$18e7~Y z46gnS)elPPl&!>D|7-T@*fv6JBHZ`=zhn9am*DVEXuM$=7MG`QrH_G-v2uhiopB10 z6Uj2&cW(9pkp;IP+m+@&vz05a`+$1GQboe>YT;(GmV#*IX74zAWkkjFQGC@hi%RNY zRH>b4RC#^*gqd;Q8*krc%mR;FNNlq2Eo$9GbUgAq1#fC*7B@@-dM%fMf3~HV-T$pm-Y>tt6Z3%N_A>p~uYNgnW!4R`o?Wz=nBa~G)UTckIF)3rv za>cSv_mK;=)^Gk~k?Qx~fB&x5_Ga>wV3a_r(;1jY828X@Bo&4^RVBQX*u8|vNh&W? z(@0~Px^rEoT(&D?bo_wVXTfBpcte?}S8|H5f^HWQ7N$X%Fr-i{W1`%|U`P}ihJXsr zphQOf!X|@iee$*{5XM@Bgoi@77i{J6WIw1QPdvdG^f`JH3l>Q`oqdJ|30j-lqFa6n zA251?Ht0^QHIcZ*bID{ezP-KY*KgkQv`sX0ww3KxxZJ*DT^HJZ=d40~Em7jeZ3AQh zHnweJDI3f36id3zDfe=tY{s?~%CfSomvBCD^iT2S)2DgVECuHd@rA4vlMSPgOE4gO z9EdDn2ep5W?k}`9i1u}S*(diz%pTb(BXkf^qV{J36g$ z*eDTXdR@UR_Lq~>cg&3a<)KXrXWtK6b8=CVz2f~x{_?lqa^3!#zxlgQQE3zSxL0gc zk{QQ&l5Q*56A*E`Ei79?D5PRwSC(?4B*N@6bB4>6lHPE=-gy81pK-f<%lmg5-+Vpq zr@#F@9Q)6>?;+mk{^&5x_7uZB=+gl1)hXeuc|**QL6}JF?ku8QF_yAUg_z9I^AWDiMJgn)KX;wn4g^R_6)It#@YDA9+pL5#~LJR}=)%V|j zpZ|Y%SpNg~{i|Bf#rw&qJJ}(dVKp#ISj!Zz)N!)%O!EuTZkVjZqtPv~V=3@Jc%G>imtJBR9298gYd{##5+?E^e z3pGFUcKerHmW}g##@JYv4P~YJ3(X7Rd8+Ccr?!fF#>lM8#_++mJaO`h#T)Wc*g`p5 zq4NR*lD=n4PjK0(?Y~p|jWsgZGo(T7Aat}tx_#hwsqC-&p{~_Sp^TH z^%pF6x*Bc3nhT?Wa!`HXr=t!}mhfCTQ-+w3uI177g^Bv_k}-@Vj(VLTIhkD^O~%lQ z`zc4)34EHcs89c&JFNe~Qt|87+T^XzvK-Z*=0OFix{3S3q2Rp7iVJ2kVwZ$M-_WB7 zam8|jKBT*mF^as!v(RiHydwSuZ(}yR>WrnFR174mQ(}_h20J6KgmsElF;|?a&B|u% zS2*fM^Bd*w*I;{y749e|p6(Lyd6Fh%Fh`kYK~u+^q4VgHFrijzeW>UYTqR?&LUoDR z#6?;Vbx4nbW*0LjQm49OR@g3AZtrgF`zuF%W=aE;vTkUu0OD#mPNz|0XYV`b`I+Xs z9JMpT`M7@ucA6J<&z#kz)=Jv4I0+p)g9H36#D+ZFgH0UY56)MS@Pc}#)&)irqB5jW z>mmB6PHY*}^MlA8NLfYlz}-j|lno>WS_VTawq_)Yq%x0*wN*?r&d&bwBg$N~hGje- zn5|e+lD(Cva|bbKlm#pcK0(Te8SYJ76WBUmL!d{-ha$4cMj?4n)9bNHz6IWJTjyPCX~!c;YaNpz)@NsQgkVF&i%e+O7(}a>Kqiw! z#e0{EVqt_k2hQmowLvl?*PXR?xlp8yiV)nzdB(vM>2tV2M3ESjF4O?811m)~HCz=x z4=g~NU=&)-63sCZ!i4mV)*!>~hN|Jk9*o3SFr!$Kg+fjNrXnm6t(BhToJ04DQsLwAfmKkK41llinGD0fU z!pmWZ$;6M0L5o4ILdMB{0>SW(A4R4egSnSIGtCR`5LyWvFv=_r;?!|6TpI^U->cLrGX=TT~0gcfDvD>u7 z3>P%>*xb-itj|T;+b*jKhr7Uuoedu^pflNE%&=38ENvVNUx^_s+a_VRnHiE3ONQk{ zE(*GVWU?xl(aw|BW`hM2)YeDHap2?1kU(=`$=fd-8I+8Sfk`2Alaf}*oBa6vdpvgD ze*IgpU*RoK8rDvko|Q#HHmocY?lv+l42o0A6rN^QD4C#(k47!dk_TdfXd}nmUz?4G zDS3LZO$#Phd>VF9lAs%rSAP2W|Ka)NM|pZG{Mldp1xH_Itu;ZC#PEuH6*TC*$Qeyc zlqF3=%m|nY_NhLv-gtQp++QCwhlMOFh(dc3OLt1i7=!5^5LKH|@Ptu3KXzD9i|{H94drwv_mCXHz3wQ+7*5#qbVh=l zGG6lE@9v7o-%DwitfVv}5+h!rfZL#W&^5@d%`V??vIjLfeNEKk#Cy$??5WqK8V*QXE?|%lrjyqRIJP*{`qp}Y=?v&cvW&Z z*j>bSRGnU3)CDvP1fw}et5{;%df8F?f^$&HN-aLIm}3^+U6f>#A6xXmvx)2Hsj@;C zqf(=BMn*Bb`eXrVf1oLuk_d6MK~4*rjMv?uT#&SJF`bmwhgdRRd~&Q?&~=08`1s7C z3*z%A7h32hguNqhy6-STG%u`TEL+C%4X+9J!dl+q93m!I?qn+@Rcfu^hp1;NgBs30 zmwZGF)TuHpGbJsA8fW!M{-okjvC+}oxT@i`a=x5oOQbx*Q1<9x)ig^Dx62dD+pqYt zzw)~u{+8qT1NSe_h$-kB5XGcp+8ACZ@?^fNV9zv3Xa*S-d1SK|3_*!>CEErRstZFZ zA%Tues0oWn8qi|C2Xv^k0kJqG!PEAEpMLr;eE#wx?GEdkuYkd#g;Fw_3&~d0ir5&? zVp@Cx>VD_-<#j$yR53GBeoOU++A`Cz-hsw;Ym_xe@gA>6O?6U=z0s;OMxp!87@bNc z`9KSJ5~(q0;g~;??8WdYHl5eok>o)UBLkjiBT2I%0iy7yO2*QZoQtF+6a=c$ z$HM7fFdE)x#cs-dlpujX9WRh7%^Y#%7;Ta&e9&9{@F#T%KYjZ26@O0zt|TS!A!Eoi z4%-E71Fc>5neGeWKz(7+3w5}xu8}gRRlukLTfAdL33Fh}v|%#XA`cS=K@UzBDJV6k z5SxCxln|{O%`6xun)Wa;yeD9gWr*uWu+JhcErdcu4Y5Mor-yDNaC0n7;ulu9?lixF z5yKWas>j+5D+%af-Vh_0%iOf5$OPygwv#(pS)@7f5=|J!yX8i$FI>yU>Jmo^(1SKd zIipCC7=w^|3@>!Bz;R2A-7)$076PcPDbk<%lagrKmQb#75t4< z*~y-wHFCQL0nonN#B*{PqC3-C{Oz>O7{<#DzdRNfvsNIfmGAbf$1V($4sfE%>BXn%33VW+eK0n?2j}3 zzgb3E!)dY^Q87j|PBpQrkt|4}qCr%htSxiLeT0<_X-&Ei79j|XG3F69RYG%=p@hL; zP%K4#jE*Tp#f0Hl#FYGEA#)rT)Ny1g+A!Icl_Tc;GuC(1_67G!VvB*2)unoi(GJ=2 z8m%?TFnT^1R)Tg;pndKjJ6ICs8r}7Q$vgfk6-^u z3zn+B@4e%7Ff0SR7@5i!@nX>Shb1QvQ*wVR#{(Z0`@yyuwXKq{xhUk0iPG3Yy$Rxo zEv(uZu7WBVk+RGXx33EqT)MwZ2VFQX2AQA5C=B1EX`m&jJ`3q2Q)S;BHU!)8BT-7Gt4&k2 zH}0>W<$75oEsK;``E~kE22eW~gJL1W8eJBw_sE0{+puclIzSU+c$ggjFJo`>YulEd zcm3Y?9b?Qj_g-i3b8g-1du}-{S2>lkDk`vI2{!;KBw)!(gfRjk5KK1 zxSNgi?8Wr(luk5o8zO3uZ?WBpY^325a>k=Y$v$^xGe2BBD(*%fjj|i62~((|NVph@ zI4Y$Su}WAw$)-*+k;Nk{nHU953&%cria-C=uS@6av~5S3v`@=L9xqR%fRhzzsqn-F ziE+)q^02(1;sgbcB(Rckb^rh%07*naREyQ1PS+%vL|!I)V-y#!gG^x%A`lTns%a!w0jGw8BSz$?`PYw5JqId$QE-cmmYqWG4cVZjP#u z#G?2nd3`ZI1Lgy;x#GB_l%Y2U2L+i6D@BBXTc#lta~zY#!hTd3y!>f(SZ~$ZrX(N| zj}(S&WC{nBLp$yVjVJQcGqBGvsgyV)%L(Vla8ejI_}t}SAu-rVc1w2)>PB*t2%;@j ziYBV8fRn^{>KinVf{0t2s}#G7L6siC@DY7fS>q3m(&36n#w@a54+A6ED{Hn4PvyE5&G1Vx68xJBZ6Pzq&%kz#UU( z#_-NoJuIlrx%AgOK3+K5Yb;=l72+W>Z%a*?bAgBYIaNEST4`3Mc+sKa+@=zXnnc<- zukZ5K`8^nUqSOVFCBlOeK5Zu$UUyPaoEzvHA)r*SOsk#FpdBqfef@zr7rdQ#iV;DV zJNi^`wp$)ZoN^DU%SDXTD@$_BZnywvP5d=ktxZfsZdfxj}V-2uTaiN8+4|7 zgQ8d+F(|SI9DB!4AbX?aOo&izGGYlQBtq0NpkKGcDXlZvR8r*V;zFno5i>#}JY38K zZLKnUnmb9(G<^;I5VITL zHj>^F;zZ3@DT0jX7A!3ED=DuOqkrKu)y&Kus^kuCHDc+A6*;z@w$)I%&?pgs6ce;& zJQZwsST2n8DyRkgb~bEz%-C0dij4%Zvs#JVrjEp}i=5qys5^-~tCzl^ah_Y&GQEFC zWUP9OREU^S!R~-s%qiF-jYQxfQAB%-bhFCK^&O;E7EAQLl5((aCvtY0G`tUzDcS_7 z5?&J8YPch!gW!=*U%%oHe*9V3Qu+Mh2@<3O4*v;WE7<3IiggxwQy7DwAO2)mPzH=! z==|L%cSXMSrC;J5?!j`*u!e;(YM5p*5?(t<#ca^$1P7ytH)y`|@#7<}KK>C8^@DiY zufD-Ci(vRDSg!`+>$vCY(D(=Vt9rfKY$CmizaKBp&-v=t{uJx!2IGvzj5=<rF|< zSrNG~5b6lb3g{ZccPZqU*>6yLMQl=XiX<#`ybqe!$XBA<(knipmh>3Y-dQqM9XI0` z9!m&nIya4?k-AZrjnEPzCLNdif>m%jLx~8-mlQlDFlQSr%5ZWq z!HvR{dWcTxl(e}(8E9~FBpDn=q#>p?%xXySP^mWz%I(xH^@ld28Wqs5gucJJOlfLeSC`Qb4m4>EUR^!0>Q|Vx})Wh z#EP5Y^)^a!>C$jfD2bCVSnfR52PyFuIWp)zk6k%KHH;0Cl8Oi(jNGJifqpYv5ufuF zYfqpBkyTP}5lLkS)I5f|l(9}9VRw=Z+=M!8(tmi6>V@PdQE|)&#wwv6=9|b!ATFVW zokwyNu@TH5%0Uy8nD+O58g6hDJ+`E`30XHpK*6{Czd~pSNkC?rmpAlGAqC8P;M3>4weLO9*Oc6Qa`Bt zKX3lF{Fy)bwfLDA-w<{WGDO|P+Z6>M!iX`4!e%1qv}To+&!7GtuYdd@59tXjh;38o zmkg=p$~3HyUc>p>g5`I3b@?H&Un>klQl30T9w!E@uE-DC=d|&+?tdvyJFyX+SP%jsq32&j@Rx$r)Y6yCpRJHKDl6)1S^q;i>Sps z)}|X>6cN7$MfkMqq;N_){Uoe#;L&lR6jEP8L0X#Eh?!Dn&mdp$M`s;6^CK}OVH^w* zlr@YC$24I(vV~(R6iYmzSRfrp8M1qjcTrAw8<tM$2WuijJIP9@HR_z3h4x9< z3;%w6>zjWD!(>d!GvR}z^VkFE-YHhFl(48&*C-;iP_)1&pFGHK{~#yGf)|o@yl#RI+E6ed8&TGiY!8oo{|~Bawm7AN9~!a@fuNKnj-&Ip{;zNIU;pR-F(>Q%;YWX$ z^Z6#eRK6jU#IbErYeyiu71`RP_|)+@GtKHc$=@Bh98ZjHl;m>()WFrnWsN9LS^5qck;A5c*`1_= z9vV#s#dP{=aWPWhK4W?$N48Fw;@51mWES*3AHeFIhT~d72-Y@mHE14^9b=svzzH6c zjE3gKF2+ROhp0C!6HN;yI)%4Y@sl$Y@fdg;Z~s&WR`YSMI7x{*1}0Mp`{;GvglyOB z$V(WvGbbxea_A{%aElhsBXFM<++k0h><_R^rMCD6lnB`o&w+!>!8nyTb|~UkN=txP z9K9kXL-VjKh~9xeu-PN@C8oV6a6iY0ipKOCg43jsH6!f;42DIhUvKi!>1rXvN$%kR zni|P7ZgAk(2pXV1=1M+Qyc+mrYTk`-oOPUN`aE2m=pMDbVM%9}6SPMQm7SJXf)U;w z@y^K%=ayA3@%i?B*&d89|I9b|^?&^@^Ur+ao0L-KlUD_XhpLGabCh~5?Fq%3U`A-3 zVOMkYE_~x_U*ng)^_%>azw#f%C!hWu*7ZZ0e}z-ILtKy=gsl->VGKMUK@}>>Vkf$9 zyng(U&mV}FFW}$!wSSL)@n86tC}~BrF$S}TzV-%A1Wgc)xT*jUvzYpsFMM&rFMRFi z`Q=~!tNcg*;eWyhAO9^fE3aQagvW$ZxMf0MW`7f6b8LVdXzXB#?eRnQ$M;!*U;XpH z#y|fn|5iM|{}OW&HwC$Y%-J15%GciX$^=jaS&i_9WDAwx?!5As{@q{a^Eb|K{kQ)q z_jiNVU(Y#SSX|;D`d~Gk@bbRlx{`GbOO?I}W=1YI5nd>(^R!J%82U&ar)a9vM~Z{_ zREwJtIyZf##SH3G`6Bk1AY%AHU89)bwMELAgCp>Q*_a_`J!sa+)sRwf8X83E9Ttnw zjt!$&LOh6CF|#mr+#+aBE5^^d%s><% zs|G{Znj>YK{L0?L6-I+nD`SD2PuILMA*{q0DysU-C0E@Kr2j(rKj>Lu>`h@@zeG96Pt`J@@A! zH|skRTQK^8P^r>*@B^n((@8F|A>DcY{9V5M?mKwfsP#gv8?`=B`@vohYTKyCM)k_E z9dc|N?gzCVvTvRJ*tu*Mj@{X7<=L}a{^ei&b@}ltMaO&8J@Dal?*z`?4`DQcgI?3s zqI03P&nU|y5BrXvke~bVFY$}t_!hky)t!B-)7nux?WnYRF!o)%AN024QE6VOb(30m z_SV_!&bC$RWy8kCzxkK`GM|4uFT=;}K*b2}sLT|><`s!SM!0+ST#mz}wKI>8l~+%n z@pOTo{VII<xM86&rY+?@yNhVXgXoNNKzc;K~cwX>2rVUo#sxrRoXQAKD; z@uEmJ%pe_ulPcma;COWM;iO&>OGqlxZ313$hf&9ToQ=$=RbqZ3>rYc*B@u4CJ3Bi; zkcLy4YVy^Lhf;B$j_u@6LYzWf7-n?4uyljP5zcrkEV+Y&a!>9R%ER0av;(zw7%{gQ zo(yk0qa9Rt3WK_?xNnlEWV_Cj?GdjF!*3}J+!2w_CP1)qWzHGsGt4KpSx05CF!X}T z3tAZ29*`(RQqi~#r_p?yUO_P;G9o+fC(N#u3)8kxM`cWj97a%%#^Iogin+#lxdBX4 z{WM;`eubqI4^P{)4T(!r$Hr4I78)CO{Y>_Ec=Go-qERnz*er8ms;rU9w2L~!_vyc~ zn2Yr5@0B#uNaxa?Ju0haj@r;NV`h?_s5I^nq)gA|Z7ujoC?43D@uGu*sUdocQ2^AvEZn>8o3W+A5?wZp$k49#&Qo z!lz|m;p94v)B9`ZoXYezM&;Sf+pMSesTGC?b>FDz7Bgjppc0I0IW=O&hYpz@)GOo( zbjm?g5OIqtLFrR%Eq5nwFDu*ehNs6@xEG|{5Y0g<{El$e5ImocRzAyc;{Rm?Q%F=K0EfF4G=nFR;AP)1POm}#mS41R`g{j%k$gP<$M82C3eMaG}bl6gv?(CGM$%IO9N`(zWJ9PBbo9nnJ=I zDDf;fE_lkZ#YQ%#_xmXBL{DsVY-h%Vq&c~5vWH6{Nx{6$G>MTT=Q~EL#MO}|<9e@{ zVac(4&}t)dW<(8a2V3#oakt1JnB9iSj8K_;#f%CxdxiR!knF^8hy!9_LYj;^JgR3d z?KQd)Z=G%sJB4aPbz$?*8E+)aVAzJTMzqqlDAN|=sORbIb z`Nf>3ix9D2W%vp@mDOSv;UHub52sE4t7WFWYQeJez3+Y}P`LEZxVL*e0$K|bfh1ub z>=bfT44WG#3R&Ro`?vVP{usaehrh!|KmI;rz}@);$<`TVDhUt29uO&FiV;G@P<7nX z1X}1kBxV6{3YzhqZ~qRuyS}SdghiC$P%1XZMUKeE09X&-Us=?(T&9=ZST> z;qfUVyyM|e2Lp-W#=#>VEqKffHq;V@63OS8$RONa<8e=eSk>|UVB}?17eGrw#9$a` zZMeZ67jn-e7f2qaif;397=*+WoF-ea0mWC0XJKYMQAuM0n{bJdI|s^$G?O3f*<3RC%zYnuA@V8IcdXb{ zm{BOzV)kr<7(1yNvn4Y$lq?a$5&pq>`1HqCSng4#SWLx7qK*oqQ-NU(d_~eD;U9C+ zGk0-9y)c#s!rmr(BaQ+^P;O}HiJT5hzZ9(>k{N-SR1{4XsxG&qfEQSVVd( z=N4uNSD2-a>9staO0-n?{lEWR`9J^WU+1lN&T&eWydo`IWSX>E$?2BimCP1{A!0ix zJ5Ts!IrH{gzZCC&`~&&$ed2%qU;jJ);;;QXvTYkB-%-jU$3BB^Rh=>6rGZv4vH7)| z%-FD(#rRK@Lm3wzwzJj_B$5KDOlHgF-xH`&E2NLu!N4n&9cN(JH&O6D5wl> z@7K6}^ELV4!|%s`|3Ce2{M&!=EHQ*sPN9J5Dq?dp>0{DpOt3tDGBw0ozlOGGVF^$FBiA>I@O zpMmkYl^L0286_rH!0VMPxuD^KrAVlh$YFwD69(hS=w%Q@&|PE@VMWvg!x`PNq>;j< zy3Ek+9xnu`;8p6NIIx?vmBW5bi2R25XIK5jQ!@IF-1_ldJ}|F>ORK>sN2Y zNe8K9iR$6$QN}n=`D<~)VHufF7=DoKgvkW09IO->U^7443s^YmfKg`3LP!f0{A`p?8Y=EP7P$?mvC0l3MG+k7k3f$8u0Vd^(`CAN{6;!{FR4D2f z{5WRWzOLw!Irf3YK+^$5@XAb9)H5OvSiH^6lIZ>#Eh{(WId^Zr%gP&m=eNJj?|l2) z{PM4Si+Wg$;Xj$t>{fZZtUP+7xMJqCG$<^n-;m0|Q{Rzv%V)2C%n!f+F>;2lyYp6Mr zUtr02+CGDRVl7Vf1IB{o8_a^59`LQO+AYK*$jW|HzV`>;q1?ecXZX@v-^4NAjAN?K zb;3-pTr;kryLP4)ur^$p&@n;M+6zgytTP(wb=o}=9Ds4b^g?OZh(fc&dXCcfRr5N=H!h=4*M#He6r1=1~`8jAf zs7`O=b))!ZI9shy2kskoxN3!T35QASmcV5 zi#mnY0YeHE=hPDh&oxK~36{?ET zW^^u3GT1OynV~{uwlY2=OfaYU5TjrNLEo@90~HDxjUs~y^mGx1TqIk;Wy%kTO-8-N z%-Az>awXgadyTU&>Hz7aYjWn`#9@$3NR;V?#W4e^!r+((Ax1c4dqEv=F3QR+8xQn2 z^YXoKa4L^Ho?h{zk1D_Y+uxqk*ek%|3xMbk_#=>rtCWDB7(jnApAlBDm+%3~W_~EvQ4S2f5sk9Dd=wKaC;s{QPnJ-XDC(?|%FHb6w*< zfd4;GT>hc2zj#glM}C{({0@BiUHH=TZ*YJ6CnQE^)Q(1B6r-52*TyyumSR^u*IcGp z6r{n+7xxtXs(f%(e)#?G^Zxtr{_lTZ_+omN;D`PCH_yPE>uXDYq-(4IAI~w{0`I(p zyL))~*0*^3`7d5y_Lw)X0Ww$@CwvM$YajHj&TTqpxm*sOUN^S7^Xf|B5#6bI!}2X{ zOv1&Q3l3}uHyV>OKFS1SdB?=W)o~rLIp$q78`Z(g!27JO0;=5N)EU~xz(U1cV>6`` zp!qx-d%$8c2;7E@-U%x-R1`=1HNfOp4q2sSELN5%8Ha5P?dEI zx;SZ6#+pbJ7)rXPUO>kxJf+HRgWFLi`6%akP>P^m%u$E_R0mcP5xNih=%Jw$OKdoz z1)iLh#uko`jczB%7Z9*|3+oxnPKYy1IqlET^2ETY_JsCw4XZwAR~5Xqm68Qa34)5! z-fV#xW-;G@J~FtYk;x8?8+=R)Nz_b971hk(a;5TQNNo;7M+R=Nm`^gbM)N@RiJ=LL zHO&1dGcRSwWadhFdLX=nQKZ?3jfLVTPS$ASC#qp0gqu|G&FQ?x+8Pt=KA)1+OPDvt z7%0Jdd(RMOuW)z!R#+335vUbT&;L2L<-;iJk9c@=7?r!XX1vc2fAlD^5KShzr8+!0 zEHY#7P3M1jEO2KFFK+)7*oFJ@l69TT!6KDC3yOt|F%u?j(!zR_Slt)~Sy#MOriAQ> zul&r<@!9$=Upl`VpI_dP^x$#(3~Tq~TjlfZ$FsA+;dW|;?(z+?!0V?cWbR@nimd!B zZw@GsyrS(1dO|Qk%o=dEg|DQRCg`Z*#Y<{E5?-`Mgyg zAAd}Xjcf@Ul@U)|w#v=AAgQn&m3Dc840-)}7(bG-oZ_zhEY*L+mtK6C)ABABXT%1v z)o82HyUu_|6kCZ}uWEkjcsXdBvtI_;Y_k83t24ogJ~E?16Q4XRGxk=|Q$pN1eERjw zMtGWS_0`TeyJ>a?dJW_=%7_?aN*St63xunIG)C2kXjoFD5wrM6l(6u0d|`?vRVOSl zLU3`ossYxT*yzEcrGrj`2HqISW|yXEX2p5?=?*M+#|RP&wmeFGI#|NK;LgRcE~(x|?k-QsxRC@} z!}1|d?wq56tP|XKdV{cpwcwNmT%_8R$B3U~l}mUoGRUlEoR-2?B(y?d85S1-zKcv_al`h6k zIN=ryACmnXs~K(`9ZCrV-x;DYBY%r9f|@#h>=S+w7R!>vIi~f+oQw%}qBN&^crtyrz zDMT82I^lH}ys)<(Syw8KwG*Z$fk#xNGDxdN#$?Aa?-5}lBjfZCO#C43Z_e~m)uq9on%8oc%vYceDwwWcTq@o}LZ z79uJ+8=)G~n?wRULLBk#k$~ErluoQ)Dsp=$y!|ptN{DT2Pg!!=DR$3gKce>vV;9SI zo&B98rEk)En&|rURj|aR28#(srsHyKlm294QS)FsljQJ(m4evYWOg5P2uh=)yeZ_r6lk+$w@~zK3WjUJgRDt zZ3;53Ry30-##FV)Bp6>-$H4U?MYj2n+Gn85SbhWK;yp0!b`3>Gp-xnd%{?h-8Qmq`Z&-Ufd;-VJHK$#9l$Ef#v63s z7y(17^g69p7AiKTJ!H^HCCO@wXsOai6?K;)He-aYGrkxu*dcX)h2}@8bx5#_n@hSb z1_S5N>A)Vf(lrDPslCeXE}|Km0S&T>LK+MbBaDb4$590pv7};wXg#iUCdEg{YI&;b znei(SHla7R#CQUM7`mL;W$)GAt} zGewT)^(6P}O7|wJ(0$`#j#K$HvTxw;8 zC?aAEWG;HaLU4pJbyCBo+4?9VZW$FtbQj%2hWizIU4((SE43n}cMPZz^gaiU8+{7+ zk_o3}j`3tF;60L8z%-z-Mx>4ESEadu`&BLM14*!pGxVw?MR8xl{Oxc9FZBv5t6)YS$}o+f!|2gW zqw*G3l@ysVB4T{PwV{sC3bb&J$fJe%;E@q{!7E#I#Ll4Yqh!o7q6zq-+Vqs)R2_lDb3gVHl z3q{W1dJkDqAo4b&AElDagAST9+MpgAhac=sWAsyOy;6@0dd=G+=3;bn3)2&W6s>qn zws46qiQ$791Dey_DCridEf|8g90kH_#R_3d!^4nJe01Qz$HC4KTRX!0m~%oEYCq`i zG)6QTa7rK}oPrNySY?ETcVS+)HDX9;pNX%H5tinNO?3%G*^VvLV^;YPosNfxyG)8* zQTpf<+7%cf@w7QfBXH-&u84?o6+hcX^@uQoC~!;_k@quB4$LuH=xEV~O%k_SB!uPz zY7a&beJ&6y9&Q%Klp^M967brUaA)(1jSS}!VZ_ud08vA!&#s{ zYK+!rEcfA53@^kW5sAnGAy4#$a0za5B7l7iwz|zZZ-7YQAV-xEWTHa2KSUl+xGT|W z*dUY$%pnbm<}l5nv>9jI7fimuJoSHMck@p^uw()$gkmPmlrcokA|Ni#kPXDgmoYE2 z$as1sJ4sFrDQ;AZVMx^?B^F6$vf2|RcGMGUos%WZcAN{QMh&G}lZU8iI-$6<)TxpM zy>JqR)`?NcK15=r+ktTP2aban6}1D64O6G{L>*&dsrX#F?GiF83GDJm`0thKmuos^ zm8uuXzM*+c{DCHRKjUnSf%rJ1!?3o4tBg^xK->(C%CMb2-hd~<3x-b>+18l;tAbd? zw8&|>!>vnCd81wcljGDw`oh9MNX?9v%{pM;=V9lW9{(%oeie8Ctq-J;8e_+aq~>Ikw}yM=yc zc+h+!G*he6xAFFfG?k5BBBJ1kfx5SF~-8qkkBiB zAtlK3nz4X_Ndl<~eku$fb6e^a(SfM_e~i7|%WYY9pZAP8=A3J-z4!aRr%s*IU8Sz> zwpxv32}N?E2olR!jxH=ihzv0}m$}JBt`ZV_5eVcm1*aAYh15 zNGxPa5ZhSo)q8aQ>#D%>U(1v>( zzED#pgOiTMS3)J*pxX<>gk#0Dz@^-@t~Y^;k+^GJpet?T#41G3j{KI*-5A89H-9O8X6;Fjo=OIkr*b5?O0h* z4_I!9t-O7DBrgZV1G8q#DlcDtg{N0%uKUXH&}6z5hyx7PY#yD9=9r{0Td>M_wZ>{w z%$c*GF;Q12{+8Y&K{G)!cx980mPn9(GX;$;&nF*$%3eML3NPRLDqRImb+HgNJr+&98}g0c~`vbDr)g9ZzYy%^OX=VkOJ z_sZ+nkF}4OF|*3^wZcc3r{tjAr9%!bD=%iu7R`%eNGY*$|3^5x51Bu~JF5b3`@fm~LCW zO!o1B^&ZI@D8QDLv~9N-NhjNgTcpvQr)j`_xTK5su?UDDc9R?10B)k7R*_~n_elIA zo}n-e`_9&lnW5?`u1LuAQfaZEwqVIvdgG$EoLOtMnCSjAu9MZq=S_^s?G_Kp#1Y9N z4C#meFvQUjW((2Xx`-r43p+D0p0PR&V}?JmvU-jcWf*&FII=HQ@)}%2BNXL$oRHQq z%~;-i^qZ8d8LPK28H>jTOe&@_RzVKp)vGO{0wRx09I&vv_JCUU0WsLdDQyUXP_hTo zSR91xRWIZ|d-4f5;~>>DrtUFZ2&P`iG%{kvv+iS!nef;nXR8FRBP@u!2V*f1eTLQ5 zb1+fsZtIHJDn=pYcj?;Lc4J=diN}xG3)F(o!9=@~XMA5bHXWs{{`n&*;@XUA>Ol+E zD>)po-UuoLbu5@;#%k58BYkZw8rgaW5B|ybKLyQLF0d`c6g-S)5Gn=f$qmDMM^rs1 z!ni`C9kFR{G;M&oYD7AR*okWtJf)8q>d(ejV%<1mHm*<~kts4`8a_gOH zFRrR+OHMGUR^7C9GnxfQL8C%*Z?TK|7zZpaL)#|NuiCJJ zCovHO(pV;$H}73R)JKqFBb4GTMRG@IBgL+&m>Mxe-=#8j!?L)`NZyMroHYtT-3;hL zRKr4`n28cl@7{IfCJB&mQpwUR(tGzmrZ)U%UJ307**-ZMwJpKniL^i2!W9g(Lo$_id3m+s6=^^)Dr}x>sg{9(iPJksa4hvRhoFu zOra2Tm(o?DHk7M`;G9UrIFV!`_f;Y$^$VlTt-iFw3Yo$-~1-d=}Jap(z>{ z!IF3lGRcvcjb@t&^U!Ct1@|tPqG4RUGcctS^n&Q@YM9`gXsA>+#2v~8UZm(M zq8+SCXA`q7oh+E~@%KLDqmO@=Pe1;rTrUN+ZG<3QWwXF0Cf$TU77>+g41dQLOe#49 zp&%B5R76FGlr z?p{hx3H2bo7~O7YJ1T2)R#dtmdM&v5h%a6B_W#EyxI5Tr{plj`ITi8QeJL zDMn6Ylp)}pf|7hDW1cr|V4a<=`_P3^37lMQA+~X)>jGLbS~AkFjE%+ED3#k4P7Q)B zxGp3z%7W=m@I-PU2E+PHU2LZ-+aE)%AY1g-eUK+)Dt&v6JV zdj&C8cD#N@FC94_!QgbfCodD;AAF;dgLu+_PAl54l+YPpzwA~!p;y+YPG3e<;^}SS zv-K@GKjT_D+tZHelamK7#>H6DxY`f@%b1iKojUH#p0W;1sHykbX||(bT)~x^DUY*oU04zmdzEs zkDnF=QmNy^A37U}T8uiLPp;O85$Fxl4Yz64s|*4N&3x;RbTM|*VI%g;l< zEiB7SFr~IDOec!IxnT@$^Fv=S0+~)%0n4L&@&(b^`i(2qhovtJ3>RfEtbz}ct&Cwj zyDGi!gSs$ea(FN{YqVq|HExcSF&|q(Mp8hgiIRqzUc&5B{5IqU&5Fn<#druFQ%1TW zWNz>?==+$xP;q#DtQQW#Zd_i z^@aNnR__126IKWT!N{m*4Ty=G!9m5dS65dzpn5>p2kr;+#ih)S?iBCTW|&lWagTAu zB@k>G<@rATfxRzu%ZLgYBa3=aqw59p8Pao9@TxNACUPFLRLh{{W@a=zt&sPjyq_0D z9n&4NiFBJ^Vcj>HS3T1mLahX*+Xp05SP5b5`qdlGN|3WR9>%?0Be^}J%fYiZa=4Ot ziJ-1xNW!O_@uJM>J&yNB%sR;`k{$@zDCLnZZ@8}KTSu&r9M%$$n!%4WAK=1VPb@Oh z_Zkv;ZUkv)cJ3b*eeHo`4PPo$=h6k;T#8BKAd z%0qDaFe6!O1XB;aQO;-fYoP2WzVXdJgK}{5E10+zhdu%&U6mLZgJ}ZNJ3(*n!|kEk zHIErkoxCsYv zqOwJ&p*U#_y^4)o+V~nfCZ0`E>(HV5$gf$bRDq2~vyPWSFBP>ga%3{y5atavm_50Q zazQv>3t`M{+;u#BgGY#wHAE;zFdHOSMnuV@dJ%Q&aOvY=>f#>RJYcRq*!K&WMD$MZ z08T9|4El%)h(=@VS^v2Ytls+=y3+%g`5p>u>7I|v-~{zXrW5jpvUyhryWpD0e)P$L zyIcwOF|@&W?L$%Dij%2_RKc^akd7Q>?j#8{bS)-5Zg7EUiS9o~1C&h)+^LKf8csA1bWRIs4dFq5Tvn4cj@dtd z^L;Ms=l<%mk32IWEbf{x#H~ALEyy7vNuf8_SjI1Z4xW>OB{wz9R_u1m4{$+PEa@uZV?bO0y&PTwy+x98*`f^r0}ya9JYA0pHg z6v9ZSyLOxk4N~t6g!c{7AC#Jgi=g&6oRKO{05SDmng=&}AD)k4%u$*^3(ft8PgXNm zf){T9z5<~e7Iw6bzlV;OUa{aT-O;dOX=A4nJvcsEALfqshS=c#V~$!!>0?P7CX9?V z_h#k<#Zp4zOxDTOX9|(E2U@tG-qDDAsB~3#&FIjp{E1h>0(6mKxyhPkib~mvq^KA> z9xA0Mw#|4d;;a-qVc{*tSz3>ytQ%gU`ufIBp9tZBvhNgwJ;k4SJ}7aV3(0$s#*W?o^<#9AV-16AlVk%ab6AjDWe*FbGi~(A;_2R(2gHz#cMFN|J}gh-%LB(*y6HUhs|z)vmaoK~`Dx z#H23}8wAZ>^LU$EAukb`7uwB4qMiq-(mRzSdntkysa6Q1P%qjIrAyaBAX60yGGKH~ zB1!YeVkY7A@`Zfx-ZNB+L`)v;zQn9i#5yV}At)&%)SWyO%~JP37>iY*K*dDcgxkW< zPzBLA2F$JNDBGKpFmi|#Q?@=3)@JP{@*E#!3C@1qWZeqi{E2^scOUM^IdVEaW8s9L zL<^X8u{Lr=(=te!0UJ{-H|YpQ$GTxw@Uo+V)Pj@}rTYl5+L+C8iYFmQ$}$d2-I2yK zic~CRgrR=VlBGMu9#Bc+LYTu3a9x^>&sv}rR5V{C5){DbZ zT}31ap*W68>|JEA)kVMHLf#11T?}#-Q|Jn%bppZ^!?1Tq6zgSV9T~8_Ypx?+BSWBs zm0^OX;I>mFi;9Y1=ysv)ui2_eVS{cg-kDHT8v}OcKiH3kp!NUng!TX461HJ%V1h_T z9fK6y#R6&vuDwEff`V`1j?6{~4Xqu^>Z%cAL&l_z6voy?M#{-8 z*5=#At$l&Qt>e^ViLzHxU+BTyU1XBQiyMKJpaHXrc0p4HHs3BLDG93Z`Sm00yg18| z)Rk>ry{AmuHZ0|#QiogIpn5kOSRhrVKCXoxH-gO$mDr*9Xcn7goJ!Q@5`>+_Ckum= zklgDmXiww@9mTvjm&Uq1d7j=wPq%VzX&~Lz!`S-@Hm-DMCmJ5DTU7t-{EwiDhPM(5mC$6j;lur9a@ zOyfl21DtXkXro|G52yn=49M0xMb+tz(1ji%sSn|h>h1a{*^4`)32rFLtdT;%dUvG} z5lBAF2C8K6mII+Fs@ZQwc^3bImFM2qLJv+T5nqfbN3f%N7dCAkTu>Vo8$6IFr3Q1{ zS@baMr~%Y`5M|YzoBbOUneL%=k2L06*t_UL3XRy4t7fv{VF*s@`|rQs{-g(1O*xeq zbxIlpI=hVnanNCEiI%0xo$vZu)UFUe1{bgVDbXTGinz?~WtI{laPpiW^fT&NE@qBq zj_pCZ;E5_*-^ulXNhdBd&Q=Nf7K#c?RAx#v&o0b8BemQNB<2B^ZW}ebn>AVd1h#ny zJBo^h?&_A!Fl6z*8v*&3d>>xS`(FtJ{Kbt=p*mma4 zn^#nzP*BY>*9#rQ(hFBDaxNdT_Q@ao1wxVUZ?AZMd`Xw+*&lh9e*|)n)8QFQa<9Fk z%tLk%g|aIptdhw%)m5&thKV4!h9Rg2_lQdCtC#kM%PW<~_J*Q{n2OinTPf0H^C_&t zoc&A@%00fl_Q@96m*P_>qWRw47P;%nyZ7(NAuE2uCr+4TLB-9wY{AGrpmG*Aj*{G3 z6*SN-d6K}U9rglN`2MBv_Ij4ba>3aByg%}gp5bAazDEdWY{T95F>FW?F3k_Kie}?} zKFRBLc6NAq|1LlB?0xPZ-bMO?h9EgdYH#AfyxE1s5s6)vys);4wIg?@cPLwO4Mwk@ zi)!cL9zTCFZm%g6G&~~_2xg;oA&3Q_S9cVZfO;UBi=i&f2-d}NLOO2Egsd(%<44zR zxDj1gOC#n1*8_E}qi_>KgwVZIBs45Us8}Mm{(D@_K41%{cH|}Nd=lhd*-4IOT|+csFTRNAYHuS9DF4! zbXH8Bd)5cs%Q*TP^uCdjxl5;&U9u@5zy>hk+E%f?prun#a%iJ&1Fkmi=V)LxBUK1m zy#}y;fF4}a8EWtL@8cFLS5<1o_+wLTBwv!86sfT(Oxli zU&A8R@wElfQ)ccJ>jmj!9IAb#+QUs0&^&YmH;&VZZST1Bp&Hx4;_RQUpYey^`G|FU zO?kVIe?f=%a)b=8k2w1In2i{MUU{?+$?uH&{70`patzqu59T+>f*(8bqd)S~ymNYw zbWr+kT=sRWd8|_DL-yJ4h!i(=xQdp|{zm!szq@W4(On=wyh>FV?wT1dLE zdLdiqk;Z4QKj-oKU7kMgv^Uo=%yM`Wzdw$+4f+2tyK-|nT+iklk+84<3LE=!GdF$lK-O42UR+$&&_2VP6KId$3xqJ=5g;@Xq zAOJ~3K~&CRzG)xh;;988o2$i9Ckl8pBjpoY+v&F;rh|tYQ(bcMW?eKUEEselxI1)c zqn3q?^m;2D&B+BJ*hJOlmXm0yXb7+x@wiafoYEi;<2MZ~Mw$rXn{UD3yiwW((hCCO z8kFiLYDN1N)|rN(EZ@Rqz8vNSeo0O-$CMAN;!~E%A3dUNeyrOlwZpJ1W}LV8Imka$LE}%zAO9s z|b`0gj)Vqcvl z!H@m)SLFUMc`@VJJNJ|lnsbQD7{9yGfOFY7O;JKpF4s}O4x!Mk;CkhQ50uY7F=!`R zLrTAJC|Q~{S5>kh)heK#y3&J@vrvnRnR$(hHbfZd@>It2$sGLR5^+uw~6i&gzI|2qKc?`K!{_>cN3U6fh1<;77U4Ha2hp;*igE1$ZY3IC?Hxn zN0ZZZ@b1Q;c2+T=DIuGe+=+S+Z8JGXCj`;*1$$EIp-S$-T~)jpnmV&6A`uau{=^5? z`|rPRzy9mLeijkjZTvKuyQ#3dRQ2`%QW9T6#hhNju2Op)n4v*G@I=OlQs{&M6JnkZRJ*!oqgeCFhT=%O zQv21-C%T?!eRUnUME9`LiDN}C&vDya!b;WViO6P3Bm03gsu5P*Xefc8l}x4E$zia| z%?hU3lOtIMpwHac%Vj+LYWCO_HzfyUxm&QuN00A7SQjqq!%elcv07rS-{N;Z{hq(8 z&-jI3_zV1nf9;p~`j@_rr%V*Z+wNwFinuu-!3iSL9oL9>!*9FsX$hnddHr{455M3Q4L-Y)ZAlMQjRXB^1uFXzvlnNfBB!o z^uY3XWpZp;6Z~oz`u5Sk za(qwj?oM1EFLYp6M>Y9@A>bGRvm(^-+3}>_OOcBi=YqfJM(;)^ifMAOO0S?0w3u<*Jf;~mB8HnP zX%R>>R`EH*C3Km4q7%JoBQX;1K|n(n9aw``KTP?Vob%g2LS>OD%|ulRhMXo5>#Jxq zv8)o?GeV2f_?~S2BGcYvZX%@quVMjN5iBb? zm>?ILRJpK^U;0sUqk@<A?k# zWPd5uot%t?EMQWs0J{v4*Wd)j5TLshSp_O72-!uDL_@}AK8oBa%w)(eAqj`$Leb9U zx*J zEi^N_?c%+HiwHqlLrQ`B`+NTV|L{MOpZocr=k13Ljc+LBGcg)h-=PHweHo;5>0n7D zWT_w;iiAaFEuT?7EAsW1%3u1We~Yhv<(r~<5-Ub+CQ2MkAVb_m5|M5qts{J4UhW8j zlwy?9#KrhGe&w&qzw>YZHQ7IZgY75E^&%Z3bVN0aXqKL52|0<#JTCS9|KL9pdwO5WF2GwU#aQ2Nh$iu*sHvD0S=)NU(5NJqTR~p1YO zD%7#%>OSCCBUI{iM3kZ0>Y~uPm?mybPD(_&yKD+2XUX$S%qMac$aYuGH8iP^5$?Mw7WCVo6Z-kigtO`=QLw zA@Dk8Pz?h~62LYi&NJwWl}zkU+)1R!ncAEj@3~6B<&JwBM^IZ1V26kj8bu0v9eHnkQIE7BsIojRG1_5HVr3SRfGpf=i%s6lUxXX*4C+X|BjK!dg)|YVc%Md0QyvjlG6}a8(K{duH4loJ_TdCfZ=}}+LTBm`OO5k+ z=S~CGGD{qTa_Lbx96XhZ)wgJvDAi~@-LN<_q!kGVq!sGLc>e4i=9DO<5c@1nxq;Ek z4}MmwkU?Uus=5tC8;1R2S<;d$<0q4R~gMnnM@>w?S< z>y@AVm;WsMw~(iuVn^teINuKoaO-$=Bq*9PlSZ_aTMcXDb$P|B3%vIwxLdvneHfF& ztqv1aF&l9Ea?_s;Hs>heFj5pF!{q|q1hPlH$WQ{Q=I+@=Vvj@f<~jukQq^+d5s7L`#199H!y3+vVhAq#ZxBBa}U ztuAzhy=+LCNA68KwFkl+nMhw)z=s?+$3a;N>PTSoG9n;dS!v8HqcIZZ5z+AeN2iuD zwv~D7oNUA7HD*7;rp6MEgkErUVvPi^QkM}fKg0|@%LsQAnkQH*dJq;pP&Pwu{X=D= zl^IPV3K6Ygw-X|>(9J|e5s~lzP!FtWS{?^5{tMWQQf zzLbV!FxgN$Qh^rUAYIvfB8LN34Om^mBC{QNlfOOYyS8&)pIFwr@erzMoRX#cErj6s zEJDZnVC;(+UOTGEyESpgV>D@MBkm!0pzpCvCy*8OJi?O2u#WdMge6AB@sT2QLBo+b zk5u~l7WVBk&eunBKB0pNPNBGn$c-ZPMb!hNjx>M_8fviti&O31n$b%0OIdMTk{(HN zKuoB$KuB)Aj%>CX$PL`y4W}^2d#qht=c}-1`abM+tAJX>riwK%g7*l{CR3Q1!pwpSqZn{G!-u{lFgX(mO{W#@@SX9CqL8!E5`T=Iz4paE#AMJPPBa;17zQ^BIAv= z6QWOepOJkYf0?d$-rY6H8m`;}IiKkLFfbOjfsF28X8~`60Llg789^s1C)a+Z=`GV? z6UxXHiM}D4()^C7S3(!6+);fW;?5#8IiPx_nSm}tS}KCt5z~#nHOQ5g+j!UoAz7x@ z(^#*WA_1lhtF5EmRYBPi5?Y*ncA~B%o9KN)?K14W?j!eSjkqMNujBW9H|FJmX(|{O ztOV~82tA^jhA^W4Hvixs{~!DdKl3yGvch~kk)w{cDTJH4c%#>F6O$S}T*sNg3L+6) z(HzKGF$=t2EC1(j{sxB!I4+grbV51dU>3zY?(M5TF_!7(U`~2hI z{g{9CyB`uH(~6;Sx$*IBJU9iq*}#J6V1M4z&6tnE`rrA@-vq7H{T1`+ z1#NH}M(>f)z_K{Df{Q`JsODr_I7}}H@k1WJ2fy>tZ*e+(nPSH2@SGd`{Rbz9P8#n? z4_N4Ag<8K@95%!u<%mS%QUbsA55L2AuD|C8DNM(gcueejyP=B$a}*av8cHcJsf`h= zRW!|%@*%bCytT1`I~LfFSITaj@;%Za`M97J>$u#uZ05HvVW5gY4w#MCt+hrKW8MXu z!k_}0EK2X|(Xk{~HjB5p(A8mCOCH+qPG*CD1)5^#ke zLQ3=Ze#jHn^f?4VchCv4l3aQ7xIr*n1l1&o&$!k`AVa)xZbu$;!zLkElR@=XEX-6p zOIGn>8PkS$m8B2QStC+h z7#vd(wZkYDqj*@cG&onMyfCR^DbV^V5~_Pw=&+T~C^eDi%+{LFPc9(~T6yvAm-xm9 z2Y&Yt-|{#9=l@ZD`4|5p@4fuW&~cL)D%(U%I*!*VjuB+vASA&uK{x0NF=a_P_<4Ke z|N8B}%isIQ|2toK@xYY7#NGTrD`zw>SV&|NT?)xFKExeJxJpz3t-O5k6Wo9P5BcyD z=YRN{e~Z8JD}R~oONBWubkpHc9}r;~#kV}ZrNKbs4O)nFOQfu#A!CyH?QegVzx6l% zI`4i>IUEy*ywFP_#xx4_ZW44nRhFJH8Y(NI<0Aa!cizQ*>}UCQ`fdL9|MX9}{^HEP z_|uWMrzb*BBk_IXDs_v4$S>yAIysF8fpsN?O09vMqj*~U_dk7is$!&agCgyhU&U9hc?=PZ<=(p!MiHpm$z z2vMEAAWg@0vJV<-RXBzP(@HOn>acbVeAdm(j#CGlOceLp$NVZOtX@%+q=Rd(be4Qm z*0(mUf>v;3obJ>~Vc?J*$3y4#i5rXWfP@&FVk~*0`9-V_0&7t4qN2HCd4XES^*dx} zkXsqZv!FP`bUi9@LLM|~MEUfGdSK1-{IRNz%eNSd-m$X}ezO|ccAgYAo4HRHo@yr8 zm3z5R>I(`pOMcDKjhF^0a*@d!jVLSGhU`GXNk*Ns)5C=Eio`R#Ph=b3Dhrji-4W*m zoNryWJbLq#!Q=^dbauod>Tz(Z!UFx~Ox8z)K;r?YQZgiVLW$IVM+l%+T*QVo8rXeD zsLYF7Pr77FGlO)sTSNL|v zdJP;-6JPz{&r7oux97MgqXgJwMX8@3Rk1H*>kM2zhp%}1_D|^kJO1+j_$&VMFaHXAz2UpVc5my_ z!7FbbUQ?Him*0OkPka5o%3SB68YOH?GaUUI`PHxB?ZX@L_-2}JtWDddIwPj}MKJcG zVtS+41?PqH^jPwv=Y~P#soP6?n0!@uANtD zrs$i%I8HPd#&9GjR3ZiqO5zrs&4^;i|M!sWG_KG)>vjcCv@x%^2SzB7#*hq<3Np`! zh)oI%<0n3_fFI1})+j54&B(z)r^`mm7wq=J=9~0UBcdW)84SqJZ1*41WxEIFf`;GK zsx@}&6Dm168k0$G_8bwfXk+rPpoG*)cA{s%Z_*jil*AUQgOOSs`7?H0!);*MpebrK zj1RaKMkTiLK#M)ZCt>l71E(;do?40W7+W!pqq0{g%3y1+acfbwEODN^+P3)fU;itL z{eA4$k9_lsxBQ2{`i@%##!Ju;DpB_rCa$r{oBKKl9xu58v6G7<1$x7hh=RyAR68WFKB9)ESTddcOx;ODG zP%F0ls0@ryGhz%5wOGpn+k$waq)x;YZ__cF5!^cwCgPB_hhcc0tUjAUJV`~mS$_Jd z53Jvt&7-u4vMxzJU}P1{d+5kQv3Rauuwh~{#SFm^^|x3l+?vN*%hGb9)CkH0kq2X# zP)F3Xl4&^56gGCLC>3LcxiuV>VnveQ@G&*Unw^g0CYYQOH6p@AL#do$IiUlA5};^K z(yB+~f~G802jX=qaDA6CTA=Tw;!)Bos6$L&LYvd9h`n}o@7raWqTIeBZQmm9dtlhA7}7=f0oPRJGA7ebx_tfhzqM+ag3yfyWR6H z6}3)`WwQAh;9YV7Yzc3tSQ(^BJnuJoy*R-yc=f5F15FTWI@i^pr(Ng2V zi?r^cHe{4QJq2_zDPjF0VrO(Vv89pnSF(<;?^T-x6C~p^#f8&{glNb_RFoKcP@^+1 zu?KGOa_lS*%CFXUe0f~?=2c_YKQJWN!Z__F;suiPd^=d}Emj(9K}z1@$!~HI2hXyW zYczYH)GL+;rf(U0W6dG+d0Xc8v^hehm``$T?5G$5vntu7F>6X_v^k@Pt~91jEBg>Ji%1=b zB2xw5adVMwbn{5IhLc$qe0C@TfAl@W9A78c&431}@RrDZa}!uDE^*sTtdxu7lDt7E445 zS|s4pgp9>o&e&p^D^W>$xsN@dvj@_}bOSl*RTvtKCP==7G-cQ`nLxbE0p)vqK0nf?>pgN$ZYT zB@Bi+PM_a{>eQDVyyK&STG*N-_Q5$aXydS89hDXpgW#oO<27#|!96kJEiia{nOBiB zMI^hZwxPZJ=vu)N?_xh=p0>07|qN4n(#R^ubL>%v<*dz zVsVzh?CTf?S}#ZxLf+$gVH`0h=Vss~)Ebot3zyg;t(=oWMlY1y+w1CZ1Y5Jd2;K;^W2=N^nf_;n@u}IhKbrkG>0P7BRL_*4oUIqZ#9BsR=mv-C|&_qhxhuV`Fp0my+XRIjr87mnvIczvPTA|(&jI9MZ*N#wE9N4>Lz z9PDKR>gWtVrTGihkj#U0-|=>k)KD(C@8YowR9@nPNIcQHh}VsVa<&&*-4Ob`j_ESj zar#jPLFy(Vi7Hi`T}I2`4`|z|RAyIdh;rUh!9t@EdKbU?N^Jx8neT#_amWd=lGQg_ zP3!}9Tz20Xe$sUzGw{~&JZCM#Ux`{!@<|tPE_h2+pY|phM%Yp zP`iUx2R0@sZCIC%ixmV>Bq5)ty_M0r_&MVnqX%+_67Do<>R2BfIGKcNzjL!xymx#U zseHp=A+(E8rB84+I{O1OF(8W%NS4v{0V|7W*+hKBTbbCUScD<;;nL2a)rz)3sL9Bg zgbUi|r!*NQKm73Rx8EK=De3<0x8Lr|vV1@XxoE%$Q9><+%ne+Wtkl#)2XP@q(-Y0# zN470qgy>e0mupxfX8&}fjzQ2v@;-Sx(c|C?K3-yp9*RY(Bc`{H8AWJ0YDjEIbk9^h zsC5CKzdz$(&*3>jbpw;g_92W;h;Xc*quWk$!gCMRYn1%6e>y>^LKcr^&M=P}M72Wb zm97#6$Bz?fg;8H&c$5*5+s-oHQ$2?biOh(cwty60J-i{5u;O9&b$>FAg@{&LRDU1N z86L*bUV}a|l&B`S>@mg%T6|{bK#xow3gW!f8sVKtB~)G`+T-X);5+6@?K#|QxYyt~ zz!qF8Mvpd16uaVPv@+Z9t`E#|_cekgEJGm$l(4Zu)2PG4B+rTMn4_rSDXJ4EI^BZF zP}`#9O4dCn2`edlPJuDgFuP!BjRKVI5|m6T+w?7}K{Tq4z>Ve_Ghw=-Qo03ZNKL_t)| z=DgVw-Uow*XN}fIbd=_2n0p`^?MEDrdO!|GF|#OR%!P*$rUNrUZTutfle~lgY}@t^ zHuVH@50FZdOv#1S3~3vkB40|CPfWLl60E(7#%D>XGowgT1!dxQSl=SGE@(FjNs3gm zB7w;mU#Mdj#i$7mQL;K&Ox!mamdHGy(nJkE+v9$ zZ6?p#DMzcap9W=@V+4)}tph_$!2AQ!PGp?oUdVQt*8?$#N{vHij8RCIFs`zQ;o3wj z%kyn#I5H^Gtm9QES|o6B-b?LBv|YUISO`b^LZ=J0GOS7|Utw&RIj#pSp5~idySN+( zaKug@3t13v&gsrktJG#Dq-J6G+=lysn2P9%b_A(ZPH76KxVQ|- zb=+g|6SS+MbbR9E*9r7Hql%eH%&3Q8i7f@;1F=E$E-OQ<2ctC}mqaOz?k;G;RK!rp z9yluXn1Am&L{w*zQV%G*W4V)b5P|e@i1{(EjL~q0P^Kk336PvTz?z7OQgX(`{^7st zfwe5lUzgPoa+nqriJXOOgRwlK87@_MJYPq~DEtX8@{VWw9LHvne4E#k1Wre4pe?8) z-+2p-o1IiG3<@GkR0X3m>M=Rr4;x|?A;)e$!<@rO3~EnAvzV!QjT{8JK)*5v?geMV z#}dO1LZ6Vs@hE|{D8=c=>mWnZ8eNUxM7Uw&-E<*Rqxw#zBRbb%RldTAC>W!zRR2QN z8({^UcxvCr3on!F>mK0;?k631t{&Y=h>d94LTshlj=Gb0#_U9Wi+Rl{5c8oQ(r`a% zp5nPHQ5)57c;9)(Idf;&04hZ#JnvvPPPyFY9Z&N!6NRE1Te*;Vq}aTwo+H>fz#UC{ zH0^Oz&~OSZ4u1kW!>M=+$QEudm;#y+FCM1jMiHYZ{PzMws` zHK&+^-R|=4F?sr$F_zfKtap{0yNB8feH?V0PRECG4goQm4Ei`3`UOjsF`!!I5XW1E zaYiwC@%KF4K2X~YtYYGGb~yw?qFBOYN?SuOGxDHL(IbjI;B3=DNaG@kjWgQVW6(m~ zLbo1D%vY{K6mD(sJPw>OP2N5j(m82_HN-|x zjVvY9cPuQnyG+u(q640rhwI=+9cyoaWROx~7YQ$ddy5*KP^cN)GB(RgagIj!id_n_ zt+>dP`;IxA8VryGYbGNU_9!lt0;01EX%x(qlv1Re!}G)_Co$9s!zeK()z;SerJ8e~ zf{L(g+u!}92Uf&=&?NGomZjk1CZ!m*O~|;lJcC_0Xa`KzVpMs-qLIZ!N0sOWtzfw_ z)`QMKD2VPNcU#KlSBfX@92wEJ0FT7;3)ecRPdm<)s!ejaLf+&^9PoN>xjn-acexXa1=m-hSTxh~+n@s0OqN{QCXM7~0L$|>Fpf|_7qTX?F z+4)EWm=|oU-0BI#Wy^15!B_-}A%;VDj{U%o4>D?#a1&&e>WLMbPQ}(4wJ=>KW%MaT18B@B_I%S@yX*z*N%SvJ7!gB%1Y zx%~d=Kgg%^18zes-x%$a1kNG1xe0Q|{6X|C+t|&e*#OCM2sCZD?UK_XJ`xsRC_IqH z{3;*5ll>(7L=I1ALcvt0nY*78pJPKhgQGiEZv5f>?|A?89T638Olhzq!%oB$lScC| zhz>GWf+C#*3!em$2C9j06El@OGvgu}_CG;jOf1>I{B!?rdzo9c|%;09NfxAoh zpm>I*Q!G=$C@F~A&=Krv$WUm|Jxh&-2Vzzjh#Ui91Vtw9deb654vdQENtirU;q4<{Q0;4GvoQcV)24IZ1$RAkk>_y(O_h$O&Gd?Y*;g*bEqH~;>u>lU{>A^o^V72ouUIx| z?3g*d3xS}P$#S`$I4XC!4FhOH$XO9)Clida&eS>5kbGiRvGEN#|C;4qn-hZ~RW_93 zSqftg*G);*q_d-So;vVKtv>tiA%KZ%W5f;yi>=d)L%w$)^ZmMfh%t-Ij?e_EKEv4W z5J<&!GPg8>aDz5ga15IT_0h1yrMAJw0}r;%4Y$cG`{|w9SRHc0Mg~!aoD)@~jf6`g zWDG&dH2gSO1j7Q!lzDph{r=yG_W2-1jg(+r*T0(~R{v>N!kqKpmavL_gcun&y#i82-unLWV~g`+7q3U12I^Q<3m;nC-h=LXep^lYd-;~~8GLa1Xl zNd2ISaJt`tM5k0)7_nh-uncF^hv{V0PeiNGpQ*NE{S5`D)`pFNrC|6@)XaJB#JLAG z3PZQ4pf`iMO$i2ts#RdYQiqoAZ92rch>N0hycs%-K5n!jczeVC4Dc4@8_M-7IXP!U z!8%%A#PpnRYAZNTvqI#KM3+7;lUG!#Kv2Ch-GXx+En1}HLN=Lo3GdjLeX}A^El;)A zs1rD6K$vXhE${cg;lKRd-}2%8ci6g3&eL%D;&Zc?a5l|EpTqwOG_9;Tfz8ly8S{D7 z-S0_8;b~*mCAN;CB0ioa3Oflb5%2ZtPMq zD)2y(jD>S_XuXP$yO^05y3Jo@s0JC7dfPgj)@n$=qoDs~7?ipF*ldtV`W#5SwOCcm!KC~CXRFq za|^djv2_CQOrf-CT1*ah2`t6hgPclKd%z7ISh(1Vjh_WhbbkfII0_MF$YK%dfp3sj z%65F-8a_TpZ5_<`NrUQKU{W0T!k^Xq}1gHl2lsJKiE%yo6C>$D=yo ze1Tli3}sA&aT-e$DJWm!98NYO504MeKk&`Z{+wU`@;7W(W4{H|f^&(oZt;qYA3304 zi6DImlZv$|e6?5@qX+8YW?`d*v@@_1o$4o?$50i_GZl{*)7&hkoUVa7?j7wOVDYrK zc>V4j+xAU-_~U!>@qr~u?1zyeLdVJ&ZI*v$)(%T+1RCVTAVu+Wig=XBY&0y^vXasR zs7JU`^2!*;d^jZ|Ymlz@!!txjrtGAYU_4Mp!qh^2i=;*_hKxrlu*U2b&l&lg)8qg< zdYC(z7CAvtBhOzO`|uc3c@+b_+mJleZGt6q7Bpl4yN7rsHw!st+i3)JRcagIURg>B zyv#2Uh^9SCbCOq7l+elr2h&I`NPD9V!fTDvbA)(UGC;$0ixL_{4b22oV-}_5kYTYl zi#&*uMRP9SfBWsX&;RTH_V4s358Z+HrR3k<`xMbINo9h$a!!(L@{m5V3w)8VL(E0; zR;6z@UIeKWfe_OykVyk}OimotC!pYRqgqAVCQ(&RgRPw4RT3FSm%Ue#R@h%A`lJoX zIK{5>gu=>da~?4%M>lEm%rIjwRciT+jUuHMk+z9RBK3xJ6RB6sA4SDk!dTN6$>o!z z)JTq)z}cNzUT`X+$fnP-NJZw?q%=2rgt#D^HB2k6^PD6qY?kM9F`l_Z7FQ+Q>9vb% z#qR2)QUr}EiH^o9MFQi*trAvfCR7$8yBP1eu30E2Vk?V2Q0y{cM%jeeSmF(3fapys zaOfj_tc1BFW`D5TRYty0;(@ni!AcR8Au98=b0(>?jsmQ~1wl>eC|RcKZ0 zx>95di@Jl+lYHfB()GGo?4(`S|qwjF>pPo15(MTHpzypI4PSHEn+Uvop8vw zIE8&|#5hG_qgnwy5Sc3Z6bX?VB@bC~`To1#@%qghzWw>PwDN|qE|*QIEYk8qn4+e$ zoQt5*sOpj(RJxS3;2!k37sKw8x9j$fQr-&eIL{QlaQtGZ=iMtW{gkju*)HNq8KV48MSfD9&oYax1qFDS4 z>f@bpbYbBE|52Z~OvCOgsW=_V=V{-Fjn+5LdJx<6|_(BWV2UyHS9BtMzO*02Cf_ybOw6^ zOA8N=+q_7OLbgJdg;ylLdizM)oMo)@3s_&MUJxtO9O6J1f^U-SI&2R?rP|M21I3ELi!REgZ_2F{Eyz!#t~Y@_!A z6h_QVm)HX}W!hM$8QHeEbt=c?fcri_>!D5~ku@jF%wFjKS>#yGN<^A9D z<>Nna`~Evh*~s>8Ua8!%_)+%WaSOzzCT!{}H;C!Al)ErcOQW`fPhWnZ?l+q6?0b;e zX8hKjQNQLo!60N|a-ghI{lrE<$h0vjtZin8sykf+D}|Kqa%t{IAiukfw^{DDEzfFc z3?dzH_csWgAx;QncU*PazTI$J*}dLss9)sdpN8a{p`XBJ+P;2LvX-mei;+C)gD zut#l~Rc111e;L&0`E#BxCr>Y**!?peP8-3{4`8zlN?b!@n-5uWLQbM}GAG4a#CV~% za>tgyf|2Zju8&b&cu2&yte7oW%E(BB6{_#yzRW$1UvSAmz zX4E(*r%W`8MQr7nu8L8p;kfnL3dkc;ea6V)ya6lJedps#<5z$77v$?J)>8QD^&=1V zhK&oRLc$m+1^${N5he{Aa1MYS_e#c)bC1x$38+*sW!c_x*%oRgu!_pSZA8_B+xUb; z#fL}9hNdgnMi~}j%0T$DzxcO&_4O~ge*Fs`-@J=bHm>V6t}>NpVUz4>V-BuOC7hQ@ z+;u0JvDyNXp<5JllASbfWP3wN3(a3>d&Paw%ZC~Nd3_i1*co7CpMn&%jJpCJq9CFO z!eA!_M0e(e&m)s2H%cbhFF73533C#Gv4$A|ii=MyObm`X<`vMOl}Q6lBT?&txFaK? zd*x)HW(;q5e~xRqBKCENWsVA-Ba#%758MR8iS87(*$T*k)S!rk%)3VzN05wciR2^7 z7}0`Io&U}iL9K*9NS25&QZ}}2{f_`Y``ORpr`4ii>+iLZtlQa%IH!Idg<(vDDjBLdl}-u4qQcp@I__R zO7=V@J-3n7~nDna3>H?mFuzsw5GoQMH? zA5wUPbcT4ED~EJSTAZi@i7Mu^Zs2|;5frVooCVE1q!(H$JnxNHm&{RJ3=I=Q)?e6F7&q}@;X1F_DS`O~^o8)N3@X(tP7c#mid?APDP5(C$M;_j8ElmCg5@GR31wsH zUxc*dtbsg}bQ5FH#);~37WZVAmHZ_DHoI9NBn9wS&zkp;)ER*il@Nis*)D zhG?Ao!LmJ&A0A{jiIoRo)yl+%~bAAlhvG;|2ACObVYV)K1k z9EpoOTna;t@DGgf8luD`mn0$rW5@*Ro9t1@QYa;;?HMy?GRaKDoHUHj&+xJ{H@#A& z+D_&w3v($`HiLaG-a;y>CX7o=bhDDIit!3>4as+_Q6ea#23n}v#Jm#c5w>j{omfr9<0G}qX^3lyODzyz2XX@|a^Zo~=CL+o zA?ld4*xPH|cEm;m1^gsik-?5((e<2+dEY2`5EhZ;WcNl+bNGm^5#b^RRxNa9YpBEM zxl@NpxW@+4m=w>41%@_MJ;Ha0E4^+sJgka1pFk!y8e78Hr1p)?h+aD%pPu3m?YEdc zao(WVn}AdHXLt&aO)4H1mn7oxz|K>6Mb<>PCzjIj*w9zbQeVeEfA>zdOQ!IMk25?@ ztX(K-(T0nfGe{(<*i4W}*Ge@moZ8LiSqaof=m`0<$qn=}X- z557hnji=kr``bTKkME;C@4S=@YVq1Op7sIhlU#y0>wLrS5WPYX!VIwtOCoMBfL;0K zZR6*Ue@f0@O|F{lV%Djt1l=ey;%XtaS5!);V6 zqjFlEF-tXtlt?`yET(Oy6nbk>)G<>zhR>u*$@rMwLi3=>BwrOB_by@%+Cknn`q^R~ zB2Z}kd6t-k7#eek-z-KRVoOkWc&<*@_fg6toDz~MW`%@C&v3X)QKMKvyw25@NL))n zEyZBYrb=4rW{6BSwOL{+b^>ipMpR1oh-CvUu$bfxQnq2m{uY=U)t`t+=HLJO|6PE; zzFaTQqmPSNl42`rFJWf#K#9&qm4lZAoDYa(!Tx~QMj9)pWO0M;44!CILY@OnL{*dEAs(BQ5b}v+~T-|12S}ZJJ zlPbLtCNH!sQd*{%u#>Skq{uC*8YzV8D=sdFOUyu=in>M_0|_JQ072Sl^n1xeYL?Z6 zizIfO7aANVGK8#wS)(=K@XvIs93G+JXZPM|Au$pNc`rP|AJJ00p4&-%Ge0CFcYb9V|Wd1mnjkjylg1Wb36F$ z(~TcqzUTbick>T3=3Fk|d)uc()uFz+^SWmIPZ&hC``@L)ZM*+JyYbu4aC`M1`OUB2 zu>HTRz00p;OLm|4tymGU_s+~Zr>gFwyZScCCR^&J1lo|Brc6_&3>YE^7!XXsp4oth zhDU}88HNE({115QsSOzRzz@Kp9}rB7Xg)x?n@xkDKvHT_Et37Xx9`1GbxvjG-a8^z zEDs{DMHmvzZ#Th-7AHhhSt=B5K)R`yB?(0WJAWYXDHkF-|D&k{vd zk_iCnfkFbOrwmGO7d)348>(7qeM1o;L5>sP|=va zc{(2d$tUa3_k1M$D}Uun;l+y=_SLU`^>^oG{!uVLX62e9A!jE6A-bk8s06v7y}0{5 ztF5E9v9Dg21&vpNUWm!iesHTw*G}f(b>3mat!H*UGpd7~MNeluuq2cUB zPGnQ6J$eW$aP*lA!Juh!VI7E|dV)N8oxe@2qqy8WqQ!4BxsTn-6S8OTS}?)IDhXjD zv2M|qFgW&Z$|ek=tIcd`%(~)5y+>td<|U8by>OS}D5v(FP48&_NToRzNLCSZ+HE)- z@|D^$*1zTR7Wv?1V_m<6V*L0Q5B!Ti^5YcCs2EuAIp52Z`^i84_`4$(;E}al>82!A z?|s94#$*HA`OV+{I=}Umj{*EU+Hn2HeBbf|Bc$4s(+e81mvAHS)$FcM1`}{TyA)$5 z@xjB_{W~vTbExq7AHcu(#lJ*~Pe<6;8$l;mO$hk;Tu?o`vmmm7udZ>SwFmFL0E_>@ zH@?YNfAu?%;lq!dC47fZefEh9PjNrH$cbv5Eb1A>M#E*qD76sGycFfUt-O5sk7(ze zFMI+2m;Qw>k>`cG4ASLxOiL@Y>Px;*8iay320b_Q1Uj)0 z*!GPyWgq;7jCBaoC}#97o+(%aLh@#Pge_zCQtBv@hdAy8>0`L=P8TJ)I=!M22!_`i zEJIX1*%*m>t{yD0`o^(m4^gqTx$TVTz!y@Sr&hTvFOYc)YbFt zw_{{EdM`$Z4KwjhCZ(C|#>&|%N_NGyLI^%792KURNJ;g1wm9;j!kQS-Y5t*%V6hIkuD=OKUTok+vFx#}u~3_(TN5G~A>QHRcz)G~xhHdsre zX7`Lr^}<>N?FDB+Yz5tKcK8S$kRq=7C>{!rZ{TtJHuH@C)KC13{NzvkP41t*p!ihk!w7OKC*SfpOXA<7@Y}ztdbZO503ZNKL_t*Z%lz!${?BiN*EhuN z2|3_Jlcdn8ec(rAb6?fuh+)3t+X#}L%kCe)d@XA56aUH={NMgJ|3i8D^!sn~%Hf3z z{S$BfV2_Lf{@6;55UU;7IG>3{aK(D0AmtaA79%Kg)WTguXFqXjT) z17O+@o&$my)vjQfZCm|Y?|)O&cK+IrD?k0$f0n=S13!s`jQ2inKm#D-r=vb3UxR0z z0P%p!?Oh5fa#}L~?%#UgKl2Gr6L*#9Eqyz zbw$I&_=i{g=C!iNa)u;-Zjk;dZ^khUDXjI7}gM=WBN(_lm_4d96-;ETL zo0}9flImc%hcHm%qk==96JDxk36h#n>F(X6&bLsA4;*nusqE|~bUGKSi@PLM&)kQWxkEg1Kg8 zS(bmmpYr-=-V(n1?z=t~to)TZPiUIP7*O-D6>BCgN)ClAD`pAn$}wJUVYW7<_U|zjrG;23SS)uhtEt}UK{V)H>zro-9 znV*8!cqs4sUOphiaZTSbtn4UP(2XTQw;>-X`GDnnF6UQ7fzLnB{@4HN-(s3R10HUF z9D1eu?LqNIuhrc~{(AQ@BJ4Kcz1_e{V_Pd<`q6)tfB!%DPv8uTXWzANqG1JvsywJXe>K&5#ld}1=~V5L$@L4qO@ycI>H zaL|Q)8%NX-K?b=2LowS39tc5kb5QdxLNN0HIF&r)>)=L^fMMe&(JHE)UENo4)IX8> zff`;zg=(kkx;A&`Q2(D6*G;h{L&<$@$bGv2k+yOTVS8>Hg&01}g< zfu!mL2GcwRLJVUEEe%fvBOujSvND^Hy$_9wRAMtsJ2oYF&3l+@CCeh;CaU#(=~T%*enwzXe++UspB}Qg{a3vB`p(k)u+$lGMZ~E_z4B zNp%tFCxTW4r`g2R71y0;LIXD4xJ&O)^(B>!YC}9hPnb?b-zipTs%S}s5Xt%)F~w73 zv!UCnlJUNg{ffl~CR}Ys(#J@jaDOCPlOoFyWU^2~CCg0UighI0r|8n?btjZ}AnbH8 zYRCkg31+NTQB@`@)b#-~#d^cTVBTwrw0=blIy0glVd;pLw^=Yg3WX<0d4B&E=A*`P zJ+BZDkwh4DZgw|B0s*0W7z3nR1u4+M0x=uelzB;zBR}-RKMDLF2rK6|%4r^Ya?D6N z(fb2vqM^jO!J0WlM*Z0zxB{oU&$8rCiU=5wDX*v7e3mb~1q`(+4DtFtE|_T?7DFf=&b&RBtGpMhik z9HkVteIGH1pcK%MYa zX0#j8XPOzVfjDo_1JiuR`SKBl&^x3cT+Jv|sKsw@Az{f_G!iV`IOmaS5VT>Iu_a3= zt49|IL%UWeWKD>Vn?=l7fRh=Q-mwr^y@J9r3OV2d@YlV8Dvx=5HgYw@64jy6h$=J- z5CRw9Sh@1qkd-+KtHCBFbDF3vlFcZ(4dipXkosth zgksddFmaKXx(p9uj-Ka<`}=3V^8cY9e{T!cA1fXHV^#eF4f;a_rP2L3XU=OR^_gS6 z@Q^R`k_bLwX0*N$!bVdEpP1!L@r0EuLk@ zeJ8{XTW9YoOm(H$;)t^7M{eO=OdrsWH+vjmN4ld)T%mGik_C0VjINybwu|W-f=+JPu%>9ZGWSXiN=f6}+^TV$-lA*sa$ZRkMDC&B zdxmHeiH60>%8^PS@MC!&wf6?SS<`~$dLFI>*AJm=HsyY7yteRA1JVBn~4x=6p( zCg}us>CzonHKb%z%-3t7Vyv3E%Zq2uQa1G%0(lv?#bC7REcw7?y$;`^f!o>5o}xMd zA410?fUZLpTvlQl_UWq7!bX-88Y4Zor1_2_HatiQaF`cNG~!{;^NyVjE>Gp8FY|EWim1c(%akO=pT-STaLv zrs9Dy2QbBjhQ9k($;~PH&n-4){WSJMv^CG#eC`Tu+xOFb3M4E`r-sPiVvu#II zub7-L=5YqrMlh9G@bhefbr+mek%Bq30275k%8S(YK3c~Wba(e_Z&*ANi{j-@l$F@k ziylNZx>+Kzf*BSL*xJx}A;y62UC_yUN35+LWDzWRh*iw-P&2L@jXJdN4d6nO01V@f z^iGk993pc!5zHrDq-w`Px_yaPgy?5>LRMLdA&PffL>v~>b5C@CBy6)x^XE|eO@8|y z{t7?xm;N#s%**|4hmaveK^wgqK?SjfX_jQ&34sfUOJ>sINhd62O4xb$?i>EzFML^^ zKF_XqnHZnaxFcnvMlQos=VL!fQ$V$}j#py37Q1%Kj)%kKgBw1jU)e zvCwE?5!hXN6vtRKy49nEY@QF_;{09st$+A)+~2<=hWcqbjUhIH6ykVKwtnKI2Q}#~ zKJt$l+z}N)@g*yJY5dY}{4VwUK5sua?v9ZZXR5iF;?2rP=3AAZ8MEg2gP2B|W$yvD z>ql~}1p?j*5`a~^&*dOJT-|FYq>j51$<+49q8Yyxk3vv_1cDo-Ra8XG&7&h;@Ia<@ z#j;Cwyj#a~;BT7Uip&C?Or?vW9)b%sV8L7ooVzi1kX9sgyjT$p2NqpC=>xRqV@z`s z-cK2XEY@*NDm5gJD7KFUs%6E+nZ_oYnD0n*sg9>sKr-5HpApY!R3|5DcIHVW=lp-a zc=4kC_HX~L@QLI0&k`K{_EvM(92Bl3#%IGywR8BZtsce`_y*kDoXYf zkuxnD6Gt~L;+`>9ENys6s7}P-BmSR(l4xDgZkW8m0=|e)?UnD`fmgCLdLFeHRLN2> zOXLaMhLDxp%r;9!%pg1m$+UtiN4yryD_wV|FU+P?-3F<~5<>B&hSn?M2OzMj@|NE7 z`OlyDgFia+-~Vs_4L|W?Kf`C=`#w}E!4sYA0VGmx$FNbcZ}`ngIg}>Sfq7^_bK~Z+<*GS-XY#7pyh^Kk-Yd+CmM~6u^BXb$ve;9<(1sO9M6n zl|{!5jrUG(E92}XKbY^p; zpShqn-rcCdMQM=4jUv)Bb2S!?vK(jTdHywkFMjba`k#4*^~VFG^F06j{j)n>e*EAb zbx18qAlY*|G3^hWtyA}B&@Xscyw)?b7pguZ)OSHQurry!#5CxMcJfYU($xW`IMK>8 zkH%p2#7MQqQIA~g!L;&2DX`rHz2$;+SU!5h_wV(zE)+ zM03CuBh$plf_IW(o3m>q$Ie<-RAr0q?$T$D+clf#g<-daE1V`aS=KRqcL}iE% ze7rxk$!&3{26yWDT%ay+FOc8H+9SHX=Di=nh0HSDL%4EPCDsGQRy-$11X{p)CWM_9 zPxPP!gLU0_=lN$`>j%7A-|#>G@BafF4>%_@K2VCHWnoHh$S2%*hq8{^$gPp?Oi)(H zb3^mQT6VacIlK*@y@$LU>Gs5fTv>0oUWo%|-Y{()^950H5#>mvTI9U$WS;Qe+h5?} z?(6*8uYJvb?N`4x?pC;st+Ft_t=zR3`CeGh&9U*HZ4Uz`t9KD5x=}cBwmWiD6|MiKf`_Hvt#TfbdpZ|FQe)HLr=a1i< zK75iMU&|SHNuVi7h!HqA;X~#gFbgObS<}^v1(tfDqz#x^{4Fe0c1~yskl#qOgO|QY z^VLl|hmb|}yN*pXJ3u+Z{Zn!6SQ2kFN{r?$1hhn2A2VsFLzEyUN*{s&YZTougSn6E z_Pl(^ZdttEdDqvhdSG%S$i=&6DHc4Blp9e4rmtB2G!~kYF*U3Oat|0Y&ILFL8a$}T zo9&8XPI4*rfU|qz6v>z@4UA=K$&_Y`IVvt^*mDA zQGMb#2LApA;dI+QK_<(KPk+g$@(slQkk@an)cuOeEg_Jvc!Jj(lEb&WR>aQ(!Nr8= zj2{-behm3^W~p%hSvWmc-dVmt)wejZh}G34HN1|2{UVv-1+)-#95|%oAZ+tCKw_$xS97{VfBUbQrhkS>WVV-A|h9A=gpf=PGz_sP#*t(FG8846#qtCCXd@L+g1s28mt_d<&jh{?y)G+{cnut829EQr~PF%#{? zE`=xQHM^+P5+Dfh7Ur9nIm80&Lvh7b0>&0pv??mjt`Pl9??*f;p#-X3#QM=)vuIgR z%+FpW1G*g%?4}KCk{w4L>1`I~*kN?FMqP#VT6v^(!)v~OTXaShNf!~sZhCYKxndsQr)rEmD@^aGMlZ{TSg3(PW; zb))!7UZTAD=gqWWgkLo`X> zGejl&#$H!Zosgh}E;uVSbwAt8p(>~R9?N?tDceh&OwL6Bs!e!Uu?|xXT-Qf(Xmlc` zM?&u+?TEg6!7>E7W3sm;r-^3fa~})EY9OVEau^#V4WNbI#I+l13g~v0bR4sv{el=* zzdJ2*uYZwGzim=BbM%#%8*Z6OK|7T9Hfg&#+@Z@W=@R@tzblQGMc@&9g7z@f>m8&o;-VNLB@}W` zBwa>H*`S4v^eBnov3Kzqk8&rgtrU#8Bf>haUmTGu?%7dPavyfyq{$T(GeJci4S#=;rfnPUwgh?A*&>i4cbdC)4d<_LT(qRD)A_+ zl4*`-Cg@jLQGx_#QA(Yt=S|Z6f~}LQzLB{FuT{q{ICiYxNze@~(DQ~_@L=n$6}q!a z8%L)&Qwt;)$(pHhhadz$k#H||m0iTAbtWdr`Q-cdfR@=kFQTowN5HQ_-@JRrgA!90 z3CW9@tbV5P3ayaS6Vw*ZB3P=}W<+LU?CchZEM66?W!J8f^@62D>u)&d>SFhJaLgiW zgH{ewLW3TC%5RZQ*_SZM;pc!}pMR7InL@^JJDJ2Mamko6SNOwu8 zyLQ8}IvvcbXUVkoAf1Dc>9LSBQDtT8l^n9;3GbC6iUd5}u7|X{XGV1=xj+vr;Ctw_ zZez=yOv)wr)1%6gj$pedmNByEHe?nFUvv!M8;#yONhXIG=4Bvv$WHC3%oGb_78zY+ ze{kY*qpT{b`G!3Yo}zKglN^uBSNR@af8v4hlLF#fZ$10m414^s14)J>WeL=FUyO2uL%E*rZQ@QBi-ry?O7$N@SkR)<8gw1!&7 z^b>H{B$ifcyoyr@*~p#%!OKkYERl>Rp^6H6hk(#b0!2hdtKKP;%PZ=((mPn(KvyYw zl3h9vb(KB~lL}Tk^aez+2qeXMiV-DQ06~tk(u(o)_zo~}t*@C>N4&c`=!|K_+HDBQ zMFNUVDv}HdGm|O8GtAx=IEx5~ECgwgcP8B!@Ns2*KpxME>Zc&PkikR5?JC_&nj4yw z)?F+?ST?Nfcv!{Q+0ALz#T&Q{F5;RKg;T8r} zteOnn^xWtVog36YT2T zn50N|xddaiBG!!(HlCz+Xv`@0QZ>+SnNU;6l0*@44IJ`#Mk6=b;<}1=gV@pJLduf$ zAli$#t*k0SD-uhQ0ef?T8WKd7bYM9u$K(8eey z;eBQGBtg=s+t^Ok#vIPjH(Gcqsz&satfitMKwpGDYMVudz(DiNK@#Wl&MBW@E$mta zIXPCqm6VNMcbW;N0qTW`BQ8ctLg^JriM1EB-7$wOO<~d}?0zNp9R|M@!iTs$WA7@~ zgeZlH10^WlABlDnGxKRtwA~XF>G}$*jyafKh&tn|5do_^(1@yFPO%lyL>2?>G`|&^ z9oDsApJc;arIiu4E*geUac!6?qz$%!g$3(I^eB6WDQB|2p}XMPK@F=JF9X+7d*bX3 zqET!m1!0ke>Ye5zM5R^fp-`q-QkkF|-2#WC6cdRf;xTS8HPQ1cqR*n$=xwA#x&+KC zfeaK;-|2Qhi89eyC;k}AR*tSY-L`Ct8s2g3B zZUys6ram(!5ogSm(2ND+R+1xiBTMGk6^+4jR5_iFEX(N^{Beg;&fdb)!KLo^ zE+ns(z12*w0{|Cmhw=>TC+~Y44coA}dWV{weWqLWtu*$&xf8th=a@IQaCMRH;$!A` zX$9sJtrr>{n@(izU0sRcDNz@yDLWms(rKO*ysqBcM%l`UhnUbz-E8q1A3UbyG;>Ns zcnU3h^@i!acd2OT9woREX?Z8~;A+oYb#`iof(I2u#jP%G=;)~?gSNSZ^9b4+bRKCG zkElmU?j5&Q*i8qX+62+!uH8#HQ#u~h+`PCOo-C7FCZrBJ9DN}RC5ubKjny&p)~>9k z4#B05rp)XO2`d}L8+ayr&>2mcwFIiYL~SS5;7T4l4K4+bcnN`)%tLSVq!4EB79E^l*jV>Fgecl+;6VU?J!gXGOKp zbj7@QZLc`ZO1@p0^#EvflK`epR|mZI?qR5JTt!hcFKjr`tvRWh*A2%iO`B^~(23Qd zg%zuY)$T#Fqrv;_E2L}jWRCjkT80dTny90*Yd^`)(6+&b97vt5Im}R35FymB_(EOn(`k4 zfAGgQNPq4HE5=AELmmI@*|Y!k{>h0X2?@b|LsCU%pD{$TA!YeUOdh4{ zMHaK09_qD_FQU^MM1oj&NwHT#N4Al+rg@Nae=Q{yK@;b4W{z35mN~P?$}2JbNGiL8 zBzT%|&L9rj#bQHClwJ_A4Go(#f_MlboKZIVs%Sf)`4Q!{WOXcFMWxEp1CgT`cQm?q zs+gT+3vWazm^LXqlhA_Dx0_dS)KRi7#GY7GiQ=L%zKIbbppXlaBRSlOr2u)CoC7g0 zL>pF^7D0@8%{SDR%rDvgoN)|$**C2kA(rZ23u1$*+s{$+DkXm1}Z?9$d z52Q4c2;}0Z?&I519dYnrpe9ZgHAM6*MGM^qTVDDDR#iGda=d4s<2#Tt9)T%{sigrHKS%5~r6aXT~JA*K^5N*pCCQ8%$+%O#D%y*PoW zNM06lPIC5LYOSI@-rxX1&?K0M8`67)Zc^9}G?u~_El1rO${f^iS^=xtklZBT6W z-tW*nV|mAW;VK(bd`Zyi$l&i>&yR4NeAgSl+l~%T@sNFuJH%I5K0wKMS7lU~RHJS?CKEj}Vvm~kIm>?epRyIpC#BIs+hKXJAN=pK4w^@K?SIb*Vs@=Ps` z2IpFg5{%u>gkZP2Mx%YQN$Lt^CbUW`j@HbiJ|vmiFiV5(nG8H&Ds;L>9W3o#AMvmP zMk^n%KNuQ{n_kK3O4pZ^3WSWQ4vDmmBV=#*ByV|&WsqC9JO&g&=x(3~)SgkO^x!l; zAowdnjw~8ke7n&Y1{HR1D=iho@1QDfN4CB2`teN9#s?4IV6PiRoGeG?kl8McsF}%? zXvQ>U)Z!pkS_CPmD=9>lUWk4rY9TW*=M!p9u}0li5T(lAP zrUoAfWuWvz@rIJ=zOY-R2Wa)egKf+;vWO1xmpI}pZst1>EVz{l>r0+Q^(6*EtCZ2r zbDQ$$3#w4NktCu~(T106p}Y8^C-;ohykG%ezq`Bp_M9>?;-ZG98~Q>Si$aDTp0U+?hzFu(ngpsXC>!|7mS%EW z5GFj|zSXOs_6|8@7A@={V;t!|;KkAkTPZB3XDq5LYDjo8KzRFtmWXoiV#7mQ1rFB6kps);mtdbQ^s_Exx3HYIg5X{E@fc`C*9(LjyM5v5CKApkdTPP-x2wMlSDxv;aJ2lV3;6e#u&z#FwS^p zJYRV~`t9z$d#&}Xr>gF{IjH@{781fUiM)$*M)fmcD$Hr5-pvZ?mq*bjl}~S?z&o*;7eOTBw&-9IkFyC}0~J7gEa1(P(2ohlft}He`R6N3~@h z!Q7H%Lbc)JSMe!;O=lh`;o)bCmg%* z{3oBdNXCnKv3KKwNh`e-$VLuAN4=SXW_pTPUs0>fS}_T3<}6f%BO#s9c|0(wPNT7Q z#&O`&mlszuvqjg@z5y?&;nEqs!F;64MluKp2gNhd)%NuAhDDD=jr6dMzxA94Q9Y@j z&AdK-p|v|iii*3s&?j}wE5y8E22V-*+cAT zaEwZ^6aL6QE1G$;CR*>bG5vkKP)Z}E`>}c47K4H;JR3pn}4EylW=~Cky&*-$$sJKdB)dOx5rB{@WhJ@8XC|78xGz&CyR0=iTW8n>=PA~7{VuW6XCf%JZ(1Zb}*`AX0 zj!Vuw)Q?aNoITOf1I2#%D!Jrz3o`Qu3 za+rxx34yUF^uRf1N-}l`{gIq%{T@?ru4u!fL?u!g8Z!+Y>S5G#+z_ur-G;IC1qp>( z8`zH03#W48k=F+fbGxOMiDnBbL#(G6oQ04xLPBc+Qx3ZwOa64{Uy!`==5pfgYTO^+ za^8NQ^V=2dKo2WHFRV48IPYt!LL>K$Tn{8$FyP{WOO2>zG#NnyrA(vGia_mH zX?QT!S|AylLg@`u$Q?o-HCSr8hUk-RA#X{ zqk5pE-Qyhm?dVAP3G44bi}d)37>&$ZVtj+8igQPm1FL6I3bb34M6jXrmKH>PAT^MP zG-cn8EG*zcFO|zB4#;j7utE^o?>V28ZjIyl1ELN_SYv}wkz6P-Ntj0R-=&cC zf}0VDJ%YI~v%cJQf8NYAirSS>Q83zLD#nVuSzz{Bbo+sN|)ZU*fE zv*V*6eox>Hr!kzG8gnjSM`?C1r3*bBIANok zRWm6#p;me+XmFV<%1#PbC{-J{AR!xABbN{4a8RNj$X1xFu+JIk z#x=;^lq`TZ(U@7w86=Q;galn9t_`*GC`wBjQcZWN1qqKOY^6y7@sxy^*-s)*?hd4R z`kOz>?&?pxVC9@YJr;id?(XLINdeOAAx6S7Gv$b?;vtaP$l3?%2V-dq*FCeh=VV@U zQN!gOCY?18zGA5bv&zidajZ(697a~gErMpUo$=LJ6~qPil`=YcG<$^4g-DW(24vDG zLexDa7_^l`dWUg-ENMH~%v1`kUX6TJg3L9s-%z+3KRXuDT$n>;-xG-$m5WG2vPOvd zh&mf}ht7u-Rg?n;qW#DsfxYfwTgTi?3#w-%8Prvz1w59KjcQMUTZ$e;Q7HvhTcwsl z)qg;FzH zD37yEW1bS4ccg4Idn+b0bN?eUP!o{Qh~^YCHY<|jBAFxI?$MOT;5-*mE;J&&W?07H z+k(;L!u)7Q4mj3@t_h|g>$MJTQ`R8hBIvtu>#Cr64;;9+N^$4X8ue6}=l7ZTJYXcf z#;kMcm68%RO+X)rCCSuQiFx!3g+QxdVTOJnP6w*am|ys#Z^MNysu!Z7!~bxZcV{9g~x?qokE{0ILf_<&^1pU|=m|sh5?{ELRvRLZt8@QWti? z$kS;+1MQkas1yumBcafhppj;KG;e4q zgeTjK>X}N%c+6duLJXCnJF+z5k_i~%^O&`TM2O)2z(gnaD^xO)BO0%$A)}VrD3qei znuxlRf{3zFAvD zh9|qvawRXw`HGb9@C^I(gsji7v?tA(+y!$;8gVitMWPc$!H!frqP8F@BSFzi!)j$0 z5}~iO<3_Q!5~avyM}$NScL0*K5jC(@B?8Zu&mca@?(hVBECi|>D+`wHXt`4r5sQR& zLV(%()V*v6f(N21%QAsyPJk^u9xDNTKq*X~hikDI77XhP zW-1a2sV4%NNylxX8&p5wJ&cZJ-H5#)DqJu;Knk6#g%TPvf%ZlQHeK*~VmK+s>Z#Sy zQblX!&FPJ>U(xg&BTKcF{jz5!lR>H*Rp6{JrO2W)rS_qhHlde`gt$r%D~}{XjBR^DKQ1Vd7|w1%m4i1#fuO55nu67`VT*a`aOUC>~G!P-2G=C#E&H_ zUV;ql>6B1QSZ<=WcP)h}9HA>FC)_iI!fy+ChDaul2hMH^cVJjv_L`vEbdVM0@dRK2vJKwPFNHT*;m!#^igDRUIvn{StZe_KZZlG#mVM zU&)B0DpaL~v%6(ui~=@T`bg)?M1xv@v}ANop?&=x;v zB}kBWsc=0l-tGsAHub?DI!qU_G<&nrjZl;}t*nMGA&WkKzSitm&mIZLWdKIZpMjpB zU(>r#*6M)=>KS>Z_`b~a>gh`)*j?-`N&Imp3Da?GQ;)> ztv|?z2I$F~CuC?SJcyEm_=Pv3@-ZIvK1JhNJ9(K|QblU!SQ#c|9M+@9r4Q3`K#q)j zf%X;aiAxcJtE)T+0j?C@1t@^mXTA|-lJ40QON~|zq7gUVp>>g{(aoUOFibV>9&2Nl z5%%_tOi%}gPPnz>=J>}TH!gam#$L*Bcwp#4ZLhUF7#D#GlkJ3T}~ zTiGuY`~87s+5ZMV#_LbKV12r63qgPX=H~DZ?rv|sbSan7-BLw>92Yt(8g~+7Axfh7 znNk+ei`R~*e!xXGEd<2=nSIGKk-Rnq9kPP|IpefLA_}rn$>t?7FJm6iC z-0yhy>>$gsXSO37*{3#PJ&1C|@(q-NbYWpHRUc@ZqRUK{llPL@xbXJ;hV#3RMYc1? z4CjJS;$Y#HPlq*(8r0(#l_6pf6xe_r>}J4rf*PN@{i5GoWt1?ES^cG~Wn*E-l4dS? zKiKYV2z(da$89kr$6UQc?ZTIgUBRak{3a`z8%|4_E;)|T%v`|Of($0QRkiA zLx$*(?IOsYf{91S9+=cAAR$G(L!pTVbytyIi^r~_VUSU4Y~rObg^Z=lq{1Nc2D#W} z#1H6hx(a##s}3%q3lbMXF)r$OLN4n{PLVlZ5!G?-CDa|2K+0iMZxv+9-pxo6sf_xS zVM54QK~y4Yie0(l6?dt+P;BEuSTqI2@q7g@H#q}dCL7{O77#6z-B z-3`WvtRA2~xS<3;fHb1*P(4CEVNHn~$Z|)S-?CmhrCj*v{tf5TCrkp@PX^2IdWIMf zy;g|hC~&zv%Bl=s15yN*hkJHc;|Owmi{G!nJ)94(p*{HZd$)vTkqB(Pkafq=BdH%D zC<&#uPKeO+9A-yr7<&!0d(jm7iQaK9kCc^q}P9}j}tJNWPo{?TiYTR4A$eDm~;Ly-w0l zN>z`ll7hLGLE@c5#)@N;aAqYkyM`{S1(XZvakeEjFso7?Nv%?6NalHXig1JC4rzD; z?PPvDeIog`x#cTK{fe%^UAvr2@lrVKC%2AFLGhrEl}LdYD8)SC(iOMdsKq6f9bSqP zFGAQeu)TSFI77iT6U3P%`pwN%xVgFgy%#TDeCump`k;&QFoFaDJA>$;U!1KwOlA;Yk~1V(?C|-%?Q3{i4PuHp!Dct_OPOH zmN$0KZramZLE-^R8=)7RlS{iMWU->uq z!WVvyIb{kBsy@cn#ibfPp6?P;z`D7$DhiaE{IFjzE`0pz+x+@({4M|OuY4ry`;GR= ziQAVq?i`4@qZWJ~AWzONNKu#zZpDQ?MOWF@%A5Op&L4fu`|rWO{wqK4Kl>B^Ebl-2 z8F_vGp?4Z8i@O&(CWwF+k{mEM9$UMfREZjK%s=|*2l8M2H~*!7;~S8lz^jMv^7*R{ za`54YjIwD%tYQ+tBOW%FI$}(3&PV6rV|EMt%AecuPyg(%_%huw#{~j@T34pH zNDO;4W>@;yA*0?6F6HQu1+DDzp0}^w@ZbNBzsv9Z?_cxXOZf1^cg*<}Q~oRm&D6_V zZ`$#ceIg4blYPVF4fr+WmDzV}@c}j{m&Z%13iRwD1QFbW!~t#$8^X@B2fEc!Y|f+q zNe+-@Oj0cgNib0|mCzevWk3gVbZEpdG*-97k@1PfBX9S`d&#lZk^CZywI{DB_U-K z)d`&su-=1TXl(B61NT*T z5xUQq1aynQSxmBHNazQ8YQE@2E-2JJ*58r1M%x2t0G0CW*4iiTLo;b&s^| zox@I4BZi2CX`o`-EQ3{WPqaq&Dw8raT=kwD9ks}%n;36~Y+{YrPRV*15+bGrWsC1XnKnp5TjgX8SGe7&Kg+KcX ze^LJGfBIMW<{y05<+vz9T*qOh%f8ew4zfa%JsH!wo#|O%Vuwi{7>NRE;>UKf$PSl@K&iB;$9da}Lm*^_p z7L=2S2Fx>Nf)YgfkeU_`QmT36C}&om?5X6qrNHD#&P@1N_8K{Dl9gC%hjiIJ(>I z_|?DotMcN-3xD$D=5Oa+Brob9uBtx!-a+u3J!o*qz8u7_A|A{8#9lnhE1!Ae+oM## z=w!=|eB{Al39nJbr{JzNxhcp3>L*{MV}15*J^Ow)`AYPjP6SyoGMWP>lS?*aZ*I7I zJ+s!u8`VpC>zX5(GpZBa4rD-cbrq+Xdsf^NSjjHB(3qW=v3T)NcOHv+o9z1+*;7u$Jkxxlw;@}~B%%r-`gn4h5!(X>9&KpOPN#Q#eE*sT{{HjN^X%ytT*1w{ zpG)_$Rc}`CX7pCZV$+6(%+26pzBOmFfOU6jbF0m>8rN6P{a^U=e_{M=CW>#4y~2tU zT%0ly0o4nz5~$uwa_v{HK6$$|Vm4mf-toEj|2ecw4&r8G6I5$+x_GE~=n#6NT?(Ze z^hPj4%pC3BO}tw7tzDSs8~?Zd?f=j*xZUaC{?AZ|E@5(l`7G+C%oGLJj+P0r)kBU@ zPJHr!KfQyO&ws(E_!(59n{~v^duuLMoiOxm7~XpTHyn5IfP!ZP>w(@b-b(R#pZwqb z_x`GPdFs!fet}EL-nIt0usLp)i8M!!cr3s>FDAGK_W2g7dFdab(>s<9sSF&p+Z!)r zwlI5W=2U#@&8Zj1hmuTl@fbiQy0WA7=EY7f`$&m-=wGu?L&keTw4%X1)b2su`z+Lg zo0*sRNM6uB>P2m&Sby;9>^fasSsaa?dc|>vdoq2rHW0_$b()9-vL??_J(R){cZ5>e zB>P%7*IInSQ4J2}V%^p8$?!~MiL*;ep4oA|EG*0J_f*5z{vk~$*d{=_fx1`B(V zEZ+1qj$Z&_q6hb8kmJnYNuRLVk?@pdQQ9%NafP}eee)$ZN;8l$jw2!BYrxozgmhUw zP6=xl4?vCTg=)1u001BWNklC^kl?e&b2G2IdEG|IX(?7kL6Ml+x($3>SO6uXmsl$F+igsz7bSmr3tDw$PlQ1IPz^ zWLEO^=RgEv#&K62h4CO~wy|Yn(uiU1O%x}^Df~HTLSct6+eY{RC z!HB`x%E`OKDX-*^i8;HPayc92-5AXiUZ9peXXuv$u7;#hJDWbF|?tPpn>;lDgTEWu83(DIP%g9M5l2ZAcu&`(i@?63DJ9xL(L< z=~qvdaCNo+Z(qE4Vf>h{A9=z0lv#7QK78f&_V#;+-Qn~1Zy)d^2$5K#%sG24hV_E! zj!U^gc#TE4*wYaz3m-@-vxjsN^X$q(h3%!a3A0kVTqULG>(&+B^ zgJQYx&2N8KX1Vj}<~_W=WpW|UGwZl?kcyFOcMFdrs5n!bf@N;5uF#v0<$E9B`>R*? zNPNXDcbMeIo`*q*R7SX39q%$KK!u1|5D`4MAnwC-ycVn}AAk57vIA$d-cd?r7manx zNE8|YwKUS!wuxB+f?L>l@7a6YA7687@cQ99T)llRlg_SkpaGf!(!ssbH3?Qd&=ASu zt$3&7U5V;g=mg0q7lJ6SKB=sep=aY}d5$bQv>@8mqb4>z4H-~Zh>CI&Gbhz$oG@A= z`ju#S>rCS^BF8hu7TId_B}J@fwtiv>AX%_5u~uVBom3Yj6*L3}c~=G7`Jp#TS1gRq zA2h@l!lxx}-N?G57~}Wf12JU5@YNn)0Na&^^`7g)`^3H%)M*G#p|TCB`mw0{CK+<*KDU;p~o_@!kx6!&3I?fTdi{M7CA zsbZ^(h5(v^O+18JRE zuvlo4g^pus$)6N>IFI>3F&gK_aTX0dTMiL)j zJVTn|*@$)ozjZ`$KcNzFIeSCsOdixns!$ekKcRY}w3T2Bc*G=(Vs#s7XO)V@8*d_n zo>=tYcQ+qnc5&mHW$wH?RS4=53xhM6JqAOUd6aX#kE6o;T%NyNnD4*K@BZJv!FRv+ z5$}KgeVQHUthi2opoy@6PNdqvi=Q-d9Wybk&a!Z<1#L64Ox&+$zV(g&mFw_BKRkPn zd6${#SXa=U2j7T}hrUpw4c)n4u-Hf0wHkAVFFpTh|B!F;mH+EE`OfPP_`>J@3`@Qn z;?7`bpU?yg#jOS`b)PL$$91;%WP~~jb(;57Q~&07zRj!e{9W>LVLm(|FUh@69Njob zC1sE_vD*0&?>qUWRFpuN%|#kl??30sD^EhJOrwA z4?|o}m*6=t2Ht%LMo~P^6Gdmf{+%E2t#5pp_io=X-(+@&OjvCk8^w_j(XLb}-U%ej zOyJ(14fM3F^nUMU)cJ737a){tbe^2k#wZyM#8J-gu#hnytqR02#%O|Wv;+ZhlMU+P z%Q7Ai%_^PfW;-<4khq!;cV(~G#VN^w?j<-6>x281ad&siEd|uN6DQnl z;LB4aci4Og40{yZf}3Sj&yFs*6=Is$<9N`4&6b8}q&w_gJO^Q)kn5|3Ww-z90KfQ4 zzt~69@K0&M$~p3tulz6a;>C+EfBDN_{v_q)Y0CHBR}m4Vhk$87CDOg4A+ygPx^5@& z*8LK@G`ph2i$Aj_i)1eS!m@&=>=u$pSI^ASvw!v} zA1SGLskbuz5XH5rNWVqW;`AbtPq+!^Xe_=usE9SUP{r$>MGI!IIY`8@Al8zjNr?Bu z2FUg;&1a^YAmNY73-vGww}C0ADsLd_H=JT+QBf@LhIPnv|@SRdYU zbA2t`J@>7AEFZr49e((KjJj-_VZ97`rDViyJm|7N`ZQpam>+jJIl+{NJ>}|JW!fEZ zTV3sz5)gE93ocrmE}1kNN_Mo!R-Q4XvB8mLVO@(qx%r}Wo1Ojd@$EnSJ^A)`evc)? zx@LibEwE@rd*XP%Itf8|9Q3O^HfZ5&u!Cuaq?zTe5EgvVm(gLdIu5W&QB)Wt@wHel@ua_@B z3&69x+h4nTa`#t0d2^P1tZo!JK3)}@Di&d}#V^D5i9~}?+*BpY=*VGvLQ=dhSXC^q zmIP|EImT{jn^|(z||Z zuf5kf=iVC;nUR@Q6$;hJeJDD}jv z?G>~Sd35mxREMrDu)g%AF9pEUH{SfSPp*ISU;XZP z-{rN26ipP#j5^Q+k`&LA6tn1YWSmv9CaA`29}Dq}8eqQ1ZOByj9YQ-wiNcvPmR7cQ zFFD;|exi>eXzHAJp{%wSzd7A+N-T?dI3G;%+zv_F%e`QapIRo_A&?mB!w)>i(LM7K#j# zIZW5IK+vNy$D%ysygTUV9Ua_zC}xk$V~?Koa|;dWIK%fiiDsfJSCaWcPx($ z*O{S0YAaykaS0=n^&S;u%Z}sZWx-rXrL+54b3O`x)0JWZfIa zsX!g1T-XPoCz@756GQji6Ki{Lv9*foGj1~hIn$ElVx+){BbU{io+TAK@HM$z9xlDSXr#pO_kra|}V$8r` zY8R49u(lm#Kz$#9F>=(5I9faQSl7ve8pyt#sx7}+&d#LdvSB2-L1%U+Wmyo&>D;)tV+xcny#oQ zWGK~XeP)y(PCW zdwb96aERe6lkddflwZW18}tP&m4l?6U6LK^68AXX(mpT)a->+(hPlzIp-I`MAlEzb zF-M^w(W19Y>f$>|#W%D$Q_5_^P-e`2!0?Gwmxm-xN5%rN(tQfT8Dc0(V!$#5;#AHo zUJ#5hAq@>>BO3%G&R*$$2`p%=^vUtfSn`IahU%LXd5-i%8Z*wm>mqlwXQBzcI1&za z#N`~uOvfp$hvgIJ*)shHZ+8^=faY8BFlYLDuvxonpI#FNCVf5#KJrl2JAnt zXND}`hu!W|&mnq}(e6Xlu(BiGz1?Ev%w$Kp?_tZTL6wC)40sE|@w9+fk`z2%k@PWb zOZc`ccpJ{RC2EJ!edjLjdMg+M@(Jg}a7Vq1&LxsKxe?AzH?KZ3Wb775hay4?LM4b% zu`&@O_86F6P&~>WNRHPv*5OxdlMyILLLNKX&l4zZg#fXyeme8a~ ztwB+;DrxN2P?DfaKo5}4suNRqB;TbPLv7#vt8saGOi!L%x6|qJXFn-eztv*(_beR! zyFpd~o<4o!KR+Fg`$k?>R13DKXi-UOcxp`ZYfNTYv{Pb`;;|%ui&9oGzmvkp5+EiU z_&rX=tBRLZR9^~OsdW+0#>U4ae<`Y!m-VH%yO@H`D%D;IzOf7iJxU2-kYy(*6zNnk zHICLW1p zWFnIsQgX>jAtBDKs3?OfP8OF&a}$P3wt`5P#61Z(S$;T%n{2WR*(Gn7Zk%M17G07g zDW#!WsRi-AiD{*26_0zgsJKEuXCO1pPk<-jhN+5J2wWJn|=LQtEfl@3zH z88pvA>mndN3PUPqU1b0?rJyqUDia$Axe%{MaR;{$EgAE{(U39=6cbD&F(kKOdgwKk zQY7mRsRzVIqn|g?s+kNq;42=lK{K0esJ&ozp@zW7!Ll(p zhSy9gPQlPTQ16kFM$W=W8xqRm7a_WmV?`^xPP*}<5L*$z-xuA=&5hIk}7qN&7^*F6V`#x(X+rC?@g!MI|puLEw;Zu`tYdqnbJ zyyik@ya^$NEK>+e1QonQ_!ev5m_yKVqB2OS;$xzPvh~2EP)fs64X2X)K;{V%gel>D zeE^eOVy)7RP$rgAV##N`Wrk;Js`laYz;lAosKsArknwr?-d9 zW$l3(N-(tUY{M8tQWT4OsU&sk>hbd9SIm!BrsWNW!Y0o7!Kr{MPC-yq%Y#BDMNflX zc1h#Q0ljTITNK{|0n@_f=UsNuYDCb#d`uUO%~3(M4udG>HtIMRF0PNQ;7VlCvJb?_>@IeM!{=8Yih$ zMO0xFw5UW9YA!NKpfTfV!riDGWzz|Cm)m4@{Prbr4)jQaYDQv`oXiZ@9&dTg?-tBg$qby>{i+71j9btvw#I}r*hCV8B2_UtMdlW0sx0!By! zVN8oiqIt5CS$vklqS)1K~|VX$b>+W-vqx+To+@%$oAS}{Mx>O`SX{1B!Y&6R0cC}hk7^DD?ba)R&_yUkjV zLRbec!Wy00&O}*I%j9JZ(;6BMe#N>fRqokjTF_LI+U6uA`;zp1@06Y2PHOTc=YK1++Cf|=TD{1{MZHSld7p& z{>-yy&%V8!Cajo*B5Ep%N_HOd+Z2`q8c(Ss@G{ZT0T}}gq{)VknLaM0WQckYXVB3H z_=p0VxU5({GR7sfDV56ITFGXNIS6*oflFeH&RLMPRH+&$3vx^(-KTtFdsK|GasWwk zl&pqIqsmLFAIWVezG-*K-4S`Ue}>#kNk*nCGmIc4dn?wGGEF2moG(Ae|BF-ol*VqnW7q&yav4#Q=7 z;O@292`eocJvQ=4Xmc{V&5Gf;o{3mQU75!&##u%%j|);tR$fAOZ$VA%18eJ&~kijNdYC3^8vDocJF+fUY5G1YK zN|h#HLrIz_%Z#;qWC>b5i?v(Q*ccRa-!_vZQNtKGx%h)cW`As}Ka~-Vrh9;Z&f*0r$o>Gg0eab~uH(lg1OGEL18Q7xXeAV_|Ez^a}Ig z0D6LQU`q9&)HUW->7i83q_F@KYudFdmJ)Eni!#a`j^lcXmP?d@^?_iJCJh1WuPba&j)p%&{10K2p8nE$@A@s&p0_$|w-&K)qAomJxuT zae+2=3CeojwQ=Gvn1?ayo`of>^mqZjl6MIyg+vqf|9dv1Tria@%#@1r^6W?z2FBXQ zgChNsLm1iNb~mG81h0Ih9i7v~6TtRodrbHkjG~z5{p&BbKO>*u(?TE2%lq(2>fS&0 z)JeJ`>NHmhbtjD5aaS$RfnuP>A!|H+dci!~e{pkj^ZieH-oGOXmZ~xyn(vRFJo$H@ zJ+Jf>kN^M^2}wjjRC~tN=_see%(PfsolY^G3bQFD7RJT?5%f%}Z6 z6n)C1vIhiK4unpOT%o)U89^@|st>ygUy-PsU%tlDF(xv2#bt^V7nnZ|(K$>GVJVng z$=YL*L2-@Kav-`ExwOkrpIOTK0A<+~_eFN1_3vX1Qk(BaIEKYq-u#0!QsJS&6ID!u9nPkFOv9I{@GO<~KjB&eNyU!_tS; zz?++!-@G`T{+s1^Vzxt+lEssX=>-S&4w5EC^?+&YDzH(oqJnhEr66-hxD(y#KHl{c zra@(cenB28xU%?3%Gh@@RuZO8tuN6bve=PW5-Dvm@;$wnY??))%i@);PEV7RPzEk{ zt0B|E3eu8`?0aSL+KJIvsu5X;l%;ByisPYpnFa0pkN}lrD<#6&YhG;yz@`M_~9lyy%<&<(Fi2t|`i(UsaZh-bTOfwSDY z%h`u`jXi25g=}Npi$^TnR+sAcRG-L6MR`q6&TTdNxR4QD2$K<25>4>T+!T^fRR}pt zVhAE=K8S~l>MD&SaKO|4rUn>pSTt&@LMuYbEM*pkk$ec6B-9}-3=xhBM3bSjFplB_ zfg~j^sOd!WisNEr93}E3?n+`|s36O6j~w1<%_5l4RrV2K$avTdikrxAhKm?`8pl~D z>TptOxE`hUCQ%#SR+$mBfMR0BNhQnW(U{W#G$h)z=aR`8nT(QWQf$aBYv4>4QIlu` zNlB8-z>y6Vk1nTqfC;3)+Q3DG1lw>~$E{Ej)d!6x!ysvs?1r0AFllv@yM&+zDvR9J zMk*_prz|C|aK9ioIH#a{&}x%l;G!a_GX`uKx;TvfAa^m**pnfg5c4F((}NgX@F*Ay zVp%M}bRx?lR-B8glN=7mU;p~oe(!$=@RhH8L;?u{jY~u`x7LhXAi|PPi(OgDHN%o*sTlYV3~K z0ZA_yUUy?!7+n;l;A4I0i)3t4)MqpsK3!pLrT3NVE9Y+A7~)KE1$K$fjZ1FHx`3Bh z+>n__Q;}moB4yxGcb8h)i@E3}r1Kuw*55)o@1LC)#7;c&jQ1YZt6bR;uNkBSu>up4 z6Ibe(uH3FGr*skO+uoPbV+^^H8t0u5?12~X^BT+LK@_Lf$EY<-jRy3zo7a6Pm*vDc zy^JuVXpUSF^vLFCY;nY|_r4h|&?c=anh&T2k(Cw`I*bx94~2l!60Dmb9HM9vR~XeP zHlt$Hh|n>_0>)IM)Jr_gjL|R#spJPzQVBgIAqF#)SBnD+#Ac5J5diOEzm9tl(>@T|^O6txYo$Qc>wFW6E z)H_fkYa+FkTa=uPg@OCtq%Jm#yNis$T6@&~3Z%<=d*=Cv-;d`nz9UbcUGeDZ_e2Vl ztTlX0+-qkE6_F_@j&m#CG)fdy&Ul zXO|bZzaF2zUeM(o$r0#~=xUNv!8Au`5)%z8MzbM_5+WibC0az*%!blRV690-BS@lM z7)y_Y$s#$j8neRH>6&FOJiEG-XHT#B+SkAQy`T7ruYCQBU;M)B-)ipFZ~G2wjPb)z zt~cIz`X66hT>R@Fee{YR30)4zt&>@qNDMPx_e!SklawUkVsP;ot@prT4**L>3=Qju z3xwRG9fmkHc5z{zS`dz*phs|z+n2W-E{|;6MOgj;nol&Ju(%CF>2{)egvLPI7NdZQ z?E*}FO&uBH3gmY819nH{799au!zri>r8~_M9XMg}{0HA>em$W|3-9bC{mX%Vz3jfAOUI?fE!x^p5K#EA~_-h;+~G|&2``K2O4p(?nQd7cv{FfmCC%cW%fJg z0n$jiV6poyS8uFIDHzRy+n4ur9Ai+$7~QGv(a&AT#%Z|-n-^SfiGGC)!OEU@FAyf3 zZ5_GbX;4HJoh>&nWWgwdN;Klib6emvwou{~d zb|uH->F2)q#V@@6w6s^hEd?v*{6ppY>2&$;ef6tf`PW{)e4WnUud=n~)v{DU!Y1Op zaceo!xngSJxSWG19h?a%K^cm&P_@cRXDSC~^dSYlV`CMoxeP1JNt@x3ReS|h7VVh)ciW88OlICU8;SQhm9(ahD=BbJl@zMky057Ahn%E)7*F=bY3+!vd+)G4VdK~7lf&x^`sT>AQ8z*TM0XIY1S{dDp%AWP+g;ocoO1*WFWrnk|Ec-cN znICbmIp%!i@w~+KX&KL+Jjw68^Ul8w@Pi-xfG1C${LU;`KMGsDxw-kZ_uhN&_lf8q z`|fwY^T)sa?Qj474?jrEMfu=^4>{M3lNQjtH}yv2NRi?mZRwXN|t+idL#@GK4vhn-Q9DzNqqe)|DZg5`beL>dHKD| z|B?Td-%;zY^V#}z*L&~1_voV!-u*{^a8&CSi9y1BXe@LS*dR(kT}$@sMI zwS3wa?7j1Mvc}$f@4a_E`smyL_%HtA-~0!@^{v1C)_1@6%a2}u%;Oig>(%{uetGV4 z@^iWDF^(#ph9*)7lNhcWmKJO%y%^AT-BBd6gG&vKT~p$GgkjV%lag`s6FSH^`tqlQp|HMD}&wTjBFTed?J$v@~pZmr)zVR1+^!NYA-hsdLo1cBLe-{<7Kltj^i$C_) z{>uOKN5A{6kN%-Q|KI;PIrn!_j<_fu6_pi_BkF?cMwbn*7o*~?E?wfzyU;R+=y8w9 zilmusSn*m99(Rf)T3@KXhL01TzQg0Ix4D>(Sb4_7oDw9XH5fV`j?V?PU2f7;NjhjA zJ4hEOmIW`|-M+#VdRtkNa?s%P=z^=K*SvZ4*x!2g^!>Nr{^Gaa{@j=T<~v__=dYGx zf9~ey<~zTg_f~#8E*i1tq`d$B`|>OQ``=D~_>cV4{&)YwBLCT+{KoQ&-+nd!#`i9l zG*5@;{`x|OU54wm>G_Fhd1j$+hSX>D(;L-aJ!#n=(bHv-Y1UL0mmyjpx5RdGWK(9D zIGx_++1t-JEO2#DKKItuuU$UM|Iz2)`pKXF`d7c!Ned9+V}$cOENyrD zPpxjR>UYj-UE7I^R_~&Hzy7UeWomj?{Z&8twW@pm*h_INUvYUj(VFp{@2&bPAO2PS z>X-l7Kk?B=&;Nz@zV-bteE;PK$5*fJ#E!wdOi&UgZ!+9TI39yBIocC3goaaMV0vKW zGn$mt3X5H!%Fre1qsJHLC11T-mhzF!eE8()^=~|S^47c8r{k}mj#t0=2ma6>cpsiT zzqz@2{-gKd-FM%W&wu{&;qE^?as7@jSbyhgt^HUTIR97cSHJluj{oC-d%mjv`q8VF zpFEzQUjN4X-?@J0<|nT;^zqQg*Pnai_dI#y+0Czh@k?L-GdFMF{I;Km-hKC7RF#{X zo6o+*zYEuS?bPke<)hQzuiae!xBiWP<>r6*`9J>#)1%*aeSN$>%z8wR`8XX!mK96K zF=zK-kD8HcneXaB^qlSK{ac@Z>wcN+?%A`qU;o4Z$WOgSKlc)N1>D`--26R(PJdJ> z@Vk0_^P4~asa@;We(hIz_ucP(c2hrF|KBZ&=f)Nv{C)r2PljrrtsirJ_q*Tyzx_Aw zzyDo6{P4riZq{e(|Cj6T{NufZpFe;8*-iXxeYQSZpRLcvQyI0P+} z;_mR}|2^|gZjzfjlRJ0L*=O&y*IFl5TT_{Y@ChLR03cCSQ9uCzSUi~XTM$0x^Or!S zKIRL{9i=P>_%a6B!Ti9tP*YX_JpS)h*j|x_xkBKoV(1P45K;c`jRnZbrNdkVdZ=nB z0vCZGN(PZuz2j`mB}O}40}pu@Cnqas56n*hK>nSTxrfzTsJESmEmT=mL;LMBD z1*j^>>iR6~1$wuc*m&+Qyb<44Z`XU(lFDY7xyka%kss?8FZ`5WH6&T-6Tuv!98XS; zY->VQh2QKm0oWeI*ZuP_(&8h9x<*}sm7()Dc$JB2^Gan!fK{jT*b;*etkldD9c~z$ zu*H;@eZ3XnaAE4d9~c6Qy5j3&<@2M<54;vS`X}u-PbMKPGGF?WgcUcWi zJ<&g!=u(LA$+K?oWAky7v_FyQ4Y2mED7f`v+2xhZ-hv*r%xlidgxFlNBLD4uZ_h6Q z2ky)N++2cor?ru5R>3~!uCmb)&-=h+QV%D!QlS+R*E`Z@E=jljYW>e=O@ziqp6;XD z{Rj8M0{qIog!qQ=-?F z1B`@#>!v>&&NuC+w`=)Lrbz|wlw}32MKL&kKWwbM-oOT+Z=ME6ylUG^=v8E*m;uX6 zd^dRYhVS8Gpfl&dQ=II+3;3mV(|F}!%olPu5VYXpcSvb10>j-2j}|cF#EX?K!W(yxef5$cU<|qQa8-Q_sw=(kN~<0g3s=E zZMLoX{4X01eHUJIp4SYg>x*w7=%*IoA-@uo}<4 ze>>uu*GtC|eOhiE1iz z{B*1R5?x2S{7;dFrE@gdB+Z6hzq)Wl>- zziK)@olqex1ErGsq>ZSpu5Jirzv(;Xn=cQtuq380aXtI1^V?p}_Vs&O8X9FAtr7i| z%h1b-%8FcRlfC~7rtqit|M^-^;4$Fe>auBa(AJM$3&2e)cdF;e8NUyEB=BOui^KV4J7y5@i0@mQLw^ zPieUt$m~O#f0Mq_ol*jHoh)~{y6|@X!XzEE2Ya#Py1|;nEZy;yqxzQ;D=xdG1(<+J z@na^9am+@{Q}zm5dwW8=P8_S4Tf2gmeJM2!IJFsXuMwF8QJU3N>DI}G4x>~mL2zhf#1x?sXQ^RgMh10XtZeIaG0(Ux;gM7b z9TlJ}Tv=H;utuNg(Dx9tdZgghm`r@^x<$XuR`0IXnmEc7tZu!$lg3b9@^yl|&yC_H zvc%q`$hzdGk;6X^u{!feFx zYrKYLk*HwY*PjCFnwl)C!mqgWbh$l!XrU@$uvN)k|H64kFHKRaZE~4sql~*`8JGVz zIFNfDJOD)8Pl1n*H*dkdktyh?E0i~y$wy`cA{lpk*vSmMI8|O|a?Mf`G4lhiPNXNyUJAb*mJ%-q5V68u`ubG|=+Mf;v<~Dc2r}0amI{y3 zf70&7z+FS#u*h4@!zUl2O@$|xM@nzmH3AC7s>5*&*lnt5ZFXLM_n6gjmf?6V*>-T= zdn_p5^TZ-17?{J#dR0>)fytaBSF1p2e!KX2^uE{3=*WnQ9ef>bPJv6=-#7Bt(|_sk z999PBg_lyQRx?)2*%Fb61Fj`1nHo znqs4>5+j#i0~#M~Pq)%kQdfmF)~X`~$n9W=L<^3Zi5;)i8rDjx(sZr#n&i!tWp<^2hgW}~EEs58gO`{u+@;6L_5c+%0r$||y9 z(#)D2KwR$Eo@3&(7D-Ke(#X8vJ|^jK#YW6p4GVg5{KdPSo;?%v4Cs#Kiv4aEoEu$9 zPP4tuFYXVi*hf%i*vF^*RE;0PFV`ej5yAiPJ&LoPw2LkT7tn2q)hP-3c4H?})FAbI z{A8!BU(v!EA{|7$?+jc}-~oNob)aJ|D4duee|D0anU(457KBwlm^9Tlhj3c>p7P3w z7jbByLclDc0;;oVzE9tOpXAfWy5-WcGw^)>U#jwpuxWWKcMTdbf{o_D7dQnvNIX#zk^7!;Hz$H_svk{`@1y1s#^bnM4QJxsj2DO z)+e>W`@7M!vlz^E<#u$-cO#h_bi?`mbSKdJ{-yDzv%W^nN4XLmI?`g*|Miw!*r!?G z<_4J-8QJxGBD5%hMTDX7_h$rS==UTFydQqFKb2bhCK}N&SX71;ahN5{<6Vb%kyKX3 zhIkXo&XbhP5iI^R5g75`q?wAn!pywbEuL%$tG5gmbp5av` zIj!Z-YM2>2c}oRg-)u@U?F?VV2>^kl0D#LWsa#Jbr0D$arPs(f-^0?$$qD_bJJBeR z3BhH=?et|<+1!J=CWEv=KmAXpcdjSt{Xp$K{z1#G=H2r7tPn@xlu;4M?yP0Qd>;n0 zT2gXu8j_v5yDMPdZ9aXxxvPD=sSTKK+2ck|5IDgp$qDSBrJ=fI&*hTMEY*#wX04wN zJk2Z_;*T+N$8%tuY)BGTgGG8|*tZ8yMrjxtg-BoayI782J`hBcEhPkAE+@DIZEpon z$v*BM-jjF*U-CPW|2jB3`uEB-!2x|Oa`*7wRIJT5I^w)O+S|mPq`bWRD7`}JJo@3j zm)Wlt{lmR={+s9f4|D}o%gzhR#EwhHa@$RY!I*c_uqdf<)*duUuJjz zIX4gb=J!Ms+vVsqPt{b|we*XL+tsAa7<$cg8@^u>+x!tt#xz1qO1#SxClTGKNhqtq zISrSMSFKz(s)2o;7LzjrO(wI*)n@f<(M;Nko#)nHo70+v+#a+h9W1#6Fa2L59Evgk z*sSBXA978ACB%u0AB!UUMFAcBN@MoC))5MPnk-**Swe^-eyOa3R8x~h*g>+d*{0VJ ziQDQB-;(E_r$GaBbd)ev3U~&xbKVwGGj0Dg72)Pak&=oZ!cvx?weI6<5n#dgMR)JN zNs2^9@u=)<`p)eO$@wbNd$C9PUJZ2g>|J-o(Li&jm(MXN!LAJv?fsJC)lG9phZjz? z-je_9zK(l?7)wMoqga5gy}5aipRX^Qp{b#M&7T?DipBZK{fmK?dy_50fql*B+k2_p zQSSTd&h7;ZNT{AU(b$Pp=^2D>Ggk=xLyRB=3~*pf*FQpIX@jX?t|93Z3b@;l2K{7I z5y!iqBa?sWQew@EW73cb4l_I$_aMAw%nvB%Vgg<(|wIgfd zfXWycnaD1Tn>WbSuJliyNC2#1qWrhevJeqM1qvtuCp-cSm6b88YB*3xQO)LzSdCR+ zwm3p(=sL2b(OV{RSJJ4z4WMH9%ue##fs*Q}j!xBd;%|rZY@_!4#P~$l8q^xHX2!5H z=zgN|=gW&4iuWpO#mz;YZP z=JBmvkHB)>A3gvOEJgwY4GlA1o(}=3@cna!axx8#M8*}blXA<7ybgzztE-mY5sMxF z=6$Ev$9vmf8VMyY2ndrT9{aEU3`*0J`3}h+XVeBUC3S4lM$=v;*9D0keNAe|pe^S9 zN1tV~i@v~}f$`_%BI*Yc0ar(3#x6h3)5Q;3?)OTBl(ih1#Vr+eewR{xg%(vengPO8 za7jaApb-YFP-Z#`3K*_|%~~6ttZW=1BH~>=<(xQ>R2`*?FGGwSO$>Pl&giQ{mX2ju z#+9WXp}(dQ0=oUlTtz*{{qdu_LPOz5v+(E)^*&+>Vm3BPp|<+cMr=H5YaladhTvJ{ zZ+SbCZ5{%cnG+TzCkQ5Lz|KkCH3Gv011PZNz!`_laB~6Z0@ip~3{@ z(~O`;@2g|XpkQ#0Uhn$=OpG!5^fI7BJa?6jTRU&V8n>N0t_L=&>&J4I0tYY09ws$j zm^9rcE@PVe03Uh%@2cY_n3j(vbXBtLQf116_uUW?kqQ=m7gjil3dcJjCmRm#HX$}Q z$ApXwAS+BP%cO5J(9DuJ*OKrH2`6v5pc#LzCpZim5z&a(cBw9xno5Y|G%zOKsv(*& z3Xl23L8t8MhC)@AW9a>`8QK#ZdRFmM^3JC&V^>Sk_uJt>ltorMqr zRpA$q1;?nkg0SR}g*HF8$ zdo~;9NeIeUCda93c+&9d$IhdPqyPXnH}}v9m1T(~zYgA_rW66~6kbZQ&_hXpP;?JZbBBWZMkEjbNB}@pF^s6oh8TuFOH2Y%BQEB&E*loz$KV!B zTc3+Rf~7Em7HUYPiZNF$F{%s^g^r`xNq-?J+yMgh^>_xL6P!45IqlAZZ!`E1IwJ>M z(!P;uXjdqvU2+dePVJK5AIh?OmVzPw#{8eX?EF?7Gkx_Q6h;+Fi0kp;za$lhYeAux zzAPcKBc!Sp`0tgpQQvgG3H@+ho~R!eJ4L^L)^fFIb0Bt_DZIaYdA8!Wu!p0Z2@%@J zo4w;~VN|LSi87Li=YkXDJqaox8 z%+Q%fg#w-(4iHiS=_#o_<7FjeF_Ynu1FKff`2s7cenJrltv}aYVYnnBf(;_Mx)j(r zX#X$M_6-dU2=Fe}HY9p==mW^D)VFe)U4cZs_DvFI%A(2kR+Rm{54$TX4pw`t($j3aTXoXrRJ^cJtz3Ca`k?PrJL^urd zAq@XnR)sB*vYPrnrpD+Rl&$C+5Stg1ibgaJy8&;3RkGlp_X@ZZq5l2ExJ*kpq#! z;UJk+86$@X@SLGC9K@8b3dW5^Ih+ue2}dMDDf)OmtO2+beO-UlR%LJz!G1Y6LKRfi zJIquBt4n3f%2#nrT%q7u`{(u|A5G@4?}G|HPd_oLp^;D~ zgK25tJ%?+>wA@=_^8Ys8x0#iPEE#iDenM56*_p>GD=C|+hhb1GNH$&fbM7UojtHs~ zG=`F34axp*FcmKp`YkmI`ky5dR#nYIfdxw@3rQCsldy%CnY3rn-A?)|$%U{ff=p#N z@aMwTpjIJd^w}!i*Gt$2Igpj_hxA(h|FQ~>`riCFHh$B&KUS50*>ll(`K0CKmH+)2koE^t6TW_Mp*;Wnh&)-;$~ga_3|BO3{8NOIll+NnS?^yV#s?m12h=YlH+HlhmwI|m@~zub&Tl#OjrP}visW~;rM=TSAA$o@)M$8*XJ$>` zXFVp-uGR-%x`G}A@E4o}i87{bFO)|{SBWK+$rv|jQ z2~OEI8Ylet@x#;I-TkTOLY`6cY)M&J*+j;lKWQ;_Osh4)k3TwB-ktp&QK4cJ^icwh zpxx;q;LwOCrR-R8F^zHhs!C8w;RZ4}xeK+QYs)P#SbMK4H)EGxoKGjSY!KzFt57gx%_&m);LrW_l z`Xf~jcl5Ircb^SfR zO-5yANFR2i!*ROU>RBTuXH|u@O8{G;bdSMGO$t^EL&SvLSVt09!7`k4WV+SbWv^+%5Z^G|cRJ1lG3dlkwTKfRDEnJ_Tw46?Tl zuxMa|-<rkLZMhxqHgxgTjCODr4wFP+bB1M~Cq%lrHB;u90Y=sy$`41N*v zE;6mMT~AEZxXR{zG;hz8d`px;E=*D0|4x?Y->?Mf+5hqFsBZW+Z9koqnD{IyJ|0pvZO=W$Ff*Rl;5(dhzFU#0l*7usu|YZb zl%0Khcl!7s-}rK&o)2;Ord{Y))x+xL@s@O}HHO!|6MFcU#@rhSJm_t5`sntvgej6_ z3SYq(3ozdK&wFztXy@Bo561@0F!t8vv6lY+{&OH1(^AmiQ2B~yJbap?d^|ImnOOrT z!VJggS0}|Wd5sDR+Q@KnFm|C{JkM~-HeSPIXtruHT)Ga#!D%iULXM<=jRbMNnxembGqZB*a{10q0tU0gczF3N9X*H{M5+hZCn*%+-BL$) zcP4fl9D_Eppr0dEGx*)I;EZg6+A@E+Uxleg3+)kb5Edz9CjMJh+*~12MGh22WF`%= zkz@@4&R490A+eL5Q_>O-{ySi3th36m{ALo$oM=Q9s6# zjkK%jr&1&ZcW1!kh84dttv{v^O^2&jM-P`B3~=l(cgs~WXW^_wQfC*p{O)gq6`~kw zX8vpWF+X49z2bd254OuVmS5#Jd-`s{`beD#EJbgLkzt@71z^C zN5(1a*G}c@OaOMB>Gh9FkE*W@iR1qDpZ1#CdTbgl+V={qV)t694E76}4>zJ*7^V`e zE*mYgpq(RgWGEBiD18gV72WMJyO2r-$burfu;j42fi$Uwr7YXHYGpCn<*}+1Zq1AG zH6n6if`IXGECUBNEIkSeLz*0Ao2^-92_LwvyHS@J+#QCqE zi_MJafD_fH59=?P(bAG$lL9go3hQr#ZQlgTCAS#-L5pa`R({($J zfe$dpJ(0k1-}yx&7naS5I}S(@c>?ok%8nLbn;@j9N)<2Fg<{Y5yj$Zf1k?y4a9L!l zKQ-`&&?D_Z*rJC(0Z`3rp)U=*bd9bPW1VTg>iZzOc!y|F83m<$(_lVMW@heg}SXlJ7Z zV)DHhMBUQv0xuFQfesdr#R8>yTpxmJnkG*wkXuQ%x$O+&GQCf5L1jr zI13*jBwZgOSGcOi`@Xvma~B7%9RhXLF{kBYT)6f=)iS8v|j z8ILgM_3te~m`*>`AODJ$#8QYDohn(+o9$@+=5*T>>($!0^LK(({9wU3ll3AF^M9Wosd;@Zn)!AoSMTAO8BgnGK^$r<7 za>y+lrp2<%$iWa%mrS8J>AIWY+uvTN&1F%mJem88DKbqiD^WW;c6*D>WQLhpqyey1 zAZvi!5xgu!fC3&0hP2gVnrVoH1YW6PrlJvFZkyF^QJNOo@9p-*{_V4%O~p%fO?Al5 zxsmealH1@CrfJN1kkRYii|zgXP+!3NCuFr-fsUEaMZeW;LupenG-yG7X85b;us#MF z>;fosIaA@z;FNKqK?5L*p`Toja8}h3;|pD z6gNacLwPjJ!!1il2q+}P7P?w0-EOvCbdr<_|2xO0jf_msxoMY*NZt#SIY9Aa>v26V zwVS`p>=W=mR7H-CiTiA;q-+L%Nx?#LpP; zP}8BPC(EAiBM!gE&m+ePn_4k8<- zi@#4K1F*?!%04pRUKMO)OTP^!CfMyP{&)G{y&hK;Dreo&!5qYLT46xCFqk-%*W|p!_uxKuUx@c?>RXB%37*A%#04uVVZNWoNMQba;DYLDFlUl zYp66bQc_Z)jWl<5CIzT4jN%rq?6M|O!ZUDdGH4oRVv1umI z4_Q?$&RQgGEdltRVoo1a>h+(Xfr8}_V!G^@qyj|Zkiy%%NIuBFMloX>^6VHwV^?}B zeEa6b>hvgRanI$1Gw)Z_lkGfjCXDKgVF>>Cj*Z=-xZg_0H0f3z`f9;&Y2@URu~iAY zi1lg8S!C5YPU6AXxuf#Ui(D3zWgC_yPscE-alYEaVp(%R;MR}k0?!#k?`O3Qv{EN) zNn2W1c{Wkej>{b_v(v|x(Ujw`Ck1r0s=79Sr5zr<#4$+r$Z6ZezSqKZj#P`=Mq+>E zPrKXRi&2+{fsNzOSr6o6fpd}aJvXZBye@t?rq};wF=P$jKz+gKqR)-cGa&g|dd+U% zBKpE6gV*?l#u!9A;HLd@+5Z78e)wZGQT$@h$jH&jHIX|cf&w2G3%?tQ1^T&KC(XuB%RuaL-Rq1fU>ykOC^ z$jSYnP-AK%D}$nENPpbsmux3T`=9wqrlN`$ce)e=K1hDxQPzovt0tFoVn#DPm5z}S z=RdT3(^yg3MPZp-8LB8nDV&y;raM%pO81vtBPIoFXw)j_*u=}iCwDK&2L+UJG2!@9*4it+)e5eg)Sql^#+E9#lkMI;hTVk$_h*S&u0~*V`DlyVW1-jz}g^-H0UpJ zsjwOQe?ml+#L7C@E;t6FxQ0*!8D~rky%M=2ns4y<%>QWYf?cV?T5H*NK{6@mjBQ11 zH@E&UjyoeVsPj#HLcBIa8R4~QU|H7qO`y5IZ}KEH`(pvwvL?_jXL@^kTg$%LnDRZ* z@TuK6`dvTu_}v)wxZeRf_ME{_`u9Nn)-WT*j27j;}{hT3&lrFZAr3jJfCUznwfFZ`+ z0mNlg)RB0A#A3RTlBJ99JTv6nWgNIs?wJ}?7gE+8|9#!HSe0~J|` zI-QtFv2GYYXPMdiu*h^OMe6VGG-vGvRyS5>$eCj77uGe;tLt_3rSEfErB%5& z2#4`#Rk#Qm7a0@dpSg4`?8rFC&(M6Db>L^0tCLWXC+G(DxwVP;h9!uY@n^KBXXc)A z7#AUxD^K&4m6d)uH*+R(e}c!o%G@SMRw<6a5fY{S&cTB>zGnh(FKqj39$=B{eJ~e` z$+MJC6H8XKI1?=qHraH!{=h0akwybC0WBoEu#{jdJkgMwz=jtPMFnN%F(6cervQ}` zagN9acikaO_nTF)&139eG;}RS3^0c|Z-N;NUukqL3lj|phJgr8xv#$$mt__-( z^)L++8I!N6?Ur_y5!+03(8TF&(D{pkqm1VEozdCDR+q=+X`{05f7jJs-J9hjE0{je zw;tY5j4huNVQ5GG}U#;Er#aBOC?9^znH_0mb`5f>~p zdo2)9A05|)bTDw>6vQ93rc8tnh+IeoaJ0`h&PiP z#C=u9s}TYI0CZCRz3&B!kbw+>Mvnfp@T-PR#>KU9cybne_GbIflQ<);~`P1gvJ(|dz_c~hM6f=IpxVnok(nx{NgElV|ud+ zcJ`&AAy9=OGse0Zq4|Qklw6S=Wya3=sT!XMn}`KP!JnFCLpxbNhW1=-xir0vM3!A7 zwVTfTJPmu_#<8`f#iLonEP6+jB~jTfhB(g0SsB==kg!lOAfquoKgn9xaJf(WcG7Il z*nZeTrZ75@GAg8OGuCo6*cv@}6>VfS>#>8U&+ zfdenS<*!{&Lry#jY!s&og*H-$LXjB%gr|Z>|X1ie9QH_ zmzw>j2gbFs`%eKoAEyEJ%P6bI-%w+tm}50?r*jf1&(UpU_wVwyOmr3pEv9R)C;WsY z|0DOydclMSZDbl1_DnfMQ6PdU{SSR=DK;l=v%b+M-71WY?W~2aAV((U&tK1%rFQr> zk}s5%RH|ZZtToM?FK{t_m^8rX_&AxcdMvmncE zZaCwAe}K>r8o1*w|DiePd<;5U)2W&z&y{yA`*j!|4U}g{aIQ_VE?E!yLy+|Gr=Yio zo4M#~6BA5THs)#8KXCbNU+{R#7jVO@H6IYk1358lK*}c$+uz_MLDjHZq-b(TGDSCM-PQR zrKyup-UxUJE9uBvBIVe)c@B+dSAr-MA;$6g+s<1?0TLi%rX`0zW0W?7e;*X=WWQb5 zHYNw+k`!GH&|VfCNEX1C1BocT%s0-@%TsKm(Wy7IF{aWrh~^M1n;WwtA^~u)rL?y3 zTt~|wGagohI>$4Rcu3A~GZ;fcBtVqz9^SQA6P=#QQnN<*o+A$7ommW*%`7*=E|#s* zoOgtn#fPHs(ODVYLki$;kdObHSm<02Hg2CAUei%HDB;(>*Rb0N5|(Jmr2Cj`Bbs|z z-55rd+D7Ku0fBsgQ-fHpz~BFRt6c{E&Z@mB24G$|QkeQ-N#YZUk zy6Q1x^lQm+aY9Pz&+=CxH+Xu*A9#hVTZbczu&cUGlmFtAW%nH^6@jp%_~V?T3~U_> zqzE!Tg|#bRZ2Vo5f2-a%ZA7A&Ng4WITtz*Y2dY~*;)PRxguVt#^v;7-)(xnXXFGRz zYw!BhOs^KiV~5C|R|Bz_+YTgs#xlkqgKCfs{zQwNH`Br2|Gt0Iwzjr%UvX&4FD>o; zE`QO8N)ZW?I~t+)P0r+B0EZ)qo`-+vFJw_lw-L3=CaS4s_c!MOj}P}B z@+7e>i8DTmLvfS22I=J;G-kx~jZ)7Q?S!c*#za*(@yWqv@$82zz6=0ma@hXGLkcg{3euRZqe-It^S5VF9H(yTewi%X(-W)p0Kr zMnXNWt2EJg&#K(4GoauwKA?wyyn~|L5Xy`e_YgbRn@U-rHHaAn>Qj|aiN;Bv1a-gE zF`x;Hp&!Y|m|bgxYa8^nRk?IsgugHDcZ(C1dCmv2>QfpOH|qRCf1P*|aT3_8&@g#W zH-oRF{M)|K$M;9V=*MR5deNR?HEwO>OLPCB)38n#Fb@9duzn4g*rt*Np2*ANW)%?j z<@P9g=k9cDP>(NwAb8D1Dm;Nfq_{vlH;QzBl`3Uc!kqe_sWxu+FA7G4k=)oPC1GW1 z$ZNZzst@9XL#!kW^xwN|`Mk{y%q$$SH_|9E&c3No9N_mlnsYxAsb=`_PdgqQ*#Vg- zsc#J-6ohE^%5&J}%nui-W7Ws|`{2_ZKD3O26ToMk?{!$`?b0iZ8LpuFH0UzYXZ&^r zkEO?w`PTOOX12q*L11R?VQ2jAkJX#Un^`{by2q}uV%Je*4Obh96}PIH*GxS%lv)w4 z3T+nUE<>ntVb;$fW7e#oj! z?(nmCnLmY{-$adi43)$GJ)tDv;Eag?kQ^Y$1E8F^mY$$|u0}4S1VO+%v~0R%Y;1Q- zJSXE}xEpVOS1MSa`;%NxJy4b(C=2sR|Kl$kZvCg*(T8m7sB_-`)XaG5^T?^;;hBd2 zp%B`4YW8cD@?x5%%qGIPg~_o@oE#ZNMbE4`MbNSjqa{SO7 z#>P3nk=&ld<+q*LToi;qw8_{N8pHCKmz|~fTMS5=->AtUB)ZUqMPB68s`!tL!3m6b zrbfpEyHYXQ_jHGb!7a+3H=s7#!`TRc_!54HHp8#p1Tr#81>h!0Ua%eHkjfE${zxAI zB^?37&Eku`?9$jW=o<-Dv+YYvX6SY7KHS=_Ol+Jb6;E|i*s)1Ruhhb$+Jgxmq^*oDoX zBBWwu6_#JEnqET!6AW{De1RwN62saV)CkH-w#H zjd`VXGwmZMmLL)YsXT=i?>|1_5!Obj&V6~GY6$aN3ox^J{pg0m3KJ@iLQ@>g}=zO3{{D)g*7rN`!?B?UoP!d3$WmRPm%HEI|nZ8N!(|t!L zHbnESOsYALWXErPpN8xWn6Sr_%nGFT-QQ}#-92B;`F!O_i}kI zDnZoIWRV^t2iQ}jPUh_wQRj*2<;||{(axK^*|vXV!DqlX7pg4wkDbY)0n=2~oqj98 z<9)uH6S}gWzAj3@{*=YXyPB1=1Ml|R)()RX+74%lWl`dC_)kHW)FqMQGXwfBEE+<4 ziG#^pq49DuREpi?W;-lqW1{Nptsh3MsYct5^?on#oZh6uL)}T87S{(DT%eW|9hm)d zL!yJoO16(kWUMJ^NPnBE!|3krE{3;|B@T7f&19SPY>!x5#vm<(+d8h)<&WULa5AYS zmo{Qtf}C+12)6u_`iN<)5vm`WM`&LB88hq#ebBRYJ7EIMmZdMdtBy+)euoq19fL#u z-+l}8I@DNHu~V1ut+)3;(5)&j*su=7?f*$er+CHXGioX5{F`X5ei%NJBpS;Cvor+nc2}xB=A{#=L0xsb54( zX+Q6rrW>!iRQ`8|;s%fYN&1$}xJ9Rp#N#jWT(j7^)@bf6>My_XeMMxPLxsTvp`z3Xl+{WsC?sJy^OEI|14PgKAvy%@|Wsr*H258hVCpT zU&!>^u#5(oLI5{UF41O7mkjY{$kFC&oAz!0;I%B%W97#kz0P29^4GW_Zyw6tbOk?* zz6$QocfX!S)uHb$n%5-@0>mHon!K?A?Hi2EPX9t%cak1AJ3Fp4T!N<54q6{WYYS#a zWr0P89N2ajp=PP^9;skXytMMViD0F03z_~xC=75YvA?(X>urnjM&9e3QJd0)ol}yS zN#QcEM4R`7|2CuOcCr;g{{7yrDoB?0nTZ(-OO5Avv&BC$V!!f&8YknNQEQK#Nw$$~ zcMSgNT}zHDjv*rlZI8R?q?UT@H_oQcM3qm`PkU;7{P;1qob$Ttx6%8^UqUDZo@!C? zzeV3vmSWpEN<>Kdi~=#&u$bH~%V}(w&B+KAT^|;_)S^sSbT?Mz-BP65&!ds6i~KwZ7&lCp8;88w?(1BM0RuQb{gt+E-B}@rm*d zjn~ASs9}u>5tPZIC94=KElst!q9H;OYELjFX zo>n^J8-kl!9ir-Pk^0t29!Tmq`TW%zHI3z8ku|*RaSG9&Ka)52t82WZBrkqUi3xbD zXDfqq;wo`-zpY`Vm5~LZlu*x?OM1iOo#&QHDXkQv2PsW-UVK-#T^PZCi(6#JB|}6} z$*;MEs7u425$~-zG*wv0IHsxu3Xr-_^(AvpR7IZoMpSuHrFth z_L6@clac#M6!M$kYjW~JS9oO;uT?n2H%Eq>U_8-#u(hE*Fm~aK3y?#ERKS_5=Y*!3 zv*vk!s6hQpRGfv(_E_G=jt6pp4ig{P#h>1}c^k*+b?E5Gi@7sJ!>xf zL`R3%HZU-<6xYkEX~L64GZzshAAMoz;u2qPGrqpsjf3zz? zOdFhx96|R+w|FMEcvVHk+@dP3sL~KmUw{~|;bObAO;C=4YYMWo_ z%s|?mg32jHxp_50dnpVYC0N*{aqfw-G$5J zlZTtyPQl*G;7N(jhHtNq!#C#Kh*SFiwWXM=CpgC9LR-8R3pN3_%kxn}5d=WUAT3HfbzeD zBDL*dIi@3`G5I^uT|ZCEz`)>vA)JqFq;C!XwItH+UUuM_G)cYBhj)XgcBn8%lEeu}|SA$*@$&A2K)N`FT=|R5I{VOEPl8HKM#y7TJS8KBhQPnT+l4@1NYRAfFsEL)hb9 zit^x9>ZQiqZK1q-;pPcQVdIz%X@}2}69t-EXbEX@g0j^$HAU?&J0T8jbvHSRQy@+C zAJm^37#o*hc88v(y}6-?lNj`Tu>`1mo-gtL(R3AFO}=k`bl2z}FjBfZMs0+`2nj(# zNP z*K-j--y38Q*S{NL2u9O33n%*RBN;-3|6UNl$u(Q2mai^jl&d`};)@|w)k?AaLww8l zlSO+3&&N(7HD^)EbV^L)W3sDl@)|ie)S;;Hv)+tGTS;{#)Ob2P1?^oX^2PVA=d(wn ziV3p*zsO(HQKNh&m#1(dww-97guAA@ka1qY|<1}!WHE>Bx3C8N{^Jh)eb-3d=>hRfc$Dq!!SXg)| z6mMLa7ZD7v>joc**9aG^bH+VolM#A_*yJL=aU zU<%YJ;~m%>h!9{%Kz{1KeT(|}Q_sP{A<>mE?{<(~ON^D)vaY*33hkcAOq5T6uExx& z4Rz1AR^D^8fvhy|+viK5cM{77MVVRdAVhe!I~_!Rb)Je4Gj#`J%34U*3O2AAs9J>l z+ktQ>I4UZzz2=Y;8)c?N$-u-|*+dK+X2w`+o(jfkZ3#=GvC`w!9;-h7G;KnOLkTgH z%z@CNT{D2u2^pkAKZ(Zl&$WalyF}&|Q7m&6*JlDT80n^{fD(nGA6Gd zyF%b7Hk9C-peXF+<>hn@HjeS+&YS;KYe&l~5iRyEb~aeD=+JWFVATyOUG3N8oF#2F z_GHQmAdAyCZ+?j1{}_o&&&X*W)mI@l`z>WDZEWkSC|aCiHDSL^jgTg?(Z$44 z?vvWxK;efe;PVeTd>7ZSiu7N@z9rr#V#t-o3I~I{9KMj}3bQP2299)OGKz%qRkMoc zsq6L?t^OKNVRzn|-}%~zo*?_cucsHKOcepIXniZt+v#_x9`O76`3$eM`{{Nj>l8)$ z`EvTP=kic9;P2ZrQaRE)>E{KfE~DrcODJXiehZ`PhBJ-crUA{e?|Jf)3aU{-)|9!-lnh>r@JWE zDf=%eKr-M-n%AT~w4$QTjwbVE85Lm!cS&)n9R=II6~~~EEMdT}SMGFMjW@Zo!rSQ$ z4xFKZmLu_-8+{>XYnHNkmi$!t9JsPxXCNrC%+qa=@A;Op2D?yn(uI8HZZ@R^u~KZE z1>+bSJ~rnzniCJLB~*=MsK907m0f0kI=YpJ4d-vT-)UD-`v)YV5Xt-@>|aak6jm(c z74?;wiX9;`YCvSEChk;0+e|czNdPCaB?yE=p4-^08?Zn5xt~R z(F`_nDD3qWjS!{*ahr$1)jni~XSHmDZ^{&FA|7VeTF7>5yem#GvIm0yop z%7rs4DxO9teOIweFPGMRCq|yHy92y_Rm(k-lP5i;*yG5ZeQ_E=W&mJ~TU=$nedf7~ ze%p36dN21km$Gx4Z|z*>X7y%+K=UvhCJ4xv;8(~(?+a;1z>REqFHk=3;KS`02qWHA z51dT$S~pUoVv)fRDZ-X#);-}Tua7!4q|=ab5T%Q)PK@-@Uc`o(h1pXsoBbFLPEMB) zS4Ac1oR>HNJf=kO7#vYoXRpNbxqmDC=RI(S=wPOWVC#)?-+k{Z>2vhmONpBH11{u& z>*(lMai>2%Ik9kEXA?y%)VH_eTEd$&X}9~+&6-q@fB@h_2WEaC_c*8od}@ie+Z9Hf zOd0k|V&uo4)|jB#+@7D5A5X|v>S~Ze5k!P61^$ovX+RwU0*m@w6}V>_LZ04H6QT>$ zoa4RQpMnN&l-9uhwhE#uuw$Amkf0WEM5hOEkhiylxeBx&F4il~v{jQYAsSpYhSSrp z2N)0@qnD|fEed*i&{!3aCND8NEI5Xeuiq$UVnVaYF-FK{Qt7lXavxH_C;ezIKTP#9 z`Q5qfN0Wu7MRY#GQsOjYiv#6L(85;!yX^1y*PaB(J4e;vqW2RhFx$=6P@dQf3PLAY z;NT`+6yg)CPy~?n#Zc|595GS2;S)E(9dbfg@&g0k+gB_RN{*4di*9VBckuk-UNggr zGsquQNxRhU92AFedvwi3vmPFD-Ag2Uyl!;tL%*BfXOD?7HXbkzc-s5>y4~zCg|)E=V%@)kuo$2IdH<^UeOEz+um7z% z*AF{&PePX&#cLMcYou;O?eM{&*I3g9 zDPW`gcZ9YRmr?Go3 zXR;Fdd;#AZn#()i86Z4Ct$=&HuA^go(%7vfB)R=G^!wy`3Ea!=D9*X-CH* zni?8#sfz|I3RsvqS&_#+HMX6H6=Rm06(Ss8TU8|=oz9YOLoFY8cm%W-rz1=(=8T2c zOiuL;64!E93r>a?)A>rF0Gwv@*kj1E-l zv%$s031z`uyJ~a%3zHR?!BWBoNJgLLV9$7dg@TfzDgNSflD9e5Z}F69fQXY8NnqoP>WgoQEC zkq>ViKa*jhFts1d2EKVHb1N@5TIr`4D&bT6-SsxN!DOMpj)qJ*sFbq6+7Pqw&w!70 z{k)N-pCA45GUb=-uV2+0yw3WtTpq6$ZmPb@5DPR&_qj<9t(~BUSVWGwg{xDxDnKlR z-$ePklZWUQ5$kX_Lt?h@2eshNze`gh@$bUk3Q){2=&)e;*2NT#KMEFz9^CKlr? zwPPq3vQOJLrlyTH(&?EDTxD_;GOWhh7VE>A_(M2qR46#7c>ktb4qgkXI4JLSk^$i` z^!0UUaDuXyy130|b{LGA6X79Z{aJO7wJF)a#3b%6w(AmkF)3gN^*PJ0p!}xiBP6R9 z;TtSiQ_cGgd01}Y`DcM;iEr^eF-$+&uV=U1hP7QGL|Y&<*Bf_I5sI-(SnXO@mBf!G zD?bPZFK#fumHZyMO)&q>R2>uD8ftn=FVpEttQLg9k_5~+l{W)3$xB8A2@t!=%gYZE zaDkO|ubssQzq#(^HxCnttpxI|xl?-ZnrvB!gIPW=eiJu*-deq(dn(VAuRnAl*N#5~ld~L}5yXO4tfac` ziVz&;zU*Qk1S1qt0Da9*L)eF(E#*VeH9}-z4sD@ef0^Cuns@)kceAGBY+8|Mrj8?R z=)IFuaLr*|dwV6g!mMK@>@#Jh*apd@bd}XAi zP7H$mvgY&cXx_L^h}?Fc-ph7AKb{WJd#(g+I!D$V=CeRBiDdo~*L0jndYuYnXlN~v zQ)~_)B;I)ZvZAW4+IqS_iMU}%rFWq^3e)QDM;;4^Nq zU4!pxWd$S|Tu)DkuMk|4nwtL3F#l^0j6yl+&X9k&*vP7k3MXq5HV|eA);SUg0*9&aF)=1{q_FIHK78Au@O`?> z8$e`SX5-`H%90@oh{b~HOG>fyI~cRYa`W2`jKhh53rRW|FS_R&#%>(ISx4>t)po#R zpQqpW;nN0@>BAWd(fYjZDm1+y@w>B0^Joki{JocW=?0P&Of|F6ge41-Y_Eh}rcdoc zHGy-&_YrDW|Csk=+FGj(PG>Yq&yG+~kpqueY~PUj7mLwgxGi&l)S6a$pP%}l`%UDu z`R@r2ArZPJN0n~)9%D|9j14wDFLGV#Lq(vGHLLat6u5Ldb>XPM zK1kxx(s)h%fppd{0#fymt8-+^NNpg3nk}WPMAENbgd75z(8<-b!Djwm{wV=0WD%&k z@T+7gAjx39NuaaHZmHXOgpBDWQ0XEaCH!7MOoE}-xQY<>om!#8dvKrPH%wgm&=@#j zkXIcp(D^JTh|z}-8{L-j(`P=Rpu(Fd6b_s;)LfZh0GkGfX0Wx^M(|miEtSt;x;GwM zcoPNo2Et>eewtLIrIn@pDxB7-KPRZZs~LkSN$%gDjFcN0=hJhRh}tej`Ns=nNXfz) z{-NTj4|{IFrR#ZP>yy;OzVR9+K-}j#CgP<1bds{`T(k9&?``KzcUIP9wZv@yZ?r_> zqb^opP_l0DFP+?y(PXl-;HH<NB%kxL*8fIZAsG5v}@EnE{)n3K1 zzrC2#Jm`}CYEs2{y^aG4i^ALE+X%Wp9dVO9ZcPQM!MvuBSQDHEIgkp|#d|rr$MKrB zli9!^3V)5Oes#tU+Az+(2QPmcYYw z{{2V$jmHpqYKcUtk524J$Fxz>4GOAD4MG@cCM7Fjbs>Q$B^qff0jLd@;b)?lDx{-O zW$j>MV`EhFMC(-Bi2-JtL!J!`pdrWrYhDC1IFVEvf=|xf<{Ef8O&)1XWQE_r9pM^( zPbP~`u|U=0n`5dLxxT*M=o-;`Z4zc^2$#qk-|$1a&MRLAJo1RiU3`E2G<@_zk96=k z4-etl{RhkWDsDkWr#4m3{i@3Id8ec27-`1oDEM%YWF?;w>JvasK0p^3(aeK`Lb#@5 zY}^pH$4slWCmB1ky;w@3nq3zuXO7qP*^^K?P2mM>dzJqCEP9AE%d#k06-LllGyS)k zkYr{|9Dc@t)9Jd@-NfFbs%RY)y_z%~JgCcO<-V7?m35J5=kX z8X10Gvi1wG#&GlH{3qg!)O_H3X@fm9AX^EDz>^-j6e_5l_%~bx-arlw4=s7MVUH<^ zv4F!|e5TLrg>fpvY8@8K0N3-bI1K!FqMbgPn@URPcZb1`jN1l@)e=N+ANlE9!{ z;nz`88ZwFc8!&7Z84_9VbO|W+adkL7g3w^(fWKy9YA(a=rG9+(jKOZKf%x z&}2Hs-K}if*dDHkQgKS#Q2maW7QvK443tSM^+GYx#93#+xScJK5=3f^Q-4;f8nI@{ zaN4ZfRA(vQ5A_wHyzS1^x=O`R=8#wD2h$e%Cw(0>FYM7`MOCnIW`;iYFKfb@Be8;; z>Ag{~S(r!(1aT9|ihlY64CKjJjz~6>_Nn&FToC&6;9w3RrC<)7aNoo9|AYq?=|@|L zjJ?IRwNgCF7U##tyto+-5=Z0s$-H$*1JTAUdws;2RL_-~?;)NkHsH1+p<8a9I$*!O zwfk|Z=ZX~R2aI$7S(B{A{8PebB=J#H!=9i7-_yixoYu0B_ z?kyr8vtYAb0~pH>o~LJ~_mPD+3CpGzX0iKw+9G-4E~xls(mBq$>T_QlNm1$$(V3;2 z)zv(7GN0TeMiYwBrrcNM?c&tGv`As_rN10$+n(gxc(`*F_q`P-WR#7avHcvU zmPm<~E#;XTm(=#}pz<~s>0-;>NuS#LfiAuG?@%C1Qy^#3OPZmmnE}aMbv8DlIsOH1 z*!**(#(_8oi7kju3ln&ZbU06*e}4TYYW1ATU9bKK>rWKS%f^OQh1S;6OESm8(UAa) zkgoT-MBTvnt?F`h zoVNy}(vNh~>T-7W9T>#Es1;OIjN%Dp>hjs`yNIWE5FQSQbl;w(w4Kb8d+m>#1}*gL zRNww6dk$KNHy!4({eD^0S;pJ%NiP~h&VjCB60wT7d_tpLv^To7i(!Tl;|A3eEM|!< zs^jP3Fig=nnk|SJxRMi|Fq*TL|FTUObYINK-o%%f9k{Rm^xG)^gnvEf()W!;u~e_& zbu@`?Hbl54#F1_QmF0Kc+QugDkeo2-6J%|xfXV!YrntOfTC6$Lj209qAMBNc)%#=o z*drP2yV>te*f-ah>rTKBaKv==$C8NFquTd8;hF5|Vj|$7nU&7(@z9@0HGzHz@9p1^ z+oFY@HR;nkv8R|D|BWs_|AmgVI}>AL%39X)VlB+IkE0F2+3X(?4T$$a4LhbUkO5~A zURzP@wt^YXNPpMptGC|?3Olp&Q_;O6D!4hvU0))_=FRGceOptL5*KSJH@S`6#%w^T zy?@y<{*vqrN%t?6@Zx4Z`uyo)x92gopCM{6RD&rE;u$JAEpPs8)=Sk4@iv4n1(>v` zlH7!t;4;PHcT6Bh^=Z~iP5mLvif|vvT>Fa0>CDcx#gF+nm24g zm|MBWA@mmvUW7Do+wnss#&v#J3u(prM+nf^WnN#FQOy0qSHq4CXVGstCfX`OU>_W@_GGN= zXxvp03bgdbr4`nvXcFu7%>+mQX{lwXF9geFLS$h&43F}5YbXY~g(9yx$AoSwP8*5l zYWP{0CeETDbAkh=(}LON_5rVwdC2E!%Or6>kf!{W@$`rjSqlh6Nx(4nd}QQd|^ za@^igev2Db;#PySA@#j zkIKuUc&XJw`pmw?r9hY&36XD-u(hl8L-Vwu#vYd>1kJ!EvF4nT%4c}fqT8oEn4L1h z2m)}da+)m|Q01p16rdvn6(i+`nJr93BHuqjd{RufE@A@#mSi{zx_Yh$4ysJ(-vt#_ zh?_N)jnrr1iJocV;4`X;s* z-^tuWQ68j{Us^rtL7=A@RZ}UD5#M(v%vbjHK%(M({OYRX{8e@+AhSlvaB|F65$TF| zTXkQU86L(&@^GnEQA0j&(^z-B2?Mo;sD!>>#4h=BPFsF0;-sS&@ge=RoY$R!O8R*J z{3v&U*L^4jYDhJ`7?6wP^L^s=-JikQAIwyd%`ms}j7HN7(J|VtOVyoc6(zB4tj2LB z(|7$2RJO7$w}^6?_y!tVIT1E(AlFSTs3d$><;Zfc7v%hwZBv zLU!hi2U27>!_c2-N;rRMm6o<)+>EGdFSaGvyB7~9$ z?GwT57J|Z&5H%6bEjKKL_hz|8cVu}eSf}~nU--c0$C6wy&TvPEnF7a!Z^p-!*2X5Y zfg4=!wY9b3@85ATL;5a+-L$#nXW*oXdjj5jTP5^R>TiEuzj0v&>^4+c;3+A=u_hb5 z29n|0wXq4`ouc<=FMr_=fK3i6LnG&BynLdtV9TOfuxJpoaw^KfQv3n}VU{!GAXy}= z*>=d?DK|K2h@`^+O6i)`_|eWi+*2S93hHWd+LSW~(SdHi`!vVr1KTh^Y~j4AUa*(A zQBixvw?oMzB&v;C zIxm*#GFDtj!@g435yNTfeJFU~C1pOnCA*vNN6Rom+_ z)RVzjxOhy$d|&I}Drg-7!BJ!;D-30nybd{^j_OBhpFh8TT1s*9yH{-inECl#Rd%rY zZXdpl$?Foa&__}ao;7qG2faMCPdV%NV*$56_IfM@s}ZScw)}5)D#|y5%li0j2xDs+ zQmr{}T)CN2-5C{yNeK!_eic_$P1V-zX2_p*LOs112hr`W zE*VoO#qT+G0#;bV(IKUNCI*aDJy9$vHTphl8i?M?k?y#he3Q!p11*_RwC5lxaDE|o zgvzT7M7kKkg>=Y`>_PG;*JGjeS0!X(nju9qSmD*x)g^3Il=Uj6l7Z#|k@Gsym3Lqm z()xAKPGK{ZJLDi*B&?TRJO+8CY?mBZ9C$4Ga?YWAj*EHNYrhp;`<2iYfbTaZK1K9@ zF~44n2DE54^zAhzg&b{m@0%PKjPrmNY)GX@SR|_Hq4f8=>{(%xrQl*+VrGi(A4Nyr zNh&NDN`CxJ47F`xSX^F?skX`F?fYb8pK65zVz!%(DE)Lwp>18b~v0dl+xl+l?%h`!nu$i(*cR2-c

    H}gLQD?MQk~sYLfDl1zW4&H6pKU1g*CB$uya(EY{U9qTVX_7zkJcM zNvbx>nR0RdGVpr$Pm1}j`2Vy3*91w8kZu!FHgZo2ah@m!u3pctgn300Et+06c!u=!qams6cVCe2`GW27M)%EJyP3NBuxqla5 zdX8QVFH7a!UZ39P*#ORhh&s{MA6NPA4m!-cHr;E7TKz6t(Ez4*Iz2oeZW%vFp0{|e zUOyl+I_}@jJ9ex|B!D#+u^?u_sqJD-)4+v>(T6!BQouXIa3p6_=Ng|3zH12X^Q*Lq zE!Z^cMVc)gjit|jr+ghxb_kd={QL3I(K_fxIZ|HKG!l!_vhw-*-iW`Ga$tO@XFul@ zY19=+IFKVx&zQ=S>&f=yEJ5C3iKSzLv%SW&MeSQh@Anmtm|UchWO{dZd{bE@ueFKn zVC{nOaCT*+ED3rwIf@Qc!Qky%BARS@*>8O=LVwry^$^#Osf*L7;?vESfqWCw1n8p}
    a?9{4*TclP*D#P?|UQ0er<)_LC|W+vy^_5)j5 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⪼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

    ^{VK*zh8&{etq9@*ztExPOLQ};COo; zU7>Z8Aj~a8jIVHgE#Th(8K}TeXy*6lH!+p+Q(zPViR6QA<4i+bO@%N? zz$AUb%wyeWoG(0rm?BgomM7N^uMo`L9W{B7q2m2DWS^%a!G5>{YU9FZ z7M1t|x-p`fXl?4Nvs(A8kdb$dQBCdosXY-F16;8r$_jx-%E>;ZupX7g}Y1<@506?7Q<`6Ghzi#fNf#)-FF)UTi>-W5{W0Xfs4( zPTGJT&C(Ve*m8U_ch4>_Iy*5A!YfybUXk_{vd2XuIJmi0r^s(zXHyl|h!RdmaLkRo zczribV}>&-(so8E?sG);eFZdt9X*_a*?YHkgKoX=a!`sL50AdvU=5AG9K)NSQ`^u> zi5Vz+8&g*2BeaUXs85K=*F26c;N;-QA)X#l=V@(){Yb6B<-lDgzomkYL~+9Vt;PT@ zBDeK;dlU}x5Fn(U>o_KZ=#bX8G(_B&YG$ImM1h&5c&Gp3|BIQp@eP;vrbvJ6%QUX5 z@^=l)JFfR9QZh;w=Z#g{&IH^RvL z?v2>G6zHDe>P9$Lr$J*|e(@8LcUfeFb4*{2Gfg-za%qs_RgJ(h__-(*V65}ONB}-|ozk{ElqB{{ z0}|scq8W=-$ZL`;B1s&Rn?`MKQAK`*1gR^o5A~0}sz^)jdSSj#w>$G+sYE%}O?om% z<&=YyZ1>vbFS+yKzjN>3h5GMrc3f=23i`A1axgR~`=dmg<)B^a!%OQ^=xxTxoz=>n z^*p-uZkX1ySv39bnv|-8z<5x~Gj5ai+qE{_588=P0^m1coT{=xLh+%V#G6lq2DUxQ z7M%z|aYTfCHu^wRs6V_Q1=0=D@!jB+0FykbP=<-bIBs0b&d#FzfxaR2H9W<3-%D91 zg{oyqXF6`^`J$w#wl)1{bAmr0ldb_f_AY?-ga3}+Gc%xmuA}OhByyKX?wg07BvXxT z+R5MA_rLhnuJrb0yp1oXY3hnjPv=Qy7K#Zkl#oC$#5K)qJ%M;mV`J~8_a}LB_r^^R zoqzwLK=TAI^Lw##Ki0j5;6GPlR>8*vnr?$ernmVk&7JS9y@6+EOyw974u*tYwZ0!` zW)g9K0>h^7`;c`f(#Bq$Yw;#lQbN9QzqwYu+A_P5F)}7*T-XDXsoJvawzgn|hVwMD zPm2((_n=Oawh7f*!aXW(!sm`3&qv8^_0W%)Z$(-TYzfm#IYo6vxxBK=aP|R@x8zIf zs1b)Y3sC|_a|Wl3&k6+X?d?AW2F5Dt9g8HGYUb7x?dZzr@iq(l${d+K-@@pMT(72L z7{oZKl_ouN@#sA^mK5J)&MYjYes26RIYLoNrm5FfQCJ}LTD+?$LY|xfKZ1p^LHVOd zQ<)Pg=}Vo9xJ$B_`Ep6csh!kvO^Fd*_=d`prWkr*ztGFX&5}h>mqBWjsT{~)oA6#z zL79zn(b^8Rn5WHgW0oai7zv zdYKb5&jg}Wgf)SF3|WB1ynEN~tK=^u~FjQ#RE5xBMPBT?#NB`bN1H$v)Fp+iNMitLwcw zrgk4L*pi@*fcA{bTg*)sMon{Nv(YFK1jn zYyB6#>H{RQUt8O5julZAH^g9L{>&pHV5lx7eMgzDg6(4GXh>%AsH|jXzW&(lGD`HC zZ+qog8)nB_La_rcBMPs@)`5bMU#XNNmy28BsbY)>cX2+4EnWdXAH1p6h!?hed9_8@ z^puX#f>sWhS*`P9JMGf%0)NhbIJP*oz8w1T)Zs<;b7*T$)RqkS8Zv5l*>(|eo^Y-U1XuTiE`Yrsf*J$2o z^})a^wzLJ5mt#Nho-56oNnDtW>oJ@1s!s*f`Ty!ZwX5}rJAaGc@mT1g{_heCZV%<+BF zKurnpkMK@lCK_B@x26&Z`JxP1>EO69e>z5BgynubVDVBtH9ma@ZGUI8p?Alx>mbW- zzyHUngQP+whJCe&f|BA@y{rFPhHbTQ7w2-F5!D}AkUmuyYaS#EsWp67a2nhTQZb=b zQks2S&xgDYECy#+*GK;T^o9VtP8lx#;#u9&!tdkb!=Fshr>?G^D?p^f_hD}(Ikm?D zK{+sR|tSl>a-Kr3#rZy?x6pDn6&Any7F&DbqjMgpk9h8>5d4z@V9rnrh&U2_{IB0*_YclJX>ml zUq_~lZF}(|nTQ&voJA-`p`Y5=>2}Guk(&I#z<{L_Qcb?il~$MFL~V3QW{~^3RsGL% zoO`^~N?u-GoDhBB9S|YvP6V3QS^Is*jC~uC9AT355=}MaxkUnh#cR_G&ChS_>7C5A z1&Jt>Dd@{zU=4jsDH~1UzIF5Fp~u-)qh~n{z!ACZ26PE(KHp8{(lGuw4d^ts_*KN) z!7tZRq95n%=Cc*ZP%2chQ6Bhl)4Xsmum5sj29&#y{cl{W+xk?wyz20&sld6#cJmpu z2-8{Tq=f6nfIerqeH+1&(9EFfZ{<6&<j2yH*~R{D7N z88L0VeDM5P8$6(dMy?Hs4>wC{50X+poLJd?Z~eWZ?A0nrc7?Tlf9m+$`h3E^E4b!c z2;CJNT~&gnFZa!K)JSXj#P-XuOh1oWVs-Gd!z~iv0&uI~zty5xUW473lkNV%tp{w_$k(6LCXG11glh5bQJITJ2ruIm>>tueIaqCR2 zi|RID5DV_0RncCft8qZYSYC68hCUY0)gg8yC2v9e)+Ft8#o|AKGye4eMqx~5Sh3AQ z4sS+TC(`kU5AbiQT3Z9Zu2_5skpgb|I%N;>+t<28rKP346@qbg$+ZaEftP*GQMyiL z73K1OV(gJ$krkYj&So~o(2eyaw=$>3k$aZfNLHra(CW~7ldTg5AEp3&Q!jy=scWpTxtW+i(18lK%Yzn~VMoWp zY~|^B9msFf4);bm!^>r809tK9<$fJk!rU_86?_)wSRoR+>2iSz3}7V<>5P7-%U|g+0ct6nVY)sfm%MlSTHGX z=zP$mRJzI>NPFe0iqnM2^+^!{c$i-MYkgw7FZEE7G92&Ty*I1zWRP<3mw}e^*v=ns zTp391>|Ee0&=H-<4!T2N##u zKw5tYOXZDUB9LeNK0j~Ij(elP;i(zq2_Q)^{VflR~1)G(w0p3jFq7E4mt|CNk`>nJsZ>H-o=lA+@dTYuPiWPdS(+bItYJ8LmiR9sB^&jf$K4HOI>XA_>lt7RB zrjU=`x=4UHYk0NHyAL?z0C{jRYiJtb!v2)CzedN{J>kFL&Sh(F$MN%O%4k;vy@GH) z)%wpDaq5lV1GWj-(y%%m+*!Y$;qUx)>LopWO=Ps=ch(xudYSs}w0WO4WHB{nu8k*E z?x;G@)fMs4r=vp+nZ$hjM(|Gy%?T0avlTWm?V+IFILSiE^`Y4%I@+Wk8D@;pwS?Ao zZ)E%-bN2?;Wv#bT&j6tkQ}W^-i+|*U2M@CAEq*t{OW1vV&m)QDpuT=$H+cSai@eds zFbtvZ>sJVJ4g*zEk%Yd|Ap(5{AW>_Hm4;KB295cF26p5ui zf@A{OlKhk=zdepW=k0p4tEWqW+R&B!`i3FzK+Q6@2alXPY29nO)S&rZg=o`3i{dHg zNA~v5AyZRdU;oT33`)H{ZlEE!b2ZQrMvL;Q%HVA|55uLHG%_l`#X{yW_mleyKEbC2 z_q+AHHr9f85!g`5DQMU9RRf}ZCQe`9iz43KzQSnDi=<3V`0AOa``@tWN&kQM`2;?_ z@XxZ=X>&#}6v;4Jl^3YBR5{4pD;<}5;3xgG=DE!M=s3K|j|@2MVJdl1!X&)$s}(yV z24$~k=~H+paEZR6f(o(+t{7(kMb*S8nz9=vvAFHeIqr8k!!D@tbjR8^5MKdr_dKk$ zfeswGw`Tq)SQ@A0TCm}vl)}cw2ACQBe*ak19EKsyW^RR5tJP?AbrqiHVLqQzI9 zNY6Dm3$bX20z4%t3VrT$+fTmy001^mT#wg(_YXexW>^4l&qx3G z+FwU^-ua^Qo0}VZSFdiDo+l^_Bk~+V_qcq`6~Kwv5?e#COl&L>h*=x5#;wm?pA(?9 zCN_oy0YzD$vie?(xHOy1SSdv$h{7-=Yb_;7LPtkO7>!0abLI?<$73QQ3ZsZFU%pI( z!69`z-NjOa@;s;YjSbSKq}g;zAaEFki;<3rh${9v*4NjmR;$seQ>U=LzK(-~eXfE6 zIbj~V(zmhHYBi|YZ1Q4;u;#4O>FU+1vp=-ZMDf)3Q`DUX^KXzhU-q8;GOLqj;B+q*Xp#nxd~$}O{Y_8G#V6!A(T=S zg%NSJ^kmD_YBmYXl*TblMq~0lg?eRx+U<0xS#OZh23eLa_J>-n7Ok(ZlMsS-c6O-U zYC#ZDm3p8>pawuvN>WPEU@)M;U_i`FN(vUl90fj+wG=8vSsYV5ow6jNMih}Jh;5mp z5rvR~sK_(&Jqh3Q5CuN@o@7`<%9G?N$(|Gxg#oRsEK|GPrbe?){az1^dJRbulP4t= zMNWC1Q(2ZYola?eeSOi|L)9#wj4@=br3)7>u-2NEmzODyV=l{*78s^9P3fVB9->C0 zalCAAwOUjbB~>$VTF6t%vZNpg79O6&461;F#LRTfapH=e!qp_fdFC)v<%dHcCUQJY z5`v(VM?s)Kg0hW`%?sylz2*LgAADecag*2T%`YitcwfnY_2RF4>9xP6H{W#A<*&Qz zu8Y6=_IE#R9w*_(#s;2v;!zHQ0AT{_YN0l4|>jTjvbX=!Ph8;vG>rN97e zy}`3t48T&W)#Qc6my{Cyr9QyGWHKfIJfFu%)0EDfIm74ApC`|gToeTcgCpwqd#sd# z@B6f{{!Y@AI^7Nf5^P-Fj;COj?nUW;t#fa^B9t$Z@tJQcqoxlr2kRY1HbM~Z%dc6T= zOGR0L8PsUh8O#X%0C}1t)fT=dslTzwMjIdqi41c+2)P#3kroc=Q*YLhr#WV`8M@uB z>l-XJ#*;Bf5LTC0FquwZj6tv4<3_!KG)+-zji?r(+v#FDpP@8v_FG}3X)>Ac+S(eD zBystzAb|8d7=4@$f6YYbYgHn-Ysuw|Ev>^Dd$#d)4XDUa4x z*VywUtYwl?vdiHxDW$m7nvBuhsMWy6lGcX(z^8t%!}IwJMVX`3Y`~MCJWY6Se;*s0 z*BzTT^!t76?CwxJj~M_KR&n!r3~LR1{~zKT zUinRM$f)0{nDLg&^w+e_tiYm%Ya z(X_lOnOHKzR6SslJXix*twGj@E(#JtVm6*&I3D5bnKL-t-$Oi^;u+^|!4sD*U^biK zdCz-39)J8XJa*v;bh{lKO~&qm4+Dg?I?kVe5=u#&IB`AdwHiDxfUkh9tt(jS_c5K# z9OjulT)cRZ!Z1QnxSRCEiA`*8Z$tS$2o@(cuIDVyQC7r(`8)=J&}y}@-0x#DnZjC& zcB{4xzv9z(ij@fJmV>CRaV70+~Iz_29ce`Corc)&I7{(e%5IU_6 z$}~r&4UZ0osMTwzMK$(4g=89|NONRX9|IY+(NL9}i#8fj7}25udNdj#2m?qVc|MzC zHl0=8d=ZAjA%mH`z{l#wI!410hQlE`oenFda5xyC(QJSL$SUDJpU;t|DJnlnl+|Zv zS%%4MhCq2}*8_xskMVc}<#|Zc1dVzVx-2lCP605cvpH(D2+WKy4B;yulj#(mCqX1C z(rJkSGjvfx8w2SP8(pGS3(;)0aP{gI`n?Xi-4-(I*jbIbbDc@E6!ZBU^;#W7sBk|a z$}&e*Sd><)jP!Udf1SzEj7@j9cDUU7l{Pd~oA9~r# zUUo0YUM(vr!!Q2QPvgyR`r)T`zO|^n-Z83%&uf>3DqZ*5};+^>@GM+^_xG zAFhAokMCJNckUT<-F2JrJ)b9&Im*&-W-W>8gce4_uydRhRrN$`%?mz{W#%C8E6o-I z46cPCd7eZRgxKHRTl7}piSti@0uNCw!V~8oho>Z$x^M_zK~TPePy*e08%GCYUOTal zdaaJb!65*`csRoH$_lI{Xl>E!FJWbQ8F3s}v*{LuAQVN(Cr_Tl-u?ju1dpdPYBez&4&hfNd8;jiPe{`_vWjhWxbKW{lO)D;G(^4LK&A_1$s9`g z2t0{ANkGEkQiSa{ z42~cwo49tngYkF*Fpy;#@*>B4K1CQRWLb_pFCaa!Afm9*#?7KYY^;T-D&Lk}Z!fF? zD@%fi0zX6;2D;s8Z@uKDFZuYXQ`bNCuio;8Y>|h4$J>AYOO6*`@qo3lv4nTN-O&bH z?d5cEbmf89{KIei@Fza?(1}MMy!e8vm#;=APhN*^uScC$gX>|4c1v@bWSGzAD2;_D z9U(JK;$sYa7>2OySm{FfY^|YroN*Y2U|0l!k4|S3JG*-fK}-aS!hnND9fhA`Hl32^ zDWtO*bFYUm3^1Ebk;Dm_QH&_`D4tJo^~z;lSzSh+7tlJRDD>cY9_N_^*kUpnBg-?) zXEWB?puf~-U24)gM;Q2=#51ZlLRuJT91R9IJRD$ee-E&hAe=)GED?kUCx$VQ%E>+0 zS`xOJbqYx^#)&ztO#zx$4mGvFSH5+YOeBRALU}G1VJ$=jOLcdC+TPvk!otFw5txY05Z?1J|rSu%n%=4%k z%@fOfXpPByA^TFwZdsN>DFsh?B1^LfM0F{I07Iu`%2rrE3L~$`b7sJL(u1+u7-Moz zc!t3t0H1`A3v>;$1y!ytPMchT14|9668Mg%<#5x21Z2g>mlCk-mP^*U{y7F?XM5ZA z3|9UCf*Hm&vg642sNHhi20{v~uWV4BXvDLeEyoDL8YaV;TT^L*5&^Yp9%l17w^|LL zB$Qf{FGA?du*n%h3huR+Xg;4KM?uyyTfrPpQ);){=(SrIjYiJQ1U~k*_OY?CiEeWV zaWaJx9`Zbc)|!>_S-~fh1JE8KzlEa6m_$i}8KN5S9PZkp)Flf65<&t*@coEYsHoR( z!t)58!r+B>J^$Y4-*Lx14?c2v=Uu<~rwjn6Z>r()6X};6F9?6fws*hd?eewX`E4hE z`e%RgRX_2ce(sz1b`Ea>up|Sj)uM>PFcRHP7fMNJW7xO}0kX_7+Z_?nT})LanVmP9 zyFon9t2)ai`h6#zsMqUcwSg6Y6$D>-Sl`&-Bu?ny@PHS%<4YGWVPj*R(m3JCbP8s- z>;N1@4Iq+2vZp)^1d`H&l!C2w`9D7h z5c)p(zC^tq@GPF_+5BjD#~si8lQ)0g54>w_`T7q%`x!4B0l?4v*Z+tg`ltW;%Mu^{ z&IGIveDK%sif?c>KbN0)RIQ)fJo!ui{TFZljoDQ@NOAf*7?%0k^povQ^9dEG8JL<!60^JCv>)5igZ1P8T)tyT4KgB2#N?PED6h417Vd2DHw+U6+~PBG=@M4 zgB1vzA<*><)GM6RLiXt5QPl$GBz>PB!yJN}=$gR9E{`LGdk3}^sk{2346v}CBtab^ z?5RA@PG_m@UMnH;146&wV^Vc!!zl6;08uTfAusdFZ5=7`~PR_-~YQGvtRBw z@pmR*efrZE@W&s1H-7kE{s;izC;!viyf=OSn>sr?I~(tM*E?_i$VWcn*ZYm3nq*0@}j9|lzB<>F++I-w_Nts$fY6G3?% zoSA`h<_Utpp*eC6$w*ncd>iey5aP7 zpLp@zcYXAwcfa^P-wS3%S+;rCRpflSAqi@M`2;i9 zEHi;o8n%aJQSK_Gln}IOjOj3AuC?B?*0PXdNsurMPOY(B01eAL(`ESt30#p%rbS*z zDWr|UAi3ktXJ_B?iZ^gPyNr6X0icNwe&{!;QE&1KU-%DD;$b}ce-Ci+aF<^Cg6D9p z)yHrB&hOF#4?m*PEK}APl0q2GB=SN>*4P>YI;sVUAWvHs?E9W+HbWkbrhbxSZ7_F; zpa5D__1ug|O8CC-5Yfnw=adV+y{8ml9mCuj3n2hcxha|y9)uuhqbnVfM5#5HEjR03 zDd2TU(9K&{w(j`Ur#^k|{Q2{1<5AX?o|A-?CBsz9eakK=a&>zP=TlMPbu>s+ft4$x z7Us|D=ivU%6CN6^20P}yhrB4r8q1|FA%&#CcaTOQEQ+EaV-3Ir5(Gg4pkwQL7DVI+ z9u{CjRMRY1J+#Qv9Hr6P6EbZzTI18FPhWW1-FN-Tw|?uZKO#szaL+v-J^UB{>_?AP z?f>If|0mw~`Zs)a1uOvgm0$Tqtn_<$)wg{6=g!ob0|4De9{za${qO&y-p4+6@2RWX zTQ}_N9NaJ(PjAeNva1Vgs!^;1LIZ#&J(K`4YcXPjArW#d016_~%q*{2iZ0$Wua;MI&2y&uzs2|BDr|ezj|PyrPK3XoTXlR}7W1?B-1CuV ze)z-x`|Jll_@QS$@W8`QPv&|PK=fC>|3r0k0RxE)7EakIpS0ZZsRCjm?e0 znNw%BZhy`l7he8~mp}BJTW@~|pe-U=qzdq>Z~p~IPvN`1Wxh~7H(`k}7@}f90M(0C%#*nQL+|sPY?3gv1&Y0DMn@d%e!+=BM4X{p@Ewd)xQ@v@jVg zS8IMEc+!K`rR%pc2A183EDaz8&66~{VoJRWz!usp6YQyay{4Y~+~;2Yj_-Kgy(dpT z{V@RJzt1=LSL^nf2R^Qz_Oz$Bgrwf@|NeV#de6JxbJs%;J$^^2i!~w$xIp1tZ2<^R zEP|683`u}o!h!)L4BoNE4oHv%Q7_N3>yM6(R)(W##}tSF$m8tbHCK~RF6dbccs?{a zjDB@rxz&j=ZV?;=D2UWlDU~!DwX)rAj~n&+-qOnLcQ+(sA zU*iK_b2c9}@;v6F(Lf&TANF^4cCJ4>JZuaGM@Pe>(f(*OJvulTj;*ytlBSXJyr(nl zOSIO{VYW4EEE{Xtl$MBCTceLkgK4u7wl+66?DOxqEu(N`m@2SzxBJ5MX=V| zEVM0u>2WFY5`Lim!smyBA^OYxFE}71^BA?tk$ACXX@(#OK;q9|5^3U`w7=LbO=8sQ zjla>s?f62jn&UtJI=S{We_LA|r>NJX&-pHI`JuOn*S+@Jn?;%55GS)|SYuWUYq1cG z(r45A$4Pz?0s@sMCzu6MtUPr!2>nATB^O26-`n3i^YBBDoc_fB`^1fpJ$B*rXf*Cg zkCinbV_hJWg5dcJR)vadHFYSZ7z46Y$|I#b)aoG`^%~Xd4Kx~!d8^smT3%j0==FQ) zQm;Q=URl{$US1xyT8%kClgpQ{%s=_bPZU4(6aTr~KNubdsvm#bf52ORDcyS=@$UKTne!Q^?0r6*jjiUg#P2tqOK zb~{%ajpktx_(c>&6a)d3A0h|>gn>^{t(i4yO9KGo>NCsgbN|vL`g?x;U3l$3dfnGf z{$l&FfBVCD>%aNIFUxy5lS`J&?0tbBs-73s1@wZ&=X@-%aKx-65^aXdMlW%JW{G1+A1cJ=x%aP1p!Z*NzAu`|=({;l`? zt?VZ~)h~)~{^mRJz2Eas@Pg;xf%WTeL6(jYMxDI z@9(_>Mr(Lc00JS3oH1x#}00000NkvXXu0mjfeXaw0 diff --git a/res/skunkboard-file.png b/res/skunkboard-file.png index 5918033d4514b3cbae8a1b2479b90fc95eb632ff..837ae72a33e12666b543fa83994bb9b27b3e62b8 100644 GIT binary patch literal 171491 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

    AK`XO=qeJ4Ei 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 KZ{dpOA^!s(NO-CM literal 146975 zcmeFXWm6nX6E+$GHxgWeyDx6R-QC?~u>@V*-5nOU;O@G(y95Y<#e+M+9bTSu>irGp z%c-fUuIc$Q)zy8?)e@zuEQ9)m@XM!9pHSswCDlKDf+_yknuzcpnjagoOdkTqMO{Yx zQ|%1#(Z>PaTtPk zE2rH*s!Q~|H*bCNS~l+2eezw7HQlt_-0odf?r+xYW@Cl0P0STW@M&;S`tdPOSt)Qi zlHxG86@rHr#kt{d*yPBmMe8G(oYjcO)3)(llD_u26DQD(WL_FRbF44kcjT^aJa<>$ z3i|3^Y-kB7+U>ZD=~tT^mCv~4``!89d!N4}Fr>_nKhw&s%&!Z*en#5}&2$g>m`1*!jy%iJd#5n4AKzf81Df|j{g zDuUCWODPgvMyBMT5z|)n&hlGxO%>UI6dLr1M&G*-m3NPTT?v&pL{-%J!TrY+PNc%C zsmp>_QndH=f;!QR&7LPeudN+KE>XcS&wKNAJ03p_Bup-w35twijArNRY;}D_+taD8 zm;!tA$hoyuuDDzXt2l~1VgojkTH}8zkmrHxy1FO9Zyrkr$oIZC%SB6XcpmTfQo#57 zm$S`>SpWMr->G9vwThSi%agjU7djP{*&YQcmQu51hlYpw1r?Fkh1uFPyie9;uVjQX zj&t#>bM1)>L%ea+If9n)tU|+cbLJCJ%g*)aPK70A+f{mGc)o6*k+W4+iotQ;c6=oq zMLf^w>XolcXrzB{c5w&0S(D+V4B4EM=*`Wm(R2)j{L>~Aj1NqqX3(Pu(nE!pV8)@;@FfOZHe>CU>hi^0 znBvqUq7#Y9$xlhnO_o_$RGAxbAqq(^sIzv$SG(Al`1zea3}l|W%e~JA!d4&8{ht2@ zF~c|Zf8QH4sT`Fnxq3dBr1KDYIzFj;?>s1@n@x`W+a;4tQx#GL^Dyh+aN)O#obPkA zy6JQFC7}j>)O&o~H;b~H2lP5#X8d02_|j+M^>n$1H_Fc1wkoW+Ks`A;u-e+vqO$3A zQnM<8q2ulPeA`AmDT);pJd(zRq;%@}GS`!cpd5hmZb-XE?_yw5D? z?v-_$lV};zI3zYxn2QK)vJkholV)Br7Ysbc@$mZF=b(B(t_Ss-(pZ&KQgY26n3n*X*{c7Q2(#_Ay zj*R{EKl8&lY(RxyD-KK^8#?cm{SjXj0^VCzMIPc*44*r1bt^Re1J-(64pd5Pz1>@M zx1jZBWA29#pOfi;*L0JYZL*KMnmY8|x=!aEhK3Ui?npk3my2MNY@B}!j6Al-%cb- z5W3S5zMP_a8xT44Sns-jiQ6HPdB3{Vsbxc>Iu0bVz^(3<#BSZZ9m(c-KRjA*LmQ`B zsuOv70W~cDK|G>xa`%5L3qHK>hLFBJdF7wCe&-2~@#%WIazTvZ7R8_||5;$!qTdj! z05{5}Jsn)MLse{)sA1mC2LqYzpRh5Hk%#9Y#}MD28`T!P8?p%fB`!}+fCt;3OV9To z?&Kui#2EA*XZL3nW1)_x zBSgn_!S2^H*4~@pfRj|7ncmm)@vOnYy$H!&k@vN1kN086_RBHH#iA1R$L>oJ|0j*B zamP39_h}u+H|&FhgLgs7@=ElbKo;0ZZl~vIoxF^Za}_4iPWdlX6-arO08Fvp1wzF} zLcya&=>h2`ZAz^jO6`&!Ke^`E2*$F;MC)YG#Tr>sGm*X{285OwdjCENMOw;>Q8Lt)#Kv9g{&*8l97YCcqAN&s$H?tI(4 zHYeZFB%}0b)WPs|Y}0$|a&57ulzBBlW$@p{aGwWL;m>w3>$gw9bo3mDSJr^LFdpOl zScAA?^qbYUxg6=Vsy~uOvop%QkNeXv>2I^yb?=9x`Q9&0x8)yx?IHX)y?K1T@!Flu z>em}-_|>J<3`@q>>z5e;pGfYS_hoJ7@-a0K+gY%R@(XRa^x)2FXOhZ#emomVWEXsW z_%gG3r#qnAJ3Ak(68GOI>vItOKU?V zF6_Ivmx8_l@wn=*(!q7D*&S4kze7}BdGa4>9Um(sl5SnvOytfpspBgH;g|%X!QpV@4%A57 za7eXqZ2cu&X5p1{tswY+9nVYM4_7s0575nrd6DGC+}G(%|J$i{*prl2z@$;cv%jE*+p;1|7nyFWz1qN}0f z%mMCABv0N`nhd=%2(7MlZ-oDT^j=OV^m;ZJzoX0qRTfaPP$oD1b%<0&N%~RIL=@%mTgeWmOzX7i~APx$S)sw~u@f9C>n zISR~p8?1X5eYS!0y8NOgZ#=pEA{mDmE`T}E_!0Yl5f(4t@|-x^u6gviQ3?h)Lrg@B zFuSo~_s#$g`1>lyyjzvgU)7`{i1~O)0yM-kEQR3+ns72OlHYz}i7H_X`VKWU^?FPG zW73^@9=&Lyvo?8OnO^EyZ1S^ls~7AA?af;Yd!HS%4)wts!oi5aXnJ05_k>CqDO!M#Y+t_v#RQO(}@FvT?2)`t|?T*mc@ z^JcrePM!m9IZd9DR@;>G#^qRQw5v>>Zx0;bppHK88og<8A<~%whg~lwf^?cv|F$>5 zIJvOl$h^Ujl=+7-JY(-Yc9D*&%XAaZTe`gWdB#l+J6aYJCeNFdzvG+l+tXzEpq@Fn zuc7O4q7XF8H?V-^gVMJ|7hJ(6U02dz`6aGdk;jJ}5ra6jk}Kt3TG&Js68Uhm`wT3{ z!Sa$N9%F&z##e6V=X}=C;uy!xyj-l);QN4oW7#Z?Bykkqm@NG~z3*#8Sn`gR@OpGv zB-iOv!s0DhA|pG?Y^klOm~cBKM4ebSlbf=wk635&)(q{`;DztzMt!~Nsktyw)qwm) zx$8vQuTV&tS&g}#E zUw+}4cs~j(-JkniJe}8At893uETkZ#X-{4lEnCd`KQfxUO*ccHQ4nGxabT$meXtME ztm4aM*$G-X$>QN8O`DG1kNh)wXi#6{V%m%Yu5NC12zXKw)FfxnSxrPx-uoY+pe~Rv z3SkUU6A$Aa31>#BW_6rsF9}<0(O`V5Z4|q=NW8s}DnqKr)>ubXXNv^zDOVW!F$`E?|NYexIkD_~F;Z|?(e=4!lPv(Pr1jL)ukA>MYm zk+1tc={jXtCd)ID^*`~G{pgP9=q;9IyF}M`Gh&$`XMnNN#0>QD=`tqfud^@pahT98 z5P3uX_tx=wnRQ!7kwDeCO$!jS2=5-*NecK`o&^%R0l{A)mV?jx&z_R9f30Hf!;{eP zpNwZ_W{|LKEU2@ExA6EGq9eERJd^>Z$u3vUrRV6m7Y<50m zPeBH4j+h2JTTXHd&9YII?DvHldp!ZGMtO}1KXSN~a&mG&?mg0jp$H2*Khgyw<*_Lj zc*ngv?>arsCyJKH-1KU9&*WR*THo)Y!Y~lAoIRd;WVBvPTgu@p)V&b6;2TNExkC4% zO)>L1slvD6rr>62-0H-Jh{MeiKUlVIOJ;)qiyT*ZzEO@`*3>AHZI<#1x064+lXr)- zWC?x?yvMK+CiA=q-}4&1Wh7&J+V$jr9>a#1TBLl2jrB=p9L<=ef|y)RzeyVTb>{?7 z1`&;`;|ntce}c6IUEJC};D&p9eycE2fufqz+sDeU>t>I}Epf?Jcu$y?J8J0u8+GFFfrDdm4Q1V(b`(RO}O zk0oTGP^lNd*?)KR3TMg8y}ZPiwJ-p%nVFha|C6 zwNN8x<$Cy^3182(so@<(a&`=Fp|l;Q7J#8%jh&NdL6fRjelM4|u~HF`6nIDyKdoIM z$uwM30`|XqH-#8J-JUE#jj3l?4U?N|*MoFbXXhh>Vsc~PUoJ<<_WqTpL9l^u zW@RYCspm}7Ru?@i#~!&tAV-*_Hkv-5@!1yQ7%z=-L?~o(aVMTGzlT9Z$bX7MIZ`xV z`wBAKGcf#=10XXa?OQPi1Ct-`6Vd0-7@Y6A2wLLN?himECecm zyxS=Ds83P^LOnAV#X22BSEhZ+XL4IXB1Db(&wb8KSF{*}y!^V2`bI(R;9spap?0gF z&caQPV{X6MNB5XL;!;5O$=!Ol0BUkN>3gnPGIU7|lYO$Mryb)2 z!5sT&o5CsT%ynF1L0(fr;%@j@cf?itPSI-UNbTa+JObUh@(ff0aW9$yPbF$#U%a@o zUbouU>tDvrLcyl51tUTg4Z{Fe?c)`4-IJA%!OHov84fkr9bfTovD^<{40z8283fag zI7>=0g{q>ee|)!S9oofeR5i1QD!9ZXB;Gi9)F~Pgr~2`A|A`}#T1aXRAM6K}#wa7& zAT}DZblVczn!94iEx?WHcx^s^_S^JXas$=tdo3|bHkaE3FElFzoJL7c#qNRrmNWnm z!Eph$S=0v{KYhTcNT@Nx!5BrIof&kW5~^Tr#fOUVrx*W5m)Z-JN5&TA=he;O(_pX4 z)N*frl-MLj@cGk|FhViXc!Lx_qvObtw(I8if!n=r`4cuh(Gd`26#1N1WC$@!uU)j) zqxX}{iR_~91?=_}v*e?+XSN#4tjp|G-A9@<=MQxi!B42dEUu)7U%%k0)W1;$= zm#HzRK^JEj?_T{rjUy-qwhHYlMRrp6?uMot+RusXUl`PEBj(jyxYOOc(lgkYJBNp= zEJi)Sp}6V$GXB@8*}bn(booz5ADF7mqT6M}M9IR;MIsb@5NaU{LZSFJu~$W+(shtg zw&4@k`on2A zbVQ}oeQK+ZCAC%mGmmw}SKOGiWyu*H19f>9+@S*@s}dNBJtnLDG*p+tMl-8q^^ww8 zkDBtau6QlgAj2C@_G_bk38sVjf2A|VDBJ$plDNo=s;lVjy0qYqOv2jnR7qXJ6EH-dd34?V<+<2D&u>qw& z3)w*&Q)j(i*G=%XhfbHt;5^3;u|P`vXkG!D0iql!G3)@|yy7mX zH6ns39r=n2y}Y}}4{ ziouwuvJlnrkryA7Yvz4eJ|c|?J8mI~?-?T!OwA~M1A<9RDMC9bO~RY?J?&fdN1rB1 zo26w_Cj`W4%B~2x;KcRdEdod2)#y}^F4ZMl=e-cjo2u6x>c7qAc0c!>z=UYdpf#Fk&6zRYc%DeX~@7( zTf^PfAo@OWULd(%YvR8X_eW#oT6QG5OkzZ+bI%yG^1#)un45YCpDTp2Uh!_4d~b}j z-M-6VZy!AUt#}@TDg$Shdg?vf0D>X;j|ghzfBugszAuyuTob&px`$)D+QwJZJo9UawNkjl z>wcTaJZPzL^m7gmS{n{ns1oJ2?024;7j3g$u>XDl!Pli=MmZ0Xi?lB~U+n7>0x zYnZ5(`6=`XFw&yQ9&S9Gcd}S6|C6Y-3 zfggy?))U&!tGGK;?UJ(64riG3Nn1YBr#`-NoTHz9Fiv;cR+eFWh*{UYmV!)Eq*4v0 z+$X<<4vS9>N!qSL&$}yg2_wWdrjfwgmPvSXs_<)59{!q;dC9xKtv-266w_k8M9Krz zFimb|lJBztKPVHA1YdAD-o zC#5_&(-z0`nqA=GT}MGw29KGdaTf>>ko~n+i@lJbaK6+d_DYw6E=C*ndvwO_!uU=2 zZJ+zgJN}unP+mBb%;_ekFGnPtXt3MA2JRUyDQTy>{;-GT{#>oM^&swPpih&`qAd&+jksxDG=i^>UMaFGi8&ggx)Sq@PEUaW6*t^ z!j+XDp*L(^whIBzI>z3&v#5C1WWxHb7A~IT%<^0wc&@@x6PR1&omG$>vGpm-WxH=9 zhcSyEB*swni#DFs*#`>bl8tw$JjM zU|D7W6bRvQ?7yFj=s`!g@j~$x2YX+gW!-@D%`#> z-8uC4y;i%UGZ-j>YouB1`=={~!vv>mXf_cSc2`IqJn?78xvY<#;{U3zzSDbb7qOjk5bBuXdPCYp|v9VX;08m>hdda(wAHj_?<4Lt3Miw(JT`x>ldq z&FN3nK<2?Blb93h%+?xr+ho^r7h=tFnL1T+uHF5sBeQjXmznv-rru08Xn_3MO5fui zA>#4CF8*|z852{Bc@=n|7<;jLeMe_>gq!|MvA{ybE6{u2>+x18v9rH;ETA9ve`f*6 zg>oe85k^;yvd*h^n|jj}!@Jf^GFU^qF@D&>uFGiLOJsHXCa#fTELTZ{eqiKReviCA zel&@7Pu-{b#8x6xWc5G!tU;}>SlfDykzi~->#0WDYI#)jm=vFT|9|J*DUPJ!QLRy= z`Zno7e^LdJaN%Mq@bj2_La6mJLA1A2d`k4F6olqp?zC2Pyx?VG4hmq_h%F)F_RUF4 zm-jW}`$IqU_#cGJ_ZYUJ(;z=7LV`#DdN;D}13TRhqvS(gNJLKI5Sq+MHTm{C|A&Oj zXy8TbWaZQ(JTQ-+VYFxB)vG{nde7c^wtDDFl+fwULW?>&hM}+kWjHIB)a+8-RUzh0RF zd2Ns+mVyXude9WhR-R+^-nFW(jzeyqV(4wu=G_+k#GHAGTRGVnXwbVl?9CpNb8deL@LSn9`Pz*b4O%Tg5)4Vk9fR*HG+R^-@raK*w}iQ8xu9y5h!-k;!4 zt3%U^^j9n-B~e;ekvHwUk=Q8w38GCz-TrsWH`H8uSONMn`Y;)UJt)DDOm2$AHIPTfm-ixP>ksXn( z#{ioiawSukXRF=!$`0((<;f#Rmx6WTo0)mf75xY(^KZh_XKtS3i?VXHIDU!|HpW!N z5iV+$3Bevs`A>cGRge)*qHrTRpe=4po&8>&m(Vt<`%a(*y&EQnWD^*@k}5UXPMCk>q!@*!Rvf>%1{RQxEW zAqhZGl0C1MTG-9Ys{dnO{_g#5J}UlieRWGdC+7|?8yf6R22@#j28q+6$#^Hvc2!my z--YF>n-Vw)JhQQY%#0F?V!?l8&g(Yj5=(HZhgoQ29|cwT0wj_h)#zI#JNyM%d8!PH zFDZCZAztxT!nr|8ebN);NB)m%zGQ0?Q+bFByi*8FTomOc%z$8gg;^ea%u@ zkz(vTrQiwfW_s$?7DE9GWjFxDwJrJS>4(UR5j-0;dR5URAlX1Vu(9 zFFgd_47_G z>VvKTkOG>{Jv_7Z>iWNsVL7{*%V(d1W+#GpKpEJHAbiJd~Bp4rYJ3b9a zFm53!NLNL1^AeKq(|FQ$a9XbNpcMny_hOr)5_3zxMqLJ_GsQ;~_A$GVI>v{pX%%u0 zv(46dyI4#Rq~>D9ViYC|Q3zwg5!y#%4HA1ntL1AcB_X{>e?FzmkH?6jL}u>fMM{P$ z{v$5z_4%{ZRfVFSOiWiW?b1Dp2xOH-Y`IgI3@OR^8lLAl% zC$kia$5zMV4K2c~$UBHlW&=B-9+Mk4_a<4y@N>>wc$W zs*s3uW8+{bjBwV+zg7K0%vg_{IPL3$*VldZxqjV`;pE`oCC>DZF{DzU{>lOdPf87> z4BQnJ=lJKK-BPR|Mhp#Qr8cEBZl#V@P){9o%(TYG1<3wI34^2zlj*;H!1~R$Ibb&j zjwen`QGy&*Yys@sd3HuQ`Zqn#AfUK~V%J##99w+aHq)4sqZm8+t%_P06)8K~T)uS* zj71po15uLbpP)Rpfnzp3!*M|lPF|5b;+)Xlw#V+gIvt_hO1lp`5lx&U^<;H$eQeNj z#VS{FDV%<+2B(L>E=TaTWtXk;xR+^q38x3Z+lzmeKl9*cAxyRXN5YrQB7A+rY5$Q^ zQHf${E&byCf{RExo`#t}@hR~?P07MEag!wB4++$1WMojrmU8!dUE#i`A_u_JmBeOa zW<#!N=%;Fy^K$WnPX~|9e>xdf18wAw<~Uf?65;W%TVhAVfTx&7LEMshzsBk9Wn~q) z*cTp?m25KM8u{mkZh)RQ_m+uW)rBa&)3nGp?tFn66a6D*k5&YtxP5yd`bU5b6GG+} z8v!zNqF?sXBh25g<;$jV3A`6EJsDq!>;csaWDd5~ZWcA#KS@DMY zT=WJk)rizGd3sVYdQaEfUF3>p>`iM4>Cevh!GJ2$5{kus`4NKq$cnTiW`tmkC(x7< z$Z7W6fiJx-EjSt=o3ih$p*06VB6N1fs~&6cgcQk-I}v4`LZ`D!=T2#jJ5mfKiAl8n z%PMvIdO6E41CQL6r|g4EI2;}n6N5dl%?HG!q3aWu^XN#LLS!GiG9BiMM_CQR4<5ot z#ENc@fdCymW{7uQPmS}=y_Ot-_3u~c|S2IgmV!L-QuH} zwIXe~{y8T}9%`zz&_4Yi;46=s9K$ZgZ!KpvcJ^!fb9PBbO`#DRhjRu`Dt3gVaVe(k z#|*k`^($}_c6yrnUBkt6(_0d`?M@R$%awr;yM-~dF4`1h1D&eu#Aqib17s%*l54X_qZ6ur zJ!)c$8+T6U<)O(a;gC-(0x~Ln&3wLPN;!<8-{F1WLTl{iy>~v;W8t@5k!WPZTNUuX z9r<5l574il_kLxc=VO0k#sQKyr!^sbx@lYY%`nVXil>1EkNmWXra=`8EiUAX_QIu0 zxuWJP`-DqmGTz7sR1C2~K@v;Cm}2IYy5$`yZ?IjQa-GnK#cKJcg{N~Z=Y+=zr*;`D z%YE4x@CC}8;_;geCEe@Itahg|i%2&aL-QaL#hEA94ogXF8>iR^DDEUzB%245Qxu{;dLaJ zAsv-0#4SEACoK)M5t0{Javi~f35yIu0qgcpBNj>`m3Jnjm<@5X*Ac|UYt&*+rgWw* zi(4=frj?U^X3p|(OAnM49b%J~jHXu1(vT0I1xWtKG0>cEG54&`ak!Sj3FD)=+ zMlaOEYr|0GSzu~w&l2wOqvHm}U(s?2#Y(d_J>c6Ve4IKiKa{do-znbp7$WE15- zAeuOaUq_Dq67Jn0l33eVx3KcUYlDc6GC^cT&P7bd>bdz$W_`HS_3*-2JqrhyP{nL- zgU{WKBB9czkClZ>vk>_V=H#;OBX)N&kj(vALNDifW6Rks7gu>D+BRF56(BzSI`j`E5oS9;8f6+>(*@ zxgeV(7U}xxDm$5TuS;iZ8t|1u%K2(**=AR7@4jF9N|IM2!_9H%?NIPOHPnQXOxi)UvDx|zX{g|dzr~VV+XfZJSqIyV#H$TPlefX{EPf9Q52tnE5jhbmtgtX zB#s=W0b(ybX%QV*kr+Lxryr=XLifT!fE*tI3M>zaCyYdXe zRX5y~#OEZl)rIP`p<0V3C`XB8n=YHXz3nemF&D~Oo(usEhG|{P{uDJhW2&j8J_kn) zQE0g2ykbZpGz!rSZPHdpQK@g(R%5`&Iye8Xxv$Af7N9f#c{AYoDd1M*g-oQH&rj8K ztRS^9uGVHbQr4-BS3vbRuV}})?r@hDiU<`7WZa)qpU+9|>{Q-pmZBN`N>Qo_>Wxnk z{01n=(9mW!cICR?+WBY+O8*u~?_P8k6o;24Ic)rR_SrAaVogDr2{)31xlf#|amX}u zGN9FOt7l)`J&XgNYIQwDind&MBzB@s^^$`lD4FZvGooVpiJjNU@;2Q5B8}0r6E2bR zl}6Rr&BB+?)vMXQL>?F)?mc>@IQ{fIwB;?Jzz#ISmot!|`Ha18zWoz2v^V@UEe36t z;6z5etp1}V-J!VDYNMKkPcV{qeI1pO@@HJH}P zH6F=c-;=SN=cvo99jZVgTWExY=dWx<`CX#}eq9c5AwVpV$Pptk0;E>h@R`bkP2;82I`}G;r8A>OUo4#OP5^21=Ft{y-j>V9@us1 zveD+AY%lVP$M5o7whW6ygfkzDq?N`59hKdf2GdeaU(=#De^i6bc|)dET8Yv)8e&lq zg?WCeHHR$ew^RaRJNB#W~cJn<_)_<&<0k{ zCdEAYzd874*!wH``quy_Iwn%lBO_HT$>v~59jRq^3dj7XB;1Xv`9)6O@mwzMiuBy` z?q4@NYWyC0>MEbsI2Sli|2maZD9PhUsUyham>Z-~FouKSDh2S z$cYaevgY_OpXtOtF}B)KC0c4EGpiAUhIVqw%2XB?-CmS^F5Em_8vf|4D`sT(!GPGw z!-X_7v^F<>bVnRK3K3|vlwML6Mq+meF=6el-;;uz8-@|fO^Sr0!?Nwd<#H~(j>1k1 zdmBDw;{O@2;u~)#uvCov~Oq5ok)UVg!F}&Zl23bLR>Z3 zidu?^myNY~PEvvU%)LcA_-~2X3YwxueNLe)L+%H&{DNME??W_Lks+0okqnJ@k_g1f z!~TwgIqINYm{mbTxN9xnS3N?X2SjSH+i1bkgvvMl81}yr=NIzu4x2d@4oQmts7m`ZS63!POTJZT8NE9Gfn`cj(0Z8iGa`F4M6sGh z*qG!*Dl3WAs6lYz1Ln|gQ)uTW%Rb_lYe_UR?TwCm(s^Rp5-uB8*W+il#dk}kRk3yr zjUV+bq-eY_QN@JbquJ+pe!apO2dC)*M~)c&xn9FvqREA$C&`X#`*aCVr$Py51k7WX zasDwZuO5WrN0&*5dWbA1tIxVO^+%RVhRUweYsAKC?El;ST!D5qv_omYLlqWeC%r>t zE`PfhRC)s!i8yY~ob7SlS}4x&(#xqX&s9T*FiZ;fRz~*bh$2v{L+b1`U>EcKGk{?{ z$0L(-FK8AZ+?m4=Q6KB_9U}|Bb+V;Gj5-ddv58Adw`#Wbk1~Tv{5dGI4zug$@la)>+X2!9buv7_TC!v9Hkv>U zPD7`4SfAlj8QKA{83w^XG!BbXM@`pw_-(0F$iK(gp8oWn7k<_rP^$lIgCVIi$g_Xv zxy<)pzYpkr8-*zPXgs^1Lt~g;*+JjHFqDunlw5@*zq{G zQ_ER@XTB6w4u^>O3N2fRsr;eVKF60K6e+bjYH>aMQbWdvQbR)aokHA-8rfWzG=_qF zr2SY5WM=sTxFy0Bt1PyVKb*s%C=k-t-}oto(F+RBR+X%G=Y?KrB9!S7R+-xS>!t!C zJKVq;B0tU*JK(gW4#wU0h75`ySw)fL$IfY&=JcppM9TSwqRMMMZn-+=YgVlX5U&H; z-hYd|1A_<#ZyTGh&w^ez_%7Igcs%LKy|bh<1|(?z|s7In3Vx8+DABCAWU_`ELILnZZYyeVV66i$e^@ycQs zbVoAyc2v8bK<`U7mPs5%%C}3k$^_v-wpk3iayGW?F0mSv`=RZjw&W#9b$LA(a(ei! zu$5>Bgw$p8&Wrh4-!YRk#6t{8ZPW8GCMCbA7rCjZdk{mqK1Qr-drUi04wsHuI|&U47D4uSf4lg7K?{Gx^7rcoVjRj(OPPf`sa{`4$b%1CqAl1 z#sSwQ?o>6LFl`FxF^h}>T`5g-8NTp!i54YxJzNTxXNAJ+!6}Y9UQ(ev?y4J6YV6rW z(?4SRDRaJG(n z&a$q%5#i0})~kcfH<$ywMEh{Es!J$}z10@7Zf1_N#*pMMtWCL@;bxW6-TE`iNiA7{ z!<_afpG4~+2Y^lGdaWbR03&}zqpVaVE61ofyd&7EHNk-178?oW;V|knW$}7k$7E+I z;1=)UnAJDQpw2hhJ}@TcTLPJ1U&<)izrO}#|MuJ7a_Fq-!qhRb2^C;O_+`c}8&w$} zx}RS8iyZh9t99jXp?|(K)+$WoUN8{&eTn2WC&5O*`ks_STgBT-)}08l=}ys>qD*Vs zJ!HyGl3*bq`HfjPnNb=%JuaAzSuB;3#rpiky%{w|y$Bx@D=lRlhcb}n)_f+@pw4o( z#c;KE;H@Uii)7ahvgg}GW1o)lXX`11GQlcrQXf}~lJ}O|EcsYk$;D_(DBWjhrcL|N zRiHQU_d^so#@i8($`JYDsxHb5p#DvIue?eeu_p6C0Hs-uAe)PFzd7AT2w>;=x8t9S z$tza=`^4-oBcD`L)Tr^@V=c&{;a}^Xmj&OQlOQ^4G7O8Kwt_~R+ud|DGWas3wnkP9 z@Uk2*4b{4Nf#Y4gP-gPy9TUbS8OTsz+fpM{Lug>1jL}Lls_Y z()?v;8f!et{m;NuV7!+{;C0?k8Ql=quSbH)3ZQ0GC(v|%y}vTU-7?k}QY#9yHr51G z^tZZ|NDutxn1;|!mEZvg;d-J~jtcF(_R_dA+NEjF6v#7_%+awLK zZ5;Je=|prXWMai;+Dq`AEh#oao@=$(EUDp(ot2cEC|Vv~_!sqdfWbp@Iqr+Ky^BAe z()*TpBeFiJAy34fmXcGJm-8*on`H*J?yty!f|VVxckCTDx&}9&5&}|sA6I+FNTZ6J zM!fetpC2gD^APP|5jg*@RMjo3Fn1{?Ki;)%ST>P-Oh-kP9{p+^9Ma>WvsK(R3*qkB zWf%q-?*p_j!*SW8e^=C=#y(gswm!$npJ}_u57GXt`Kf)EJX=~BZKH9gY#v$Km~s_o zt9`k_WY;7p)J5JjN|gVK6|mD5FzLU?>aXmu2^lDwFweudQ)cn`&vWFwqfFvH_Yd-zSuID$6ji-JALEo32?%RWl@sv>m zgXLH>>kv2qf}$R=Kou=20KFY1i!+&%B^%PnNXvDb3Z;;6FABAzIW36K*uBDEC75Bz zk;otZQWcq`MVT$%j*Gu_H^ry*UCQFcPM07^ z;B$g7u~}EruB2UR#ot`x_T!J*LqZqz)Hc4p$SrWW8tDM}|73MgA9JiLMip?@F<05| zj*n|^w+}o6U#I3;Tz+LXV%zp({_ml}`fk)^2k2EF9If5TB%bP0m{dqpG7pa+RXnbIqr zru4#tmuW2yvnzuT7p5mr%wA*UbE+K}a=N)^L5y$`z?U!QiB@KCZf>D9*|a_}D| zml4gWX4ftwhI?t;p{~HFFnPvb)w2%6D|mz%72wx98t71_*>>?SobnskajB@fN?L~G z?|+ZoQB`pp!D$WSIHftfl{NeG@1!&)9QUl8M-zDtOK8#8(b4)71ge*BUurW|bM1UK zqAnbuz4sUIX)h7IuUdD36lmOGLVN;5UQfXBle)G24WEOq`?vY?4ehM@(e-qZ!AG_2 z4VeVypI9kDp4o+RS(I{LoZ9dTa__fdF4*asz!;MRIcFoCrQ{W{Ca5kg_YM3;%N4}^ zfE%Njk}0tCWZKEsnm;yl8$6N0KW6;~B>(R$fY5#@1~$Mh(QJ}S3S-O&ppoT`hoF;Ev9k>Y0jcVIw=H|Plzp#>9ItM6GnT>UUVnvj%_B33 zIg^QSto3&zXeMOHBQqmYPKQhx$e4b=+IfMblD5eCnsz0d&$k3znvbCLTQV%g_+=v? z_s-#eE`BpKL23L)Y@NF94!@|jRq2mp8yO?z<3PBXGl zHrvZw%JDG^$jihR{S(4l=u2xf>GyOzFP4EfnLpi@q{g^CBTXbJXDqE*5KY{fiCvsY zSRTB8lOp#t#?Pner=CIwuRaHY9r#|Zgv&o1uc7&#sqhi$Ndo!3<2u`A1beZsudw0M zV^+(_*l^kZ2YEn-zi1o5Iicy`mAkjN^U4iE${ci87|ypmc=7~od)A@nV!P$|Xo(Iz zowlfqoSvL<=clgoZ~pba%*FW`|NNi5%Q$AELUrm%N1Ap zIkOut5NyD;MIM@}gnByNFq|(r=sLRIqb@OP8$`Mi0iTQ5-g$?p7Fnx2(}tPtI!Z0F zXD$0D5y5$XxovTH3OX~BRf_+t3Iv>aOr1?6rb_o{)!`7*6sqD3kjSoEP>O*|O6O3D z%z6x=zQ8Z*h*xXJpgUQ!J-egoKBg!M$(Q`IouS*R0?ifs5HanjBlW;bAUIOFlS^7^ zE_4CIgLp)mdhaAM5g~!ON+6(&B(?lT%Mij$)t8e--DO@+*0R(tqq8c>u3do7Gt@

    i{#5Ei0CtcP=q2mBPkb^AYkG!shv_z1=FJuRGD>3@8_Hiu*@xY zUw?t$_;-Ge{bJ;0iZdSHf6V5zF|I>wp&n9Iipb2cK@rYXgodgmEbGYaWqb*nB zwUoj64kBs00EV5SErUy0a(O8vdJhJ(#Z12ZbD!i_f8{68{x0{<=6vtX$DAGiP(JhO z9X|hR%l>S|V4Zy8^;h_-fBl!`>EHd|IX~X8xB`|&VoHc+(N;)}NzOtasIz59@|kQ& z0$LZ!&s0IrV}QzHyU3tS>J=|VAkfmFQpO3{igcW!7Lw=+Y${TAE~OKX#N12gTE6hc zZTaj^++>}jynFwUv{8QTtDojye&a3v@aump>FkK>*OY5lCidoV=k7KB>Xl!H+{+(* z{TqxItAd(ILDU;KlkA{fEac`3uW)*ND(`)G%66HVGUV+>`q@5e4JQvbINhMO!lJNV zCkbiAX?U0AcEjrN8Cc}r;hCH*&zQ7jG!xCn!djd!pYy@BYrOR09Ueb^EDw)P3Ue%H z!W0>{TZYYs#cV;_sH7O`F0NFGVN8THv7UnXu?O?A*-V5uh$>urVUI6=<+BJgzVn@T zWjh2m+chC?@oCGn3N$n0)~y5D)}f}vDY06QsED*pL$>@3fT~6RwiDvS7{ygEu5((d z_23Qd}Eixvl&&S9VB}>)&hn-tz9k zZfjqb>R`-C*&$`{I{{w}TBu%Kt;Ho|)VY!owi`Rupt`1Ms{G+u|CgI*BOR=GrZc@b zGCn$~!3}lv3hF%S5G+UT2Ith*)L_NHFEKPu-OlukJir ziS_za&Ys+7`{*7g@4U_Lz4IaF2CmMXq;Vq8JMfPAl|A;a?aQObCuK+NqBsw|Z^Ubl zx|ZCRsZR_+a*UXzlIEv^H045xAxRmDDxRk3pe5HmAmV(%Oyz7eqU0Ef(};5_eb>=B zkEoNWZ7?sGQv#WB8i}j5q!2LeWy~$NUbw+0fAS@)T}etUr|UHqCN3U6l;O$8oIQEM z>0{5e#Wm^X4$(x{soc5y5;yLB$nySU$`uQyjbvJqI8iN=u_UREb4%-9oWB7P6Bm0l zxyvpdw1_{%Xv=uE-YH3PHln~r;*Y5lNapyeI~q+uQ03=Z@u~Fc5yo3 zTq8~rzU|G45)n3|@xymdI68b+7?Z7*fwuSfZe(%8@f*MOYdpF?%76FY{4WgK$F{jR z5|?^&ZpM@C6AnK-N5zZpH<&~NqwN}uC@Du1he+2UzQqJ{eJ|OS(bwL*WlRb0RHiVo zT%B6m3%~N~f0+mOM!xmtcWB$XbIMBB_B1Ur$zaDv=dwB5*f>n$Ja+B+KD7IM|9dM* z;mkH`$WdTWT)8v|#1x+J0a@x!}f5|Tc z=yF3M3mG!eiqzJLsO$m>igxfhw`g4wo0*A<);cL;IZIAfveyhrC`p>?7q*?~K`7gR zlC7Pqu%g@xU=VPZ_n%V)HOr|cFpJ-Gb5VWZp>FZ#$B3bt#QpncV^5wsi;HG9HV6!NpU1w zXbRM0lO~WKfqLJ&)x_ve`lB!`zIZHCbd&j(6 z6yvA`T-%zqorEgGN+Fb}C3BW?ln}#Z_>zHn=j6tq74$n@hcq?D2)XSGT%{*7-}`BnDj!Ggzj)Ty9cRs875|R z;ZzKfva?~k?2Md*94(u%Kks%hS^}tA`Ki(wfcco_u`on5);W zabp_gVE+a;?_A^aU;2W5^Q~h!K0V>UJ5)U$lT0xt=1aM`NlxHZB<)6xrYI`UdwF+? zBinh9s?*N|)O#_@#E>qDzS**f2#xoU3;e{yBx~`!q-YYdFmEP#{nZz^{n9J4o;)Y( zAaR>{bnhM?efuq3&g}I{uY*Vg8yk|FGe%?FCgPNYTq0%rM(MkK8G^7nJLlwV&A2_Y z_tO!bbfT@JyW*M6GB^7hy!Flr_upTUh$+j>#4wn+w&(kAf6Va%h?817OA;*- zOiYN%5 zc*L3=ty;2Vm+J=9#HrwRS=UWddW?ei7N>$)mW-0B5kL%)oG!7;7TU76X_Tx;iUF50 z9>FBnEG$Eu;?;>2^^9bvCOL`bj7&kafLt+Y3Ck)$SgF;x=TqM4|JNHwEhQunor@5&j_N>k+7HUgmt zgvxA`tm#s8f)?d&vLqx$@s>17)P#`5M^|Xxir_Llr^-v!59VCK{y1@TOvK@sdr!}p zZW`Mm%Go#(T*Kn_bw2gRYwUmen*7lp{4txe5iHuc%{TT;_3D3028CmTB3u|GTs#*=on_L3WWnJI8?0q*$pCir>j( zVt^3cj~6wh(VJwK*~#~`Dprc*5j;X)qfpZ`Y4`IN5@ku5pYwfKolbajkRc_b^UD5A zxp}oAgf**i&UU%w!Ml$*eee-3EFma;zu?x5YqVaORx6y`;O^_Ma{bj8IXr$JiwcM>x5xhCDo>vtv0kq*E4#AYeo=Rxo@@-}F;yC=(-uo; zO%DzApWjg{Tyf)D$XkgLan6_NT#Qu}T1P^lh+ikOLlIFjU| z&{9RRD}2BlDqcxVvf^>#)gj$fOsR@>1lc@2>1h3eS>tiaOoc=gl!oaKh|lfaeJk!Ie|&U@U{V`(Dy z8&Z?Wz9E_?rc5(#@!sRx!kp6>n5mGx5_P8;DwaSHQqHtMBOdh*r&K&j^)G4NIaEqm zN|_YFsi7{QzATY5hA)FJ`dLHANZ3B*Q|M=f3>Qe0+4uyWjgR%kv9X z!vMBlT&e}fOd{}KP{ z58q^Y^pMsr(BTPt{en-t_99>Vm7iyR^Ao)N;RTy zwskmZ7?&3;&n}4Tj_aSk&aeIYud{!3!9V<`|D5~h_rW!6w@X3{?Ax3WjMXaAHG91A zb6?=s{)2xTxp9|ozW0dv8(-ire&X{iW6y`*{in>DMAtT0au6d~BGF>S!KPhmV(Dyi ziK}mDlaeIoV(kdT%3&$R(j5zg z4{zX7QOQQEIQQw$`l{OwuT!|gmx7RN3CGUhT211qA(b?j!p*C)bxY;q*@fE$E9ye3 z5JYu1rb}4dT`bU0yg6}bFy{+)#}#WqGJPhJs)b%QNLu_h8U z#Lg+Lb2vY;UM^X#0&(yhK04xq5AJcX@ysL>wu$xm$b$#R-2bC7Mp?tog_^zdKp6or6JYx)GG9HKEEW3u-h;*}_ zn^&*@;q}F}e{f~tPMn%oQ8CcI@5Hic&RLyxVg!kKt0rE_3*DQ&q<3F=YtC3k%_+IexoCV-a4@-6YZbV+Gt2Ix@QTX1aFUJ6Bv;~c2dDCaBbgl z`zmzv3BOHTb#vy|ZZM6IrY&jQa4=V9vmWcOvRW=#o^O#LSSkjr?YJemOrs_$hDeW0 z35&(7mSXW32}bLbtWp-ZQWGA@h&Y@oUPl^V)MHKC&~-EVz9EFjauur|A>-A7H5Dxq zFcCUeSX{v}>JpkWDp{Nxk@#4)XNfTFvD{vu&0QAPUgpsc?sKs=R2CdPJ>_IIay=C@ z@8hEr&Nf>nDH3YQ9!UGvidTGhEYdyDLTreI# zg6)LYjzv4?_0PV@ul|jnv2i) z6JPn-*Ld&IL%#F&eYV>uX-vch#?4uI+060MD>u3G$(JR0;pD>=|MTDZKS&W?fBhyY zj?CK*jfrHQ?XWF#Ztqa*qy)1T7%5h%3B@}_GwXcct$Kl~Q4qNh@V}Iby|hz3-?3O@?GL3|rEA3u5@z<9xYzeCu&eOGZ{m zmwqYL(&d$(&zDRjo$w8`tudd?*lYuvi_CVFiwMX2lKCN-oCiWkSQ0FBSYkJ#Mx0}Q za3B&KN2e!z^zc4E(Z7fv1kNuQ0z5rD=Hq)0d3gUZmXxlWas5idTqK9UG){zR!pzF0 z+IINo{CVn%@XNbmPunn;cJC&i`NB{A-rxDJ{>#7hnR)l{Uu*ot_5CZ$mu}tu&eOEL zIZZZ?fDu{7_oE?}qF zu-OVSZ!CMyVs^!D&R>>4`lD}g`s67uzxaZs4oOk5?5*qeX`94)%xs5jcokYtoJY(@ z>m^H{q0d$q>~}*BeREnX^$E$>u$L_w9SUbN_#p^Yw}u zN*YExd3-`M>u6jjW889dbW9j0Q-o<4L^RWRZ;k@t%{J%HzVQP#;cd=Vqn(|cGko+B z-Dh6m=ALjeOPKG(JE6a}XVTu1fBcW%w|kFQJUxD5%jF?HZA2}D7mIO1ys_B7BI~u; zzxu`p(kyzWFk|`jiEYk~#J3}^&n9>_%YpTJ$(1Vy96mU)Kl%E%S#LJ1m*iT+ybymP8Kani?Xv&D>~I=cvI8*=Vja!>=M0| zFt5eXYt~byZpDUCOyk+IMTxOtAXw8BVs%K7j59AHo@h}iibfSt%QQu`Kq!oKi!O?& zmT%qasc1DnI#)$uR3^(Jqd}Zm-+Ig@hV?@}{{9bTE{WO9n}kH%jQFVq?Y!v6xJz zX)sl(EIz}xj*uoyl674}-zei|$?9xPTy0?7mM&1eiSH!kmYmcI^`cNkMMX3hsAFolg0<6^&Ee^ zWH>r!(HXOOk9H1-BFSjfiEkUEZ3r<)m|~InnJ{I;nc`e4CIx?DmdU9KcdR3fBHI{A znmIY$$oW~r)xAA*HZYrYEao#(jN+Z6>snMBxj3FUJwKO%ym2^lqB$~clidIKoKL;D zkXf%Rrj2apiNmuM+q3h+#%o&HUM!iylBP3Or$-E9sl3{{#7wzRbA2`uCoC2Rh|c)_ zci-dj!((RsT$~8=>vOs=Vmjg5fHV&8d-|@EhaaBu`+xARtcS?F7i@Ei#tECvX=jLQ zjZQpXW^A`v{=x5l9e;2@I9JY}o{5cX!nDScNI&nH&tpMAN#x||q5SEe{0Xyu!D_YT z>}z98FaaX*W$D&te~dP}75{yCE3>O@qo=VsDWN(by ziE)}_8Yf~LMFi%HUT)o(Ax$f*DKLdZ3MzTX#A%EAB*_aYWyz+*Tr|GDWxBqh>pNL2 zIuv1ban9;u3DbyJ#B3skP~>ywA&EGOFhF~iZq^f`Bg8Cb!m!>7lF7+&?}PWadE=Vg z`NYexIwY*m8S|QPm^i;UExof>!kAGpPM1qLK3}mN4g7+3HmCQVZHf{VitL~)&I3iz zGgG0HS#0{N=l`Ds^!?%&Up)iP{@;9|52llU@wfl;|N8vFJ5T?U<;9WUqm_gJF)K<) z3C&=cL5SHbH*##0GUWgOAOJ~3K~!=w^453HZE=txD9e*IZ-3_pa{TBai!R&h)X8Qm z#C!|MqxCbD$y)p25ASn+_>jhLr1L`S8d6dV79_jTXtQY7(4>Z>Mhu41SWa0&h-irB zTf`TdEtaGj&?0@KmTV^HQ(zmj*>X)>1@Q-w+b`X;t5>ebdVPT?%=c#WZEv2Hm^9{G zE52#jj)A8qr%db79)2{)o9)(a-rg5yn9qr3*2sFjV!RlboS4PHe9=nljA?z&n70Me z=#r&8iFl*yyZVlgvY78%d$DE)%f$3Zizf)IX_%m(>83I$U04;ofMd7n4_4-B z*;EvBj$OQR$rQ6XSKI+^rJ9b45#4eY(S-Ab+c!;91)-`1OA^&vi{UF`DT)!C;A1u) zGlg8Hb)U9lHD(h@JE?3TeieL@WU&&;<(zW4j zj&T}DlC9NF(twR|E$SOC&W`x@x8AhVlO=P&rlp9_7Gst)2KEp3aOP}1oXTc9ad@=0 zHw)a|OiR=DqJ<@aDJPVH2Nn&_oPRvPeiHA&d|qTcB(9SnTc7bUo|U z7VkR*WgJ#W-qQAtu5)TGkHMY=Tl%v+`?jA3G$2HMV%a=|n?pJ-Z8CfeS3`4jtusb_zFK-bUt=-zz}Pmb}r zTe?Svyk_1S*Kf4!?af)OH>}sj6f%}aQuM^B!F!Re@pMf?bQ9P>_DVl**=&puLZKm4 zR8Z42%;t`^F}B+cBFam*ud-PShfj{MjC8IsuZbjv>pP5rCX95cENfj(C4@~YIipgg zXS0sBQG#rl-{^S##$Bc{F^!p{r$;Q8Ys?$Icl6TY<27vJlxJ;C zxqH+yjiib~s=hfZdkBhmwccrUN27&Sf_CLcjswvWzTBcnG-kOg-O6R;MpgYe$c58d zC@q&NTP<1XJIHKRm6=Ty8LL>7OW>`z604#JafmXB7|jmMYo&KoCChX9N)=^fR;C?l zJE)K`TXZyS%VryhRq%vH)HkSeq`qYwCqDY{BO32$8?7ovL({~HOpYsZ+z`#NsriJ% z@)U_#x_-|8$=jR7YIdDxde67k+QUDbu}%%FDh@?)CM{8ilQ#wZ89tpJ#1zgV}tB2_2QSD4zY@38$wEx=u+EB7s7Mh^Lze z%Cf)~mZB^u2Q_syKx|EuJbp2uYZv$q;zBT?Bx-gksT$NeoGEZA-v#GV5M#tQif=n& zlRH1jfyLzNMriOca{rcRe$sGmV~t^{xH3a?QxN9UQ@ReC?v$hB8PjQyc@uQrEo8ht z)S@2KY7RQA*mO&Gx-p^_l^A4txX(}j`p^H}Kl(5Jryu=Czy8nOnmshD%vuvow8?Z0 zLs#giT2rCa{dqh4)yL}TKbXS&xwWm`Z~c4!`OPTBizZq$MGS^yRYFXpRP{CjgSdh= zdT#IS@y`1nQWi>83FpqPv6!qA7IW&#;L3m$4Y)OV>z!MC=g;1j+q?JGn1wWRkByFo zmM(f?FT=AoQup@kUPnSwl@uafmq3$vP0X7_SwzZWfY_24;dCCDhlVyelBq}^>q%G5+aILjAGt?DN@$wN=EjgmFFnJJ zYxlU*+!r-UlJs#GqzD#gTn?AG0cb(f1Wr#Hjt(buO`@&`RGSJWWj>fseHt#`0%FQ0 z+~H`*a4=$TZ(m|ctdG~ZcW;lAljGG(o0J)9eQfGM2{ZGBIGs%Bj`!rkg$g$m?(a=$ z{knYnkFW86|LZrI-JR3TC z<}z3QedMqOf-X6M%3x55H?Y5dgtirn5}nHv5e@j@rSnSgAxG>{M8;Sa z^28IRUVQ8_Z@#z3?(I`t5|K9R6^^@!Oy&y;TQHB2+36|KciC6g*Hev+l8h&5n_rl1 z#p$6JV};SkqeBs2wc3R#ww=*+LWo1OG1x8=oy$~<+yN6KxduW|DO!hEM^)6=))SgU zEDVv3vTzhdf%m5Gn9Zd-x~T`vSf*7)T~}hQA!#B6PfUqB8A{WUJ@q~Vm)ewqxno;ef>ig z(@q|~{4ncP#g)rzlw~Q;zi@>Mmo9KHQ9gX*gundWdwh8P8b*)A`WdZPbe^3%jZukC zASH3CcpqqHCsb8N)Th|dE|ku<=!!QMKs;3$DXW4QJRyQQh!|pkfpyq2LCmD&w(V%! z1tECED6^A}KR z)D|gWK5dy!r_{A&G#pTfW4>tdO>R1O&6IXfv9YlxRvc|NXaDXICx;91aY0oZL^_fv zQs#(m2!Z*0Mqx{77cIUG4C^)Qz)+So(IYV=f+~x)qtXGfTW3B!B}PwK*3`oiYZYs( zSd%H_z6IZOs9HvYF|mnIi>wbe7?0N&jfUd8z+$oBv^imOW1DaO-nZm0{`z}dKiFlE zMj86)ayLc9vvp>T?X7K$G5F3fpL-4u4%y#7B*sMHiXMUeK+-1)&e-0?A`-o&9@JE2 z&EDRgD2dIjF$Z_=vpAYEurBMLog<_`G?v0-I(O=sVlhRDKF5*=TLl*$+oA1F<>2sy z)SPhdgO0YH;fe+yvjnavgp>*-_0Ut7`U{XyIE$vtWDCYf6tilvr_{IGdqz&hgY7fU{PXy(;>sdw(xn z)i(f{P8ZDD1`u}68Hr7Ywu0{rDRfYWtljRfcZDl3B$}oJRR&|j<5wQ$%U`-Eod#Ze z>l%ysoFX_DzGl4`^Wsxa^T?x*a&)?ogTof*9GhDmMg#A^_cqtBeF!0vI*+C?i?GI- zGh2M^D=#pr3^%U5$IY8pnIA2XsAw!mW}SNL0*`(AQMT3$cW+S$h>S&|4VXoq%BVAhK(4?9LAroZ6|q54uc}iyIXvE;oxZazZw)aFG1j0iX2ugk z>hU=q9ev?P|6n7#AKlc8|HD83@Bhoto&1vOgwD)0*G?;JGT0m?&o;`WM4vyv8afVq z%a8qn4|exh8;=+d92d@?;iwsK^=F=+zj>c~ckgj}e9RzDuxWzC2@9=gx_pvLdFMxI z3+kd^eRIrcG-5iPGn*|)npkulv`UdO*TLC}q=D3Vl85LsK3;8$F~WLjcxZFP_U4F* ziOf4sJ1?2fD`wM%`Fw`KVtk-$I$~I$5-2K5QB`!wv+xa7Su&^~#g3EHQnq=Xhd z4<=tnxvVylADdX4uTv-zCqBJV*iKeWlER~}=1V?@)OVyv>Wvqe2v zvW_+`oIw-Q9hT_Gh#UPv;j@&QJ_3svcJ+Y8m8SjLA0yYXnUm zG~Wgxuy_9+##+YXP44gRb9ywPur`k#`~6H+lvzU9zYwG+n=d2UB8JoyTz&f(k%&uU zob$9{$|9W7#>`nOoa=irJv2ummV{WF&}Pt&D_dN{xtNAR&Pm|HYKBH!Nf=&1L> zleOJ83H=}h-z=~paqhwyE)UHcT5z}r&p!Js|H*&-pYrGN#Hd%5U)>{s+IpXJ6draPK-l`N3I!{CDg8^l#tb;NBe178f6XnQ#8# z@ALUze-SY!y#IH9&!7HZ|BCnCc#YIGXvl|pm71-~&+?Uj^fjJ&`6)Js1&24U^Y`EV z8?L_bbDG2btQ+q~y~fb@C1ZvNi}t}Avw}dkWY(S)a7Gx{8*C2F;KVZTPKYTI3PXqn zykbK>R77jDKh9M7fFTWCoTH{hOoeK~YNm(~N}NQJX!8qsA^q^`-RkPq8^56;U5H`P z(iAB)R!{sfhaxgIQqi10^k%1%?*uM1$7isMtEQ$=RK4780~G zNyfvWUf4M!4?S`LBNadR+n;cFw7`{y!Kh+=r{K9K9_Oj2o}*a=-g@gju73CtF~ar+ zRCPhUwZqz(ZHA+Y3m3Mybm1&N`q58W+}@?A9WKH^gw5@B9)9d`UU=zCl+}n=U;R1n zzWFu>ySK5YQ<90QMc%f~W;2?0j;c~sCDs_KtSN6-JQ&re){3le4B0-j#m4rC`D{i? zUdwSM>yMt}+}R79JwM{Y<$|rvGiWk2O^3AwgL;V9s24SoVw9)}V+?gwKM**^q^c@5 zKls&IBc>?e{6idg&)@y=&-8eIB0~o3>{!Y*VPOsR#x}+HA#U70;+?l|aCm%-bS(pC zDC?T>cuZMl7FJO>NS>rI|9wBKYTFiTtYVBD9UWnDXV{d;?IbbL%{9o9*oHWREh z83dY?kbE9btxTAGWR8R;PY6O$I(1?s_S$DxIy8ZE4r^_`t@U(l?fu2pSv6uM#^vhY zpsFew@>FX%9bB%kdV!ht=`}>q7?)Poj51rj%+S?;q-Dn`^`wKPq)=A3qX#hIKJ}ND zJE!G~$gc?h@d4~#_?Z96Dr!=O&x*+)wfuhV@meNJE@O(CsgXvolBIGfba z$#(%Gtqz6*!Swq|YY|hBl4zE7C=$&|4TA{DO0r;qdSM<3X5|AgEB6a#XRu# zwPSoyvUz4lx5_oSGxdD<_BC!@J>=*pqLf4lv})OS^fCVZ|M(C1C!fE<{q7_7PS0`v z=~s9r6tuIJ?|=V8ruHG8`{pap6->F*&)*z1tts_=t8EQ=j3< zSALU!{D;5K&Xt;ZXyLV*OE+%mbazj7PrNqGq)$UGR|}bfn8)=c^Z7J)jU*u=T1b`s zX%4J4T2(_C*CRE8%;f+{ff9%rSb{anTYkPS=do{}9MxRz&QOG`)W~*O2U;MK(l6wN zG>PTfpZ~=>|5f8GVa^tRY@76+XoJ-f9a^}JopZ?tQoPXjubr(J* zk3RN@ZhY#BY(H{|@Bhi4ar?vT)C6kj@S)Ykyp_sX&OdZsT~$a-8LJeUmS)zejVh%G zj*_NZC-{U{)fkKv&SGp9T;%nFYEc*|%CcXGw`z=IZM4PO`k2$nsZM5dl4hAgmN8~c zLsePMKeD4wJ@u$O`Q#PW*4DXm=MH!8-eY59opa~TF&>T8)up7uFlj>%%p4I?$$TOT z5o^+_#S#&^CiN%gB{)X0)?zxzkuD=rn?ir}l^5jFaLD2QA@>gV_0Hj47Qth^k<)uq zesb$oZQBJ#A{Vx51c#<1##mG%U6)Ovi^T$muyb}tRg)YX9Q0B%)nqFx@iHy9GUJN&2rJYW z>7(5lLA9ij~fE_bWEsf(oEPV;zQd%NFk&SlaiLMTH)$MAH?3(nBKgDL`fu9v0!&e8)7CO=y*~WRw*2<*zsMu!9oPTGp>D1{EMNP^7x>gOHN&+DlUd1k{_Iti zk>@vl^A)araE-fn_7GXqtzj$oZd~Jk{h$Ah{_I@#n!J&Xtu4~X@nJV(Ivwe~1#-}O+;~kdJ#mrYd-s@mha17|Ti0pZHJVw+?D&ui z+hZ2zHks^OjY-6Z0fTa+XU|ya4i7m@1MVK2a{r_IT;8cjk8g5(|2ESm5PeU8SF0jW zIMtLIX`7(d80nU}ATklenw(athBftQfLMVPaZxE_R+UH;LK32?#;BiAD(7xmK2_PI z$j8M!(%=45zSsXkUP$Bhbu*bw*7xt;!utD_YC}v*YjGg>CV#Mr8j>+0R*hPblm)E4 zS(&bi^gTJOf>ou+!ZZz7RFf)R;xdlv6gr=6mOZk>hlsNUMd5h#$q~QyttZj(4%feP zgVTEp7!H{1-{)gF_jno~nF|rKTYBsjl@WJwvAKu``eZ#qn8w|>ZC!TqX_dhz| za2mMw(Gh#|WA-O4m#;iQH5hPkdyk`|BTkQwk#0)z4WrQ-ySGmGVE5-tWtqe3Jxi3KW;W7CDWJkzT>QQZKJGr~No;Wn1kZe3JFcF_Q$& zoE@<9wWmRZ#XRuZYwz&-n;&qvf6UNS{tA0+lmDg$CwddxGc+g1MWs78c>!WOxUnEICt7GsLuxY1|h;*tZoP>7@? zdDQ0&850)?$>W^u5lgb_9NDz`)eix!liTk&cFQ?p8w2cUjOcU zET%(#@AtmNXI|OC)`!feHQ#@Imx(*W*MIYu8IZX8?mHx}2m?%LH7*Y1qj&$7^V=Pv zxyd4}v$lDbwQ`S>gI$`_BT~~KK2k_ccRb;(@4bq<^AM*~&s!hdB{us!GCoCoU^K8y zx;gjXeVsSmjJ0aa(e8x3!)w(32qq1+LPH{m$C?H4*>-5wUkWi(l`DK*dbZPI^P=Ckiry=3yfM)NIl<8(UjZYQFGH; zGGP^$L`Vr0AvoKcSCiubrzfnh8>uVDARIH6Qx>TubdJ0Gtptt<@tEW3O}V>w#A6TdaOKf8M#fRq z1@BzH%faDX@Q%8uF-J4m+!>?uQ%rk;=t8iGsKVjll*Jp@>4M5=JmlVDUz&||tW&g| zQCA&Bp`xz91S`gs%v$8V5ANWt5XIrFBeY%?b3^DXU9(^|nc%RD*Tz(3A;vZJtVFuOnDa8IbpYUQ8;&-QS@GtWQH^PhW!bB}BbZb0kDv~!Du+`&MM z1n(jBG-&b;WI46TQ>^76D1AcUxJ2#be@d&ZccSlEiV~BMC`610Ct^%uuvW`wUV55& zBYg1gtDJ@jV!gCIxYv3iEhLZKHVkLZZZQ}Y?3~}>x#yncQ;(0aRT5wAuyyt<@4fdH zrEP%|K`p)$QdFv{66+G;8muWOMNsLM>koEz&ho_5k8tPip-lZAEFgBBXzYumC`z*o zRp(ofh*+C{moY6}uF}W1$)E9*Tlp~>8H^myy!a$4k$2y@ikmu7l(uV^mh?=4=0Wdh zDHdB^WK?=vv0cJ_mn3~z*>97^OjcO|Q%w%htjODW)RItA>IH&*0&ewh5eya^T_&fS z0NRO|fRQAa5>nL*An27DnZ_cN5Ob2v8WD#OV}Y0gl?E$o7`4Q7LWpySL&23Kry{-G zIc2X}9yBK-q0cfn>sEYBgJ8vEC~JyXqLe1zemfIsl1Qg#@UfK9SeD&*Jkf$GA=R4p2E;sMbnKeptG82iO zYG66L8KiXgxPR|dKKiKP)}0xnk+3tg&_&V46T2kIM5ZTqc>l*g!0kWIoqI>}*43*R zoin*Ol$eg8G*o3vb9_zquFttS^W6UEfcfbO!?MMuW1=yVV!$LrTukKcpZz^?a)+{X z+_<{S(cXkR#)|Jwnao@1x*Wn0rz<>dO4;5lPNdTYDO_gNIV-LzDeH=&uEf;^bHBPs z{^S4vAOJ~3K~y06y!$a#g(k#@jwX4DViAjI%nU&QjVV)ov-Cqmi$4FE^)p5!zmQVM zK9^s_3#sbm$f}w4>I&3Ekra|HO_4?VtZrE`d~xL6eY!(idrekKv7wpE<~Cx zX;CH$Tgv*nqo`&Y{l4tonbOV19L_pUj~5tCNSf>VaE(GcIo`dl(<2D#X(y*Zq8vIY zMHOviwB~tiYg>n6q@CQ=dxv-FLXv}%L)Fd*8MPtU%n_gZsBu0aAUJ9%q#%Yyo7t2Y z8#Hvdm?RYjoFIkKys*t^n0_FfIh)7|_Yzamlsd}VQJFD|na8&c<8dKZK6RNFU%sSI zK6^!~YF&f3&{Yr&;**FgX?@TXv+luKn>}p=F}6Q9YhNkLFC<-^#`E?7J`qKJFuq#N z`g?41BIVvDMpcZ2DC)goGMSN@sl>3*NJB80^)_&0is6VhHS&coKFgQC`aI%1gTYYC zYA9Z<&O%2us@dK?FGk-ZwF{7-xP)_+sC85{sCcMoZp! z{}y|D`B-MK&{%$2$Phe=7@LR(5vYoqDdc=je7VG1U_~(?Y{u|b!4+~T)VD8Q=%*j5fP0> zCH1+hM9Py0(UnY4b!A1CK7*bK-O}b$W!}=LCMyJ^swUsm`|oRG%<5&Fq9GgP48Dyj zCNN&BF*ZrNs0dA|)u586pSi^LPQ~8+iC(*LS0+uNsE`dF`IhcOQlk-Dx@F))vQIIS zCcNg^kxI(PAfx>aK}Afh(GS2>eCFk+dFkaBI5{|wk3P80l_xLg^PhPP9~Tl@xO3~6 z>(>wTbDw#J&py4w!M*Ez@b)e7T|qrc8W$7V$sB15891wiAcv>-^z`UNP7V*%+6~!y z_%Tg0A<;?FsL6=59lZbEYuX+jNE?Die?qxd;O!b}3#yUGx!URFhYAk%-;smEQ|4Y# z=U5n}98|PjrSmu!tA;K#dUyX8YJzNRtZT`AokYMIQLiD#=~0MYoNsBHpz}o{_|dx^0~++f=vYf3)&%-)`~MuG(m{{ic|$LPVy2vt_(wpO7>;2Ea&B=nL?Ro;G#)Y zFj$vA@0y}uRGqPsA()V&Akj!^OOhmF5{a>=3acnFNS!8}*<9!1!O_3p`F5H(n;IR zSafrYQ|iGGV@iq1Qx7fGu#nIhPEL+xzG!i-#EMAK_Yy(~*)eY*SrO4l88VzRq(Djy zm`)6yqRa-*i3cAeZHyAF1!Jhy;*v-TDVHQy&ws^a4KA*Bl&PQz4cqGjUis3qy!i5y zY@9nIQ5}shgj6VMB!z$#CBz6xrEn|$U{K(9P-+0*O8d8g%wSL&~oweHsAdED~yKcxN+k?FTVUVXU?6& z$Bqz^w4EU@_iMUX)2SjZAhE+>CFA-*dYXW!5u(d`HDib&q3RG7_GgE*T|-%^lvQHU z1-wB7r%?oxBE*pxgyFbU?>p(bOn}xHdUX7QSax4NmDK+kO0wF`lH7cE7i)wwW`lV< zp^2UJU89x37!fp?)o?0bSn>-eNtC1^%lcLs><1mAsEL$c^uicjyUwWP|{PJULo=M!kwJZPIzx-=ne|;`Op9)*L)UbWYDyp$g zV(Jjdj#b~b_+&*~PiEKDk4E#~`_vM`Og{h1pW*A@_##S!h~aZDKg)P+O$y_oQA%KI z(DBu;JR&>i&S2$)TUT%D{p&NjAdJ=*vOb=0(s;a2oE)CYwf7^FW+Ib$gw#oM8n}5= z#LrvIV2nv~k>Js=U~l)1Ebbj*%Tmm+AarnVevGwNXD342CYc=H)RV~pod+WWlAPdN zqMTc%r=6r^K(d%Gbe8*jyBr?f&$_`FSTu8Fktm}Pz zUN|pfi@mf#AI=z>8Pv3#$b(u<0-nQ{ewd|Ii7PcIAK^- zSR;&wHKXAgj(zUk+h;uTJp1V@#8B|oTen&G0gHKL(S$t5ww9uBc&~)cFrO)VX^OFy zX=s`IIRlsbMA{`f6%7fox|~odVl5a5%W;emECrG*)+iwa3KOYJ<{vNZpQRYA3Z8_h zsK(XmJCBLH(M8v=XeV-ZbCcixov-uM^N*2SpbG^?mR^#8VpXk?7$PYpTwz$jX-wYb z8}s0yp6iz%_iBH#AtT0o;={7qZS=9^jq4ZJ#V~zmBYOg9hnT=G_jx- z!wb(o!MC4xG=^2`;n)-r8U9tmYs4Tgj>L-vkaZr<6W)4<5pIIITS^$9lZdoMW+ zol=Js3F8d0TTquuZ7jpuu(r8Ikih)@KFO3=sR^Os^2IZ}{ORYocT-ApXPC}F}B|s z<=b$Ef7=x_FB8ZWYiv&qiaETXj;JY{0El?4Xq$pdm(KC~fA}?CeEAaA84M#HdEzNf zPfpp{*=96$2rZjuRd;sI$-vAobc!s5)Q=dkAXZ}=2~H?V%j%463oKPm2$~KtS^61? zl441WXL;oD^L*i#pV7^&LcDKrgPQH(IvOQg46@>Y&9h^y^FYJhy&12)d6(%T5%I(T zYvWBwaB|Xca(bd|m`fAp+WAgI9n;f_>$6=(gBn+lDMCU`(;qmYBVeKuXg&u)7wYw8jGcBL_w!mbva0>ob6l~jqnWKjFV zo%UczQJbT%=E1Vl_TM0VV)Vi6-U!}%dP*$yvS&C zlk0oCw7$b>gp}izDW!bYT^^Dnm{d?wu(4h7^>2KR7e0FhZya4Hdgxh($fjj7u3t3T zWyDysOU4-Kk!cphuCO5w4i!tLf_!Y;!zWstJ?Y>RDsD@{_4~JgW!AL3`{7mg?%m+r z`HE4Qe@|Ukvo_r1ndd)?E!Jt9NIe`7g2!ssC8YkqVomNxT)lady_0>m&TTM?9uw#I zB7$T+K~6#&VzgiqU7TaYu(?&UwYkOpdwU%2AJUO&6wX7@`*|*0dWb*zXa5#2ym*$B zI?#&CkMB^gt@E94|A5ooeM+MbUdHGO4yu|Hh$Kal5+ZnAFmF$YZN7QL7*_!a(|;|D zN&Q&%!OxkKX#&<{fNaVI9xM6bl42HUmeo2RzProMUwfbFY)(-WSld4oFe}Rh{XWSq zzjxy&x~|LH@F)IdY>xOw?|apT_5p@Iq?as3IposAm-xnSe2JG{c>y&Onl>UD8Ln+G z-q;|9z@kYMc1+W>Bwtd9%Y}6W4S6)GeQGiWCHNNaEis1Nd4lYpGD1FYTb2- zhc7?GZ~WF*xqSHy^XVLG%Y1UjBQZa3a_n44UI@`}aDT?1{69bDXFs`4v*<9Ug%e0& z#9&Y}GIN^6l<8tYiVaA>V2C8Vhgq8AjKMmKE!L2xC3YPhS=cE)rwo&|lr&^nRFfgk zL9%MXSduL$i-JK_=Ms2IXd2MW7x~XCg&f;VsZY7(7pqS#7Q5mTibgcG`HLTW7v0j{ zZE~v7sLKwqv>>&SqAPIGk!8Im<7-`hZmCfc4yS@kiOzyr$vTSY(U34QLQ>JwVIn#1 z4=#d9{9;CSvvwg-RfL31+Lzf)+d};jCHiq4+~76?CB5W5zPff z<8o72Ta3wau%s4|lG-I~|Ep|$hcVy^(>s_V*LRP&zTc9P%_oD{kwQljLr4K9LQI~v zOHAg9k1b9dA$ax=PPuX8&MK`JV3cG61TO)`CH4#dsDogBeOe{)FF~F+HWmYxh zaZ@MO=*Pm91}jbmwd0u=9_ESXpTHZTi}d>lAx7;HDMCs~R25?-7Y}ofMocg2N=ZfI z@`S8?0xb2*{C;DhA1hfdPxyU9pC0p)L&ymg6{AXOh0c^5H;Etq@aMe!>YM1ar7lI< z)Sw}!hsGB+*x1}+HdES=M73Qa=2re5v4()-gR6J=+rRoTrw21i0t=m?zLC_{eZ1Qc zLZYlJuYBPJHn+C8b?2CO-hPkCq@`Ij936D{w!nuDYlMm#39z_RElT2re zOkD2mo-cjw^ZfXyAIi;}yA-bX8Nn*fteO?qN+w;)QmW?zzHNIVLZ5bnY?bZzFvj$U z7u5%2yWTja%VF(u%AlDd?VJ+3hU9Bb4`--}JaXwGYC7)RIfMvK`Zv?ZNDC$|J3$}Q z!fNihC7Zv#X341&LrO_VF7JiKgCv}Bh?ICQJpIh${J|gnE)QSXW;*Q%ejPD+{HN{5 z+)jWPN7ty#=WX9#5;4XQmh%*S0G0?LyT|%rD3CDHK{CWdCi+W-? zy@dA*Q7y8c&E`9%m}O8U;;bR~lIu6_^EZF;DsTMcDs4MMWRAh(=Z;Au#I3++t){5Q z65=9{r?jK<5$STz&q;p48-=cE=(;X{2WY~q&`tSSlOz$f#a2+5oTSYMLQ7#PoGVZR zF?B?Zh_h%Vm=02i#1x4!tqz4o1ZxX185T;?d@IU=#~Q&>xJc#_P^oS(>OuvJN|PjluvN(9ZJ@DvjB`TQ62LQ2^j)`xy{ z*@Kc*_-Zw7L!?s`Q9??B%bh|=eRR}B`t?Kqg~{aj0Cqa!42c=kRm`@jqBvDnJolK|)l~jeOl_1tQO~$TR%}X6- zegqhKP{&sllW&)rl1$r!=BBr)oj1y2>D((}u*1w7I;14^G`8fw6syw+7ZNrLA9zZ z=eN$`q>>P3YOGnp4*C#)s;JK=@HE1Qq|i{9BsNt&?JlUv-J?E4uVQ*PSI!*BQp(p$ za8y(3GImo3l6yvg7E!wh$}#HSXb zVxvPeDmK?SG}`P{GWq|rStOlKJ5l3RtYXDrlg&#itfr(rH&QeuU4~6XF<1(jMsMf*6;kf{PI_x2b$c&DGCIOs+Y86ira>wFk)oHTW@^8zxg+RsW;xeg$rP9 zgDV!OwuE3chQ!Il(rPWEVWm}7OIeRJrA~@AXypqrh}ulRkkGcOs90yP&Zu!lj5XPh zMSjMF80dUKQ8;x)k)MRlVZ~rNLukPhNJcb>h*yuKs8)Rr5QwU=D$5bMH6>OmRZU`@ z?a@FbQphLj<+fV$*m_mLh?*O@2-uK+O=`1P zOHvdY@{gOstzM)n>`5|W4HQX|rTHonuVEXm-vxBRHEUrH@{@$fb+t`w^!hrc5%|6vbvGw8R*eJhB|Ec7ioX zh#nHG5T+wW2o9-BM~PZEbQBDRcx!H0!B_uOTE>mR?uczsCI&Sh;p=9gZ0 zjyK=9$-P_m`f6&ICu=Awktd$IEMNN7mvM#AG$4h^fM6fkc0Lt zwCBayS`&hgiO^|$iT)jP~*9S8RsnkERrL6PvehuaVM zb3ZH^h&EelgHJeD$mhTO3Sa)>Q-s+*yY~*{&fOzEyn0*q4kltdKvuQ}GnV?r>@=LShZLYNcUf*1nbbRlI~QdC8MP)3vnRK>Y`6ZRoW>Q@!SBu!ip zQxpWO6xdesq1rckBOq~tIWTr|us8M$&?@ZJZGt2bLY@c}j9w8TXrSWiBNE_0Sp zM9r%zlRu>O~1E#)wFTp;r75O^I{oJb(M(*A@ z=0~sJ*Pp&Mk^2X#wOYoKn28gzE;{$|)QXj{8hYI)Cif!%Oi(3BihPY1nWOU z&RVPlj75zxQW%pTDfy@%qCzx<1{3;gaUO*gcA#xo2y{9cTB)myGEpq3(Uc$Uz4~*> zhf&eEDl_KegpvLW4@FflS{o6YPUkU+b%xG++C@;?87ZnltvC@CEp07=(R1gvc=4rY z8LzKNQdDrHge;@ODfPuoW0&gzafQVgvcm_oC<_FY7=s?4dfC0-aR2T;cWxhW|Nex@ zsb@a(+Dwm$-5e0H*%g2QWl<7bp|*0=11F=kfj<1$Wwy81Ii4)!=Iuk>zy7|o2e))6 zorDy0p+hiAnSvyZY;CRUx$_&@?W4>6S6Hqo`rU`}&U^3kgYUh{d@|R{%tg$i@2!+X z3RPp!-H^DiXtMt=6V&P%caCzqRp8G|p(E&)?FG2I6K?Af+fCdN($7t%GJokY|IQ{q+xO->A4)%KyYnU8# zeElz8;q4#4O){gZ>k=B2N4};)ACwqHEH$hjS+|dW>cf2aBWDP+ZRxt!`ZmhVYuolG zfAB4N?OPXYM!*dXr--F!VuCXhjYhk3fK6Ncsw0TApq`|Oq$&%;Ksm>WDYCn>ZC%?+ zEJ@{JQdDIgkqYNB86pp6g!|J)BT8p6jB)~p{LF-|=;pbH1m_t~^nG~%)t zYrZwSubed~t&;qQN&%NMTT=}~vU`q3jM1orm!rJMI9A|1m5DMV>|tesCqMa_9H zbzOl4LI{Ycsj8%utPepXL^K6jO$141BH~hyOLG(PXm0z6Ar?VV-r+ip_n*n68B-gL zWLS`aEa>q@%+VYci|@Izu5ZMGG8jgle}0vhK6H%rlqAiSy?IR+6|qP|p!VL*o_2C% zX_-;8Yp=a?o0&C;4zUH0#PSoJa;7n1!@Z+M3phv^alL_LNet*FL6y zHyu)FJ54Dr=5OVNS)8vWgvLwRu@&oG%*Y>Am)8u3veVpR=6P#YZZz!4`6rj`Q@?md zo_V%nZ7d8`kWeSB4$`?ZOY-82XY|ir+vd0bN@0+YUAFu+&EA)kYxQJ3$9Ji^M0V??v6CoT+%ifCOL9z$KC87jmP79xW>-~@Ve z1RW5I>PZd_Il0vqF``vCv@CAZp%|cYo|F=I@7=>i@LCbf=q4Q`q4plY3Ht8)iHe+iTyr< zIAM9cp{hN}dZNUP?vD-0l&7D1lA}kCWD$jPg+h@Q=?kb1xqEw;H@OaD+%X@ zsMeUp%oR<7$q2;w+~;5Bg%^J&XIfc>X#V`x);v!>eui6DZ;|30?>&t=VsacmvC7lu zpF(v61VXaR%o8tWSO|u573zCVoq3pJCm+W(KR~3*X5v(EDGX47XPMoj8>jbm0Q_1o<3?;x&Fn?=DKb@H4zzQUtt&$7I9l1I;;;fY7q znNK?U?kG-YjF%(td;S>1dcgYXkZX50xpw=G9PI98_cIBxh~U|}b&rjkTbw<08k0H6 zj8HaU&K7h1Jj)4PWOw&~l*tcba^De^M@4xDjif`m!y>u@QQCf)<>iO?xletRPk-)N z){Z3lZi)*-Vo8xb+;JAQs!E{tjvLpv_{txAlOMfynLe~s)f`KXy{$;>_lSL>@inmv zSzSn!RLsvM2A)CXfk4;xWlxlfGpB6&EMTcasc~8tHeo>Na&;A5Zu!a%HeY^u6uyvc zro%{*VhM2heJ<&Vhm`l6<(nXNc;Nh_C;0dW&f1FKm#%vRw{-e?rE#1*@bH&eZ->8kkse%Vlk#W%;^%bq>D+Hq&&&Xf|t-`h_EW+ zGIUqTJHOa>;or@L6oZt`Cd&x5^Z+quW`q>Qyb`^Vf{9OtPnrd)mI#VO&6X=?4wtH| zkg+-5_q^|!Wq$PwM>+G<5^b1r!i!S8UxhBdjt>xI}A|-bPxVG>tEacO9)F_x!l9niC$%@Ja4B02kY9$q7 zzQm;QfE$RHh^162`H-_VO>w$#rj+TuSi$};jEU(!{z<^2s2JXuhIZ_k}F_HOi;U|>ZDkX+Ps&{8jOLiZ>gJ#y7G*M zBiY&Bw(Y&1u1~b{U0|BcrPhf!#rvgf@eHk~KqVElo+K4#9yu*_Q)Op2rAxA=6g!@+ ztto%`_1C$6^&U%O!>LIg4R~VgGaNMLz0;FVpXGxuJ_pIswyAhpGKvQWYe!b7hC}9E zB)SeUFO72?JHE>D(vr-k!TP>Lbc=~u4;HDMB03bPxpixk3m0#I)VL~u#e5N1B}jub ziTA(%DUPhJ(9J4oThCm;OT^2n_(99*$DBNQ{yeX}c7tFujP8)|y@+(keCsHR8nS}w zfZ6;&Ci6Wr^&|($lvxkbJ5edJcrP4VJI0aaBTNnsP>UowQ5_SzAuB5<`OD>t@OR(E2F9tW-ThQAg@4@lcWm~g;0_l z>DtK3+G+V~U;G6=@u?^A%`TI!75XJCHRZ!g_mgljS)h;hCxKUAeM{c@(L0DlnrcS0 zIWao+w&zmUW@~FpGH5?t|j)N2zV@0Y;k#aWE~=klPs{wGI)m+kf~`$vu-?o zZpD`UK>BV8U3&B%)enFE@4fFgUb^zeKmYR4_R@F$gQy$-#qRdT@q_JId}w{H%i|>H zA75r;dy88;bIg^CGL_ZJg0v1|1rK%Tfw%ht+)QxSd_?I2;+r5vQlFL0m85`j(10m|s%pVb_oMZ%G?N=mBy ziz@strz)1iF^U#$5r}4`s$76ytgyafQQb9E&Lbg5J!dARBB`*%B$dbo6X%7aM|1X& znU@%H7L`xBZ-)&`cs|Rt2QxVrvRTYhl>DrFjw3n)? zaWVvic{gW1nJ^e0VP*LUVxCwe@X>W-^Y56pg;!sHo$tKR>onqNzt%*JIML0M->>YJT?A;lxRZkq{4f?2#vVr9ci+3r?K|gKKikM+)h!Q1Um)2;JD;~~ZSLm7+^4dH@KnCUbw~o=Bi4(g3XuxY z0Vz6;9vkzSzxEM6`Kj}Ww6v`g(i)ZqSskjqJg7!2!U(z^zWJAL@Mr(`H`$-;QF|f9 z2{C5Udx_?d>1@ipozsQV{n!Imm3*eitew+!IX1p&Mhr&{T|djFYZ4I;uA*`diHUv| z%f8JM4YU;0t4CHi_0(hBynU1D=8QpA(HmGF|B9y~8|OvuM~H}|9Jok8`&xny@oOWN zSH~&E+Oc}}_1!bi|F{3cmwx6JzX`x?;P3zU|IR*Po60ipfh4Z-j~Q)HBX~k+5f=?Q>Dzs(`N6OJcfb4HKlrbI z^+T`x+b*Nh6a2sb6+@I1EF;HL4%zDs=3>lL=$#`Zu-@>YLQ{r(CW(1b9-#_K9UFYe z(8HL7TE;wgW`)Pk)NJgVz4pe0*Wa8=*A6*)gpRs!=M` zCDiXBejA+8TI8Uc&{~IR!b_wwrLqPmMgC2N(-Gsr5{9Sils-@@r-Y?EEHMd~c4!q4 zAL(LWF6$w0zq83VzWz;STi009T^e@TpKNgF_BBS0@$lK>967nna3G9a;^ns7Kk6J&S?PI@|#Kz~O4e*MhGV-zc~M+M-p9_$eVq+L>c8RF>C# zHduySM8qDtXzYiUH-GdVZ@l^*Y1UJ_8Ht*ZguonA!=$1Q@bDui`QeEyd{%gaB19<2@t z0VFO%8s+b&vAoa;QSe^yl@M*t8*l!IFMs7b+}YSB5SfP=UF->#NOXtT6re{pMPnlz?_x;VkardvD>HpP# z`geYNu)6-Q2K5U4%%ty(sv5GivO?YXJZ^m861KzW;xcwB|L(r|T@E8t%wj=QMN*E4 zF$;6%_bxyGwSVzj|M(yN-q-%NnH~B6CHporNhwnjl4e*c1w&8Dm6#y}EuBVjlE<<< zb!zxRX23itCYDzmk3GI_zFLwi@6CAk@*NR(ilZkVy7c6ePyC(FeBx8zC_lpV55Mxm zzrQ@*{X&zLpMLnnNlvY8*}HcS#C+juNm@w%%rJ?Tvr-;}3uMk~gk+h5AVr{CusHI- zWpB1}Cxnz^Jd~QN zSMT!muf58>J9k;BlX(qtFzpEH7!20=)}LSHm2cdlOE8~xSZh?W0}h+V7K>3-bNXlA zDfP^|IU#f=ia2+GVdfNZ>LKptWK@f0mL!i$6V^GL3GaLHF;-RwbX_FI28;RNHYeP= zx6N0-`Yo>h@EVnDp@V&5S|!*%;to*8^limp;Q7c)&)exU$7MR568Z|n7Y9|J-6t`l zBd%S&!OiRUXuApO_gNaO^5Tcy&-(f*UE7kP&zK&Ks5y{G&}ix_IoNA?^_xFr^Y#vn zpW!u?bHn9bCZ5&x70y5ND8pf8lX)jblMSC{1WBgSi;57U z@TA2o8M7tk?Z_TEJC-l~<}dQ>^QY*#eY5CAtjhkjMg3kz)iDa2xAzFsz(_qB<{%KY zLj91FCyp_yS0PNWK9v1MDo^8~8)(5X1PmX@gW5l;+v^l9UMv|Fn8R=y% z=Kv>;5IRCIoHn+%*UGnE`3^TOy~nVwNtH3_W|;R3)Z4-4u59gf^v<#*-3*BlZ(^bp zb&nm!Zp3GzJH1LE?&ejL8QfckJuDvGfN?eV7NZ<{0oos!uy`V>BwS`L!)4Eh=@p_@(tH7 z?enA8-=*&ks2x}u@qrIMYtOxK26ZOEyrETj>?1yjC2?i+SM$ajKeX3geVx#^(p2-( zO+!kWyLD=N=GkX>^4w|3qK}G@Tvl6Zms4TITZsX*;dsE(%2;B`1%5#hV3vp>$9@>S z9XmDVi@*AdJoo&0=H1j%sxWco@(2$iZ3Tpo5(oSHbln`a+$|?F>r-O1RCDU#HJaMd z_g?aJPE2Jn%y#lXSCBcBhAB$wix+JX#HX2I87#26)Npcr6){KBSXkhd^cYDxluSmr zb9;k!J~1pv-{!+CYl#JuoQ#YFOBme@R#(^ggu8)@o+wNr3$+W4*gCYH- z%Ra)G%81sHQcfLyfVG&pkSr=~VUb;&^J@Z0XCn0Fvr{ueBE6Vm{p3!1_pQBVaP{J+ zhoj|B*G&_bnlZJk$@1~j`cqvU+21mNDExz}!edY@Zpc)~w=$la*q6NO zMfP^*Srt^6dzL6Iy5?AUOC%>*xtnqp)Pib|_evfMFm2~qpz2*l&Ma7fF4G)xuwjEl zrFH{ia@@N&=kX^L?;>r;<0LH^Mu^8bNGTAyh=|AGne1<~b!UUdJe5->?G9LPwN^6S z-6u>tyiYinND@ibGa5DcqRvW%fu&BfBis_=l%#d3%tLN&+O?GAnDVnJP?8DtIMa&*t4JKl<*w^wT-RdXCo~vx;OL&Ig8rWkTDqe&QIP|J)}y zd18%O%<~cFd{M3C{3DS_H;=sbor~POd7IHVccE)5kMOgf{4i_BYo?QqBsEg%HIbA* zdsC~c6|P;o!#7`fmC1C6;n<^$GDarjD~QoJbNV=+{P~Ztv^=2g0!|yt{<#j*0NRvH z8bj5yyT8xDbV^lM)K$qBQkO*-L9ysqJGR8H{;ik!_$NNVyqjaG!L-Iwg=oMj{{}5A zBk~hk3l$#c8v2w&7f+m8=kaq#5kDui5tXK}5yQX1gF2*9ihxVZQ)hS;KWGr&7WSlP zFc@&=iANc&Ez`+77cQzfO;!bUIq`Qgn{wmMEdmK`gg|GSq>x&q9O6drI{Gxkxnq3n z<)7n|pZPHOd4?$Ca$b`>kjZ6|e}3&~=bm>i?eh9-Z}EfgexL1IcM+Lj>}Ay(ilw5) z({$Kb#xASN@=7kB6QTtxD@L@$ps5*-2h8UC`RZ2BblT;e5`wQFSXUV8nR0>nj8P-y zNW0Q?Bum5ylS#*P+GjPda|`^z16_%5KmL+JcgXa4>wA(WMk}kN2z&bnva~cs!{lUl z`&($e|48!w#fXJuoU$|^36@mMJh5}ct`Rqe(Ks@mjj5|a6m#ug{TV*k z?2R4aVM#q*h|K#Wi@4-PM#AE=iX!yl7?|R7*a0pjsRJYn1ee5;5u)W$RvG6(!nu-j zBes}2mc}TSPBB*neb-XEipS1ADp=yeg$sfy&0tX2euCjd#UZ5f*~y_NwYRij`iT^# zS=-JF8_=UBI4_bfb1TH$+zCjkgye{lWNUMeYuESX{P{V{E1Ja*x|mf~2ucc(K7^cc zBO+MG`ik;1AAN>b`?tA#<2{mZrLL9zy&YygVj^!2bR|DMiFpGMmqVL^G%*hEQI*oWa`8d*kjA85IC=6BlmU~2 zAkDBrTvh?LX~2bdZnAa#E-UJ&G-A@C-bfMFkDZj$r%!S3_6{HV@cTLU+*$h6NeE-i ze1SiTnB*eLq~hYc+g!MGjqy5EZb)b=o_XJ6oO$A;v>_60!FfsrIO=FMh*2@y>G=NZ z7unv~mX%{w?t8ld=sZVvrv~SgmwxUUIeY#g4!S@LCY13{Ucy#DC1_93mKYoP@sDqD z^ZEu$;|kG~VYm{&V{hj` zPaK^wkFyVVar;BSA3S&&0o=a5X@eN_^g}0b^Qm;*l*wd|zHRg9Imge4=>j)ZXz*Dn zcu0V{A698X%tmO_>;h9M8^dyCm_ZxB4kUk}g*#;xHK@I*_hQ%xC*{?BO*=O9R=s*U@NXdV1%QO;D|1 z9&BRsKC!p2s5Y`2j1ZH}=9APf^ zGSN!{%PFabQOVUSTlVEY{I*=Xe3_~~piRoSUg7+?GmOWL^}!Hz5`$TaU8V(yVq&J| zx%k#4zVYYZVP|I_@ALPFeK4dGp~j-xiywSmUU>2S)>}`XT=tU0zI4PYfjZd`3g5YVJ(wiOKBjnX~etk9^cXm`++^R56Q|=zu6?uK`3;vL{9r z>ATKm`>h=8PDpN&y&+baO5o`F5fr6sdn`gsy%Y&f?j9_ZS*>NLwji_l#J=&$kNEEQ z-ovLo=%*z_R_QGe{D@iKN@Rw{Xs*wle*P*6@l$h^mxHY-_ipU6x4mz5ts*9eUPaZ6 z#1R#nr!lx?KJdY3Ir-2?y7`uAtVNP9uUDjxS;XL+pkAoe%jJt3_Vq9SIoIF4ib#j* zJfpI-!BSJuGEr1}R3c>}iJ4}2sU%S`&{)=LiX@~OdaH-E%(~X1IjQSqo6q)TK07d^ zXS6hs)%9h&x6w=JD#W}wlEf4i!3Vhe%C!4oy&xGNnRmXXLb5(*o9cbMbm^2tM6+Qv zd)5p$789|_WKVhxT-&JS_{n2-d^E1rjsEW6``>=A`_KQAU-|M+#0oXt7tgFz!}T#- zxf*O^Q@Fj|asWgX@v%sN3$|WLq2iLDNf%=J;(=9xWcgG}S?Op_Or4oIB&xWQj3*^% za#8B%U`oR@{d5=7-M-bBpov11K#INi5?Ydy5sN0>R~1N-7(xa`E@VF9%4jQD1POH3 zT4G}tuHWc6`{FZ;i}#T)aH7+jmQ~ z5IZnPF5lqJpcW~H)Qnt#Oo)tCzI#$MiIx{Wiv&vVJu10v_uffwk(e>-xk89p8lFM` zkjg8;BHNqy#AiyueZ+??ys!%K}iDvueXCBzAL?`?78`fWmNk<=p6<9sbk z<2CAWl-svmee^6M}2#8VGt)pHt%cth!n@5@D&SI z%RKhXQ=C6{g24cpbebc`U6p%lbCglJ^z)8eS1#M#n>QuJ7Uz0I1Cd@xiP*!iaq@xZ zKftMzM`fDYMO=b8U*-I=(#Web@G4O&?%v*#OP8+F^)oE>*_%?$FfrQMh{0e@KJm$q z@x)UP$-J8ymWq+zM2SV|RGuu0xzs5b9;216-=~XnQb+~G6l8U+;?c7YF&x#j?W{}+ z7I{eaK-eM$uqxs!^0ORxFBMdgWGUk zM1{?*P4@Tqv1G;HSZ4o)Rhh$nR6_K;^zsMnV=q4=Rh9=h-1;N%N@P$_?y_bIlCr9QC+iII3he zo01S2492vRUb_8+vqrqs&{k~S-j{Bgp|gp;xH@uLf_R5>jwoWK6BIDZmtQ`ZyM9*4 zhLWQ>^BlD}8T0ZSX;6I*iU&O?ab#fMl)Zehatu6J9sc7C$|74N7N28 z+ZJ$P!I!-CkPXF_*xfhYzBJ|8r}laLY_jp{lHAxa_WS9t{m!3$=SOaQ^n0n_`RJ0| z{*P9D`@vD&bLr-eefRb2GChclYS4JdeaimrMR%!=xKJtOqT^74YKJJ;>}D59RLsl%g zW)YP(Pi<2wDx5^$2S!UHo_OjE-Yb_cUuJJ_QjjWnEgUV6GM(nJOtPM%Yw+~>6V|4g z#Hdt$h>9l>P=n3e2e!MpBguA2GR4eTT3VrMR@lCjodG)l03ZNKL_t)2z~o?$kN?~Y zeB#sZ$2CGbOZh;FPN)LrBcc^ouJ7`@|Ke5N`rZX9c5rTzS%6+SdUDKob;NXHT)n=@ zY&zliiIc3XtQIv>z*jx9gTTFwTf}fcT>*3^62uXSHXtR>(PJYXePW$ydtjHY-I1;B z$jK8&IdWvJIQNROP!*9e-8AvzA6($>?W;I9MYPRjX~{$~0w4I`c|QEnr%5s+nj)&G zrQ+f**#frMr4;X++^49-6cAG!nW`U5YoRy(~$Jd=00q@$L>(_5GnM`rcnMxo6Khc ztvbVXl2Q*=_D(709k}y&KPWj_hDFJIOM$BPStXX`bR@4(dD_sMb1IG2)*Z~GpLa!y zT>%x-DHt=xa( z8WBt8lZskJe~|3rrF$~B#-4t3KOKvAkB;N%UmOmWXa<5-bJFxK*Y8|US8nX+h3orV z+nF-!72ijkrs8YkzS_8~FM`WY%R&aGh&j_zEXRdP{l2&>=I1f_SUN<>F&RZbdSA`_ zQ_8*%rjtP*g0BpU&l_=?o!4emmWN{&jbQOGSnN=VL5`%>BzWsli-=Y9ro44!gZ0;7 zw0xFFpIEk&CjiSpG{050_6{C8Xz%@lV6$oM($c{1;|CM2-Py6<{o^`4X z6H?dV`kso0jhmbN`0Xp4ICYHC(wLNbq~MwI0avi}DF=3W@AFX>9JTkHI5B4J6EE<{ zBgc5_t&42l-eS5n;oiLswzv25D8&cFMZ~#7AxJDrJ3ml{W%u-IA!ddgU&^|Ife9o8P%iBP~=1xnEB;+IX5JhgJ;-`;mja z9#v1@Wx4KPkP8u1>7#Hk?ebxuMKEXJt;#+aCp`E5M>%?G$oBr6&5cf8 ztvbXeLO^{*Qw`9*!uc8IJ5s*}ehI6x{>`H2@YNA5hh5AB0CR}WQJvGzEACy3%r+A> zkxGr^j6QHB~tcj$dF5ky3s(GvsI_srXl*)$Nk+@h_ntutDxm`?Yyc&jTi?-ZF&X9$Tw)6jN3)5)B) z;K`9^KZSHpYmwARE^y5XuL#APL2DzM9x1Ib*&URgK`k7VKL_hX$b&}rfls6zWu!&JS)81 zFY&}#vs24^GHYhq_0^Kant7P=-j$p7umAKdUie{U zS2AhJa4)|o8CFS%#(W;As~S<5w>?!;A+BtqVpgr$B8<%!q4^?4!*U;}z9fC-m;}k* zr-H3nWS0OE3^9+E!#%Ug+#-zv7d@IolE8ApWr#hJB9*CFmyj;u$V|NXw3CY$F7e2t z$9VGG6IAsG=W}M%!eO5*l0rmPC0WFxWuirbzE7ggc>3AXJpJrLGTWK5aearIH+K2f zH{ay#x8Ej)3BHLXaIru?EmuoT)i9ZLY;NX&Lhn5mn^HfK*Nwg_=Dz%Ljs_#nJ$;U) z-B7c!bh1eFS>1D2P@sA~~59)9E$YpY{svnk2?Y=8km zSMkopD_pyBHy0|*3d%(?i;u`t=N{)%pZPeWal>>T-pyJ>}}v8xmqP@5?k)JkD1{UBbzTr_P;W zeSJs>bHp-N5&F#e^Nzk1e(>gd+_-Ursy0w3dYHRaiP?aV9Lp+1CjI6AfaI4Db!<^9da_Q17zWU`?xO;n(s*WVS zwk~a8sm7?7rjCz%^d&~M@$FZ>j-{4bgwW?*XiN$3oXn;zeV^lLRKO=nw-#8~47z!s zr({qe#m{6}wc7WjXgMng$!a;x67duZ)9%psm<}_^@)70`t4q-}Ct5%l;zfxPBnn|<6u7%T=e;Xi_MK)7FXx{pEi{T3UMlC5~WW80jp_5P0VW%Fgdg25RI7YO`;`R zu+Nia=YI++&W{$scbSl$-BO~#qvi?#+(;=%==;1a5X(#GWYlhuXSIf@3Y*(|{N*>^ zAX?2c?>k3TCrPQtrOHa)usP?zuoz=rjf#>A5?r(TL(I&4Q^}cg4{_$H$2fWRr2Ww! zIQj0YZxA}Hs>z1J`Sk4;ZbIlpG<#(c`N;^Zb*zN@*H35v6OVB5KwY zR$z*bcP`$wKlzitU~6-SO4LX$TMtAfpf+9^%cnp0F`hj4uua=mhJ&&7PHE>k{j{pY zgixexhNOnQt%<$yy&uYS+F4U&<{{!i6Mg77{m8?7_@xh1)s4;jPDFinu|%`UWGd6i z)Q+qlVKf{{Oev2*${@Y4Xhl`cq>@Ng>=H(_$_{3c$+Y_kgQJunj{B*=lpvEl%Da2- zj$FF*u0?w z97{z65X+bpuqaLxjb`s%xW?wzw)7K6QwZqlm1{TelDd6nZNQtuWeOdK!6Ye`vm-Br z6uI>9l*h*6l;<9NT%HfHScea>_2=$}l4d5>%;@noA;;MNHKY|3DtyPq9P#y&qox`Tyg8{U=|T%qOU|h|H{4 zq?Zh(!Q~sZta3;(F4AC-vPfSzd?YnFj(2hEOF$I~Qn4`+w%@+X+t;^QURh=|Tq1PF zWP6{<-b7-GxN0C$^(2{RR#Y57flnUl5Q~za3^W&OuEiXvcsr03vev$+dCFTD@@*f4 z+EsvwyXzgX%&50o}@b#hVzplK9Z1vg(O~i;e9nh07Z8`nqQTc^m`Zx#OlnZZNk&=Qy zDvL^$EKQ9eBbR2Aj_I@`wL&FzP5^b_yk_Np5;1xndia=}e0T-X9tkzdK+N@+?+`cQ z>eUUdzIT=7;Q(R4WHRTGM;_&KpZ&Oe=%x3g!%7b3fk<5>^dR0ysgd_C-s3C(`fI%P z{R^TN$YKeh4~WGYs2HtOy!@FD@Z>X((p#jeHH$wo4^C8FHuwhPwb$O3D_5>k4+4&e zCdD(x6sDcYBM(2!V^5#NTqiMlysJfZv7^k--Gcfq234x$`rGfZb#sr#t5j8+_nbB+ znz6iA^9!GSk;k4qN}qZW9fLV>GQ)f0_D1Bwa({1ErN!CA9z__ ztEq;LC>6dE2$fiynD4frhO2ZD+;>=;n>E?`;9Bt>QW(nR%UkU1AIPv8;+>GB$9xU4 zMB~Q%?8`6k>@%kjO&Ar)BN78%JaxUw-HkhZ>)YR!jqSS(h7O}WJZtlMd`Rb3IRD}~ zKKIvuhT*^@v>vQNFq|u5_QK6`BuNr+0vF%9%3E(<#bV0Q;}*&+zc7?a!mZ#rm>kH? z?l$A`fRBFkgB(nDxp47q@oB)73m2#=DU5|e=wSp@SL zEcWOk#iN-MeeF;l9fK`U&Wq8bq{57~2h8~*+%GE*=g4<>Dt;bY^mYm3V)V^%K$oJ1l`rgjhcALKg{6 zKuOMsV*d|YZ?-I1a-HdY%iZ_h5pm|6=b9%JW)L7ia1=>nce80SndwS0UFZq)3VH}V zfUb0*;YOzBMXT8WB$7apDAYV=){sNxeC89w-rL=mE|%|zlcWp=7%Zz!o^v90xUb>= zzn@B-RO-;=q!%Tc=2VAEESOMKM-IlPei{!f{^$Sq!=4#hXwaG2c zC#lpa*-0vX8 zM8kx6!8cy6Ja>hitsQQCdYi6mi7{&5_mWZ~_(0b#G{;s(Ri#0)NKRTgFO@^5?J;ei zslrI^-F>L@ziZjsoyr?;zQUPpVPnl`!fo4W;fdMBQb3I&qA4X(inikxFLv1{1m*b` zZ}8WD^A}vY^q$r(Qu)a4{=Rg5$9z7g?dDX@v9-3Lel%k5pq902tZP++A2&SO-;<-G z6CL76oL71EJ1=Uz;pimOyOBTzPBb{j;oh9PH}5i*5oa#c5=NOf-h7Rp{Omhiy1YY7 zk+vJz4dnXLjaN)(k@w#IOn>!%zt8<|z7kRkX{MSI&W(iJ5-MeTdyDV=@C|s;|Pgt}as_W%>Oo%rt zf|efCwwFq`Sm^C9z96_HJ3B#L)#0R(*iEPs{QM8T&maHEPY~CWdoz=ZhSEW1dHmpz z2ltP3-u1*ZNEnt&avj2loO7Hzx6by?h&FZj+M{u#l7)6Uqlt;9E_} z%kJY=Kl}8Kgv#s03&C~t-bt2`#@KM>`X%|TMLPs9+=t#VM{5 zljLVou1`U>O}*qCB1J}R4}=&p&0aq{s}O>3P^a3FMKvNxG^jIlp$?9`yIRp!L-9=eV>ZT7D*&UTnc28cA7+^Q7249oJk5non1)()Bp18|N85j zU;PiRKg^ZPb&;|=nlIA+;r`YA{k`jHenRDYq6(swRw`7cZZ0M^maV2!LFq-rA`>)u zak*9%Pee&!2t%_)eX0bfPJC8tx3Uq!J+>$m=gBf8g%~NffXN7MSo_;+Kd{l9I=lvw zV3Y<|iiuqCDqhiGM{SCV&!(DN1yLv|NBX`)sv3<6&53%{;6>9tsU3_)fs>OtDJH6_ zCiaOKBX#9Xkf9mpJ-!Oe+8MKcj)aP&Lhj({lS6*<4{?tFK6G*!}S}NSu7UZyYmg*e1YoJ&{0GrCtRpWevM9r zW^T0enT9pwAS9zMv^{^W)EXc;_xZ_}&Y=@WKu^ zUb@V=%bU2`!V04pn=eZ$(#pW2`%`}Pi}!i=t#D)BeDt+#e2uSd-vIW@DS}fQJ1vOof&iU@U8^W~Qhxpnh4Z9k_D$-3_hv4hvY{ThGvr+-Qn8m8SbDLYeb zs<94_kB<55^P7Bqf0x69=eclZ$1;C37tu~C&xhIBN7XukhFPnYt{StY3acrbY+N!7 zXo_x2O*yK)N2&SX{SUcy>r1-c;vrOLl2BrV@!FW5{lQPTeB~mu>71yJq(wz$Ya;G{ z^O%45<%gW?CF-Cg7N9+j2E~(5Nqy8a7dN?j`6_)E@o8}T$K}C}xKelaINx%(ul(xo zKH<|(Zh=3t45p-btyZG6p`tf?6Pglup`Uf!ym`|k?^ z_~4fvOD-5UT{1QNsVu`(q}Zif7iW{Itl*2t$R=*qV5^=c6rN2!qOQclXirUw(b__xhv9c&2n}zl63Y(6`jq zcuI1~d@{Mvs!uua-5?ks*`=t#7)TB@XYoY54u}bpAQxviIHN?HBvT7PUrz8DNyMEw*kyQZ?8WgS^j7sqRaGQ}wu>@q zMvNLq*LB3chlF?q@11OIPS`$s79KvKogNr594X1I1}d~4FS9lZT)TdQ!{cKfJ$Wkg z*_=LSy0&F|tu7C7k`O#y*VA_qn^~8&crZc4tZSLKbII!Q;?;$W_nmmB93LNWa3DP1 zo$}k?e$BbFYkcQ>ukxKYUzVLSYdEJRb{q36X~tWEuB4P~@hSzqlO0}!t*tHj<=rp! z-FI%%q!Su?$jQcat_6QA8(TqNdF?7&YZG=CN9;a0k$w?rD#YiCF7{kLdzN!M8#dTT zg3k$&86qNWyI{NyfAQDf=A{>|(lj0y0!fv2rXV9LW^yFsq+59I-hIS7zy6RfKDx_D z7fjCglAWMo9i*X>ER73D*rr2y;pIy__xvULJ`=ND@|HKG#Ns8-8uVZq`QWp=98HhK z_DRX6K_KEIqBa8`uL;4|w5bE9I+rlY;1Ja{`dG7l zc8fp#%O7#^+BUPrNg;d}Q(}(de4|hHI_^Ju!t7)!NBhUBdZBODmcS={K#ed~EI#}@8Ctpds=g@pJysxvz%@giCqw+>;^b$s~IO(ttsxw1V0 zNoE98Z}MvGivlfkcrul@etnBy{NgR9(_>s%h%Nc6;bkwsjvL^V#o#GrwO|35gLuH( z4nWv=< z*%hk1c$R7HCXgz=o#o2vnRSj^qLY?iQp~mkzhaM zCz+tFwTwxraMW56V=|tb~!SZI0R8nXt$U ziBEf6t!z%#2;y0sbmWwgAmr51wk?BaQ8g@?d0p4ZbUH1Mq(@^GA1b^!y2XN=6Tvsk z_8&7}wCq2wc=Gsx-2Un=*Pp+^=H?n}lYkGx=Ek~gZm!`fh_Nl`6u+7n8%l{wmoM<` z@4hUbe*QU&-C5by^~GfDsp|<<73An}O6ntR+ezQgh^aLXRBGASp2+LpdWq4fA@_Ib$#ED+Ia4wfL-XF#1#i7|lXu?!i231DDm}*Kg=ls}FC|NkEr6*sMOnm#0q(Gc#rqqS?9;!f0Ix{j#G&1lF}IG=irVA0gjL0 zKmP4ae({T6GCh7uaJ`5+0)tL;b9n`RWJf z5d-3B;6G?7wB^(;YEY`Ie4#5+x4~Xd5#miFJvaa?+h`D4EWa0p!f;9s?p%4z2N+8p zs{e8}n|E$#*<^rnXA6-WF8(~kPxxv*JE@Tf!8z?+mL4HxYp90I6UmUBWwIBjvmO1$ zti!IDP^6-qY7^bk`#oU7?6x%pl20}=8(KN%JcBSoi3NV>OBGi-jRC2r^Bjylw+%fv1-Uv#7d zzKw(?Ag;n?GX$n&-YoCUKeFh0=8yJy_~-x^JR+V^JvP&95l;9J==udQwm4UErKB=| zt@mcQYdbrf%NU{#f#B@WjeRt~Q$Hmx=7bEA#~dAWy#4kbpWeE~_SQLaFXY^F;nEHl zF79yt!VWLJ`~qjUCy>f(e`>24g5z6nzQC*RU*rAX+_%@$Db9CH)<;y8=jiar;Hu}( zo7e@Vs%pl~I-A>@eEWMZ^XhBQ<7-dfS?ZC?iQ6y7kdu&r#!rO z%%`8<=Ht&k=kQ>k&9Nioo;YhkgL$ut2THXfi>FV@)fdil_UzfEKW*r_lW1w!h1hm{ z{Qif$|JFZ|XH!BwBjppEcw88vX%#WOwmxQOXAAF)3~nLBCiAuf2J`bsW-;&h^pj87 z-F;~Aq!fw~SlHTH=e5^fVlrN1zL+h?X<807agHZ@Px(8d_0v;@qLCY{>rr%=#1u(?2~Zxa0Lx%M8?mKjv2VcF z0aT5I;-?&x$mN1oHMCO7mTTrsE^cZ@$Wnq8C6)j=Y>MCotz1z-SncM-e0&bIyr@Cc zprR_yemtjr89AIXMmcl(n{=C1B5>(EBwBWg?H}s$%ceqg&dZb*U(h(if9#b{>ZKB& z(1b3FnS=o!biiYrdT_+@$%T|w8Wg*=L}hsmu11@~lt_ayfXK}-IWo~zX^XJb~Hx&==-zSk--`b{&iQWBuP#B3*hhcME85bZ*-}R7` zs`f}iuU0;&yVqb#G^-Z9zT9e-?eyWRdR5F5CYzN`nIKAw8J!7GD@f;p+Wo9 zO6&q&Mx?$Y_EWqTsYl=AaaxbOjAF;}{rgO(iRfAm4j$+ip9eX!y~+8tO)j5Vr;~(6 z4;rk(kxVACx$X7US6}4o5AMj~Xpg!|j3#S@YRqEZ6TB#SF2~1@G5$&=*Pp+_4}SCt z*REe^swX3*N=Gk;6A&L9&miThq}Z_ zdh%Rs+?;FG)ElZNc~nKS6N#dv+;QpBS@j)PwzdJ zs)7_1CnE%}nuFMd+Ws{f}MN(51>DyAnVeD&pBrt>4M>ntgE zmX8$SrI)XB=G+>KcCidTTOJ_Z;qZKY>yF;~^mD0QCP(Gu;8?pwD;pbiDS%dh(IGy1 zG!{az&!2a;ubWINs%AA{vMOy*_Lf7Vxc_Iv8-=x6u?6@ z@E8!E)QRx)>AoE7pIDM=37HdTm%l0gg9*o?sPBUuK04&14?pLPADrRL#s+(bNBU&{ zshqw19ET@Ue)+3+`Op9P9lFDwQ7FH&iaLCe4mi|1Rg!2q&NI_fy^==gm5DGCg6wXzBaj;HcuBxrBypXxJ@{*VfqB*kF2cMCud1WUUQd zk`8$VQubw@qD+oOcu}u5-K&f?`&})MyGYiS`aB&L5}dl2ha*vzv9G7Hg~LZ+0KGsl~-0N@(Nut zhjbP0qXr2rxK_>1kVZq>l_l$N|7uP}y;w#p!@LX?vK!DyD~*ZT)rA{|4S5;!WY35V z?Zm5!WKl_KV?h*x3|Eexs!2r4(xz0uZl%W*UEZQYAG(~K4;N%v*5zTwsdjBDIb}^m zsVa{+PaEgtjJiCL+69eWk{CN1n}`|S2AopXLOR#1N|y0x#CX)u^$QO6Pqdx)(#Hi* zvwx82TE$6a7A5b@Z0dr>u9L;A)vQTeFauiUz1EEbfj{o~jCr zn_An&OlH#-=R6x5fy9E7lb+lyxc$YK`tmE6#E%@t_wviGRva1voI87l@pz5y_>i@= z5w3>We1UUG$)1D#L{4L#d;TJ?zIH>u`@`4e!j-e?-M}An2tieBPMwRd+0>AyJaBG- z_$aek;@#hV#mDd8=jeE!ocHl*&d8xjv&5Lqfg#{r#1$>%5RT#`s*01f^);?uy+~6x zOc#s7+p-Uu2X!tHb0>Gdd8`i~98h_v+`^d88bq|jiv-o2J)^pjE7vZvb7qZ{6Df{R ztx##ziX9OH!V0Mm`sL@3<^J6RoK&cus0+Q2y^bfFyzt^R+1PA|sXMht&3GpSCp>y^ ztRMXIJ<_pK`x8v#8CELtK|GlIH^W#8PG>qngM77l8K&K5=Q}g0W7xdzpiTE_L5xPbb7!~vU!P8@% zPiK;(Eth~t2m_TvNlAPZvU-9`?CpQU-~NYRpzhE4?wecsPyh4|&P~ub;+^+?#|IyN z%wlmw-xdRrBViVvOKok;MY^`#V)v0sg z)bLD}7lt@3bd6^s#ZMiJcG}8m;+w2QENFgK-K}bIEn&EP(lAn2Q7@9MvnP9dHKY|t zD*0K`P(e|d&e`cDn2ILua=KG<=tUG*GNJo6;+VKXOlMOK_XE$K~lzStM6eG!1b9v5%yj@FCkW)(O=p5E{?%;)LmRPVk_sDYn^X@|8@P-Kl=&S zZ=4}C6@98`V=kS~sS!XS{XUz(Qx>D;4X6IlFL3qpHHKIWE$@x@hA%-fi^Y_?cki%Rbc{=ul#R_)wU`=BBA?mZ z+2o~HUciS;?4nHw)$(;#=BR{oPWKP?`Q($2IXpaIT$kcU9kCa#-?+?+FI=~TUk&9T zG$MoI>D$alAAZ6opMGYEtIqg=v)P=3qeD`@Py|7RUx-PivSz9(P*)Q)*N_w5kJ#GU zHkw90wL@9%T9$VcSu=fa-IJ?Jr|6)PTIUO7Yh#^nz40n_aKt{@&P!NQB2u5(-#ei1 zI=mmU%S=6%3ymXd#(PyMdn?TgrpIt{aKy*&e$M-Ee~4z!JG{%ohYx7G8IBI})b@a- z;8GdJ^hVEczR&}gGvC1O{4(4iHI;KkU@$&R|W=c1#GDHI6 zY@%XG)xvDnvRHI9O~rU^#A4C0SjAz7U7EVway&`J4R_x4<8 zw+udY9x4%hu1QI4D&ZYDyAn?5K^xF&Fvd#GF_Tgz`0^o0iWQkA-%&|eOmP+^7<|@- z+&Dyncr@8?IC@jgSH+Yby+d4uq%6sIBsUjwrb-iBbVa6+hRB4{T4q57mlW}yKB=S# z-USI|gxAYzrMJqjF;9kN*2?Mp%(AcxWX)DaxnbaCmxNcb8o~)73zEfJ{^hPr1P#O} z939P>%_5b{GHM)6JrdssG$p)d8p|q?Y!bUNNOa!%2`T1aiufVrK}K4*G6U400tH(F?wAsG2ctpXB&thWF4k z9@U=N;S5bqYA2-Fv-@OM_ID4t`rH+B8RWdI;M86SMs>yJ&IYrST~6jxf**l2%%@q# zqlTaU{AK>?-~EAHIDeV0b+j!cO_K9a1iBJ9EX4&c%cx!%c8uzP2B$5~&v^OuO4s_wL*Um&h6mShVba?0}Hq23v?D_DPaLUDsT^e2&fSF)1eo#FZ1!+*?tsfxEXK z@cAdVM9LTis*;5@$=MKO5&0EsXh2qQEpDwT*6GCf&`i`%9X!zN#JDDaY~W>QL$`$$Srf-@O<@HJO1UzPJ0 zE|F3$JU#1-%0fhDixYPDp3rqY!5I@y$mX{xKH)4vD zOD7g?m?D)k8T0^$lpzmI2S*`f&Em{sAvi})mVw4fdM(SnHmfi>d1mCb+(C<|$7Ma0 z|1+#spNSZfRcoZhwld7OqNH55y9J|Ne-8SG+Gm= zNl~Q>7G%njv1narlx+EGg1s+facbSaS0R_eF&K?CEp=^bZ>A=Vi1s8^%aoBat{`h( zT6$$*Ym-uD7z?{WVrXWvvbM7Q1L`3+2uKJGE|)2qESGKrPut#ZpF}6BAT;`YR1`ZVkC6?KXwqBcv6NL{W5Jb57(E4AbSMz;YTH|DPgs?`=UTpO$Lx`3PgLNTO2U%%ZhXrje;eOc*I>Gq`ue^Sq7{9N7 z`+ptD{?mOGQG^apFC?q_L@Mpo#(<`%^<;I7N1Jl_`Z;aJNmBH9v8axiO??(>ud_wN z`|sV8{U`f6uI4y#64jwOStzu_#w<>#{5mhbctf_fCz?|hvKa~OLs%(NlhiK%`6BVf zt;ZZ5EW{I$)T&Drs$<#MT+`QHy293EEXRvXQWFJ;ON7ePE|Pxy(bw|e{zJw0ETqP1 zi2}<#q(;0~)QHy1Aso2o{9-d`8-XILu%}= z%FE%IJx*p9NLkf8N8e>}E@%iN>HA1dmX_*$P*6#O7YH$draXITu6j9V?>XK=iH2E| z?L7tQL2DH)P+;jnI)e0&MKpQPT9be>lN_=pSB%T2mNJ5nB}obi2UdDH3pa6&VzGvaE(nTdYY{ouG|U0G+N} zcP5v&Pgz0gfT%?6>9r$yFGxiu(5u&^y-4bo3Mmm0=Y5GE7pnwIa;7^ym36-0M~Y4! zSuvZIyQCpA-XVCwa=M0x-9WBlX|(D@y3~OrIdg7{%6pEEjwHu~_oF4q!*)1cmihE9 zAfX;0qGAhBMK#(Eq;~iaq)UnUBBIoI$>O~!ghCKLy4`J+t{-R7KY}#v;-)o3-TVK$1je25NN^+BVDQpMS}jOWRzyaFNMmEY+wk!jdcq zYUuuorl}EWWj3GL;(QDnXV2^Hdo!8eddk%smvwWypiN>Watbw%ASp%e+E^7}vi0l)Z9Z^?AlQPmbHz)~O)g<|tFilDjc z*Ec3yx_m+GaFXJ)GPtM{PwbI*e)lQwyz?20MK6xIW|SlWAqlFaVNZ~SjY-3e=dL0y zi5ZuzmI=Ww!>p0ujaB&Q!Jd5f(JgWx@ztE9GgQ|EGS{wOk{d5xU=dHsh|VF-CKBGm z&6{7y+rRyQ6tlR{YH}(m2b^X>dtwKvx7d0s#&j8Zt=UP8iNu2BdJrXqB$anKt;?Py z4~KBc4zsZt&U13ov-|Whv5OMI7;#ZDmA0vp$<{j0zj#TjY9^`6#5^J5@X~^IRBp`S zUeDf>Lm_9fU)HZSjxL{Dll_~&$1DxjC3r+|k!-UGK?B2w*P03oPaFgbg9}Kc=xtTR zh@~q|TrBv4f6*$GtTAB~^tG(=%@Hd)oHe338=))@HP-421V>i$3!+NSC2Vk2X%C}N zO)2B>A{tb1=Hf34kCjY(2y?I>BxXnIl)4gWng$h5+jW+-Fa&unzd{E+g*@9F31z9K zX~mTg)Tv|@@13gIqqI;@7=u%vW|^Csb@CkQwK z9*4RfTr3`#x~$U%gt;s3a3EMXAE~&xhuv0*PtQc0bkw83+9Y7JoDS~?%#>Ovo}n`k_q}&@>~+S?7yZoHjTwB#o%{ic@iZoyDxzSh^%vHxq)ioMN79aF?D)?2UgOT~UEX=; zcZ9N{G`^wWL^TxpyOf=Q!*PD+Ea!I4quDR1*8t!KtONq>K=`aP9(^FJHsCK%zUPF0)HMrj7>> z?=hWDZJexK*#Vcuf=NC!5hdjwm82Fo&vMVcgPz?e8@OD^{naupUqZ{RHmyg*z+OOtBk~kLwu>VHyL!P=qy92#CD5_ zq56mZyO`HPJ|%2$r%>#iGHB^wEr_Vgh*sdLGKy1s1Czr^MF@hrNW=&QB9)n4DWt>f z4d*6``h<1~eFmRlMkpr^Y|+Q@;W0TS9FDrKi!wdhIH>Xkh8oz}*=F;M(6$Tu4ni2= zJs=$}j5s=R?C$Q-F1pgL8u}x+Y(66rZO&9ulX|5;>CHar)cgT>>UvC5Pl#PlH}7yx z7>ylH60`Y?^~pLfz4!tTAAZBbhcmjiB1>&eV(z$bcEXj*n{+6ychuRVPU!`LuLzr& z(N4{L;b~lea7dp5jgENy;A>J$99P>szITtWKfT7E|K<02{mpBLtlK`ywL}`e{`!b_ ze)|z82m72HWZMfR<^EUqIoX@@Z~o?IT)eVLms;DcYIopTL8{lizdd-n@=pBxaX zjIsc&K!X{#HIZ`w3Ag~4u5Poou|X=`?vUG+V#2wa>G71kM~`vs0WUmvmTOn9@%7!W zI67L;E;^D%oHX=Z#m3e;KmPd}Z0tDN-ii}fs@0R}jI7FJ+%Rftj`rvL=GX7B`}8Rx zMChkRNJxomubk!eH?N@_8;3UqR1!HQV)nfKkDu|@uRfq#D4G*l?2>fU5CeT5S+oVy zMOr1E>1iXQl%T$zteH>^o+A@gsOmGj5F<3yoE*$~|97AA^vNEhxj%j3}EvNqp+)6?lFuQP|#*&LNQ!4^31JtS{{CCbW|?c;Sb!v zS{S&kQt30VsXhZt9Y%3g5medhB_zZRh@IvX!fC0JSXyXID4l3?i;tE->%1eU zycBQ@m*VP|I31>XN{+o+b}j=)Oqne!4ALot5Cb>0{2sX=aCA^JFA0z=^WDT1$UWE@ zD!N>im>bR6C6@=dDw>mK3w|s3(C_3;*|SB|E$(k@pFYIl4t`9G`oG?T2;^RBEg6}+RWsv%}vlJtl} zl4L>%G`>P=&%y}{@wBSAq<9nwg0wx;gO2WGzC^L7E)wcMQ;kU}()FFV5Xd>Pm`#zK z@pY*z73#V&wO!wFa&m%mN?ni0sO^}lAk}C@8>fhyv%bF0nQPZYs5v@3L?p@i^XKV$ zPY3v_COAiSJ=teO1M{w@>w6}XHM)~0^nFV+n$Vqe1W_iFhQ)k_3((IFWio+!oJf5v zuI-BH6z<&Kqw9KUCYI9agCiwa%scKsxX+`9Pv!i@&83$^!~`JXl8Z3QwEepyOjp&1Ol7rX?%`SLM$zPL|t9(ApW3UZJ> zt?6WAofls`%c$;2^F+jvBoT6pb5leE`@0LCJei>(;=&ZCkrW&Hm{Ey{cc6_p0xo-E z^nyAroIS(UYv&nF0;6#wqsdsu3(xT0WJ%8-;x25u?N1r- zS7uxp=2;@k!div^Jo;yfgQBJ2w7;mZCzt;%BS~3>>dDG;NdtLP3Hit&s}C|$4)-$$0;Z|Jg0&Ux9(ul|1LR-M_PNE2&JQjEoiqz3%7c~?R; zF7F)UarrWODx-NF3IS0k14hNJglITehPh=yDUq~<-rDeTWm*-%Nn>LGjXF#g1c79R z#_WXXOdOt7ivv3=^im!Yh9=V9&`=Cyw%QbFb$uN!oZpmYG~w}+Bi-Md3u%Pp#;TPR z5EUw;QfMEeAiYgLHQ9JECF9yUb2g==H$cQKeRNqMYf4FSie*ZUIxm7#ZR4Edhg0$c zFK8e|EqO#{e#@~JmlQ7^@%FA&&P(M3sm~gdk$Pk5=;kwoNL7nn-_BFlHBDWUW6x|p zldKUZUX!YHeWxjB8YlXA_X!W~Kai0Ry!i43{crxezvSp}pLc%usYqVaYtLU1sZ4C4 z3GI?f%0g17#-z%Onh^joCT%7SUDxB8Q29VyEVQXAoJ2M@yq?|J7Uvp`*{E^OWsXnw z_0GLp5KMHsh^=Zg`8pCfnjP}l=b!NWOJ`+$b3*Kw9t}lRLa6oXm214`J|V_lg3spr z%Go?X&O9M8CboCZ>ZQxq1kIXrFQ+CfI1g<%<%=)B(36t|O&H79U)|HTKO&4q)=6a1 z)J>?uh(G_U-`9Wh*FR-#ZA{-SBavko5pD16$j0WT9-ka>bbQ47@4v_4(V_YffL_3p za>EO+Ue_P~i!FeZL z*Ak2bqMAzg=WI8dqDqXJQ8UIjV}c*++S(?F@c?ayZi+f_sPh%`<{YY-#zC%?D z#JT1AWT%V8oENTN)pO_07fEw|Ms%i%I2SlPJm&uWhfJq4ja3x-4BBhdDC4z&cMW~p z=yV|xd#9H!Uggbizry!_?>Twp&2`o{dkvV$yYG8#nz5vmHN`B>Rm^9-?(dzDlH;3u zPkH~{kGXm4HhWL@WImfBPSp*EpBeRw^vV5;Km{p)F}s}HX_Qbozcd%sffGej3A-tf zAd{6Xa}AfZla1w7$rekXtBb*tY+P4zR|iO%NJ3q=!hs={POjj*SCLgaH(WrrH`XCs zT7br7#H8z8#tk9b{h@b&$JJ{Hb2tQluiw_>HV-fMQEu z^b|pfl^K4D{b4X0Xh(~h001BWNkl%D? zRHF1GP58n&pnw7WkSL|Hy3v<{m1L=krCs)?`qu)+AZT$)JL?%MaU>$i2{Aay1SAJS zp>rFaWY|5Gq}r?!U5ok-Nh1jglctuf@tC70a}vk6U^$L`j6fhKVcIR|j}}zEmXvK| zmt7KkXIyd}-ef6nhV3&^5mArFiH-b}#bPdfpKw%Cd7-Lm@d4)TLKbaL@C}Uwvi3Mi zrIppB!_l^fQBBrbH5IP*^eAc3NhJa86S?akD$aW{BE3c`=c$^8E=3lLIjQWVv@GE@ zWpN^;c214bY;O~@vN!GIKmPr@9L*w+?j3S(o3g^O%#H{`yNls!4LLK1c#FC?`K#!aGKwDf5% zDfgCK=|-p~zW(|Fw{AYMz`;gsw^B^j1Z3y@7WF8QW*$c<^6yTxL~x@b-oy19=h@mC zku`}H4;{_|(}Jtn+dbj-=X*k5(aRLoshqvA&BoRaj~*Uye7KOEolXAYul|U?`u9Jj znF#Ya1`?IB?-f{ITN80Y*Un{BHQc%N6<^%EMb0f%Wh3sCgtO<)$Y1=`pRjXogLZ)^ zBgFMMmkGY+qfc(~n_s^}iiuDs5pT~*PEy?e%6Qz!Xgs28I|N7Yj?}B<48a?g#kN)`gx&QbvyL-KyJvX5lIr>y2_rq>alK3DzeE5XVKK&9^m6#UbIza;(EpO@a zKC{Nf%V*fzJz;v%NvOB^*&qK< z{`kN6E;nA>Vtw7yb#v}NJd(citWC^Q6!(r9j~l6~8ciJ=lS-~_oFgWK3b-Vd0=LUNRm=?mI5e>9ixhA$dO@`T3$L)R>^a= zLCS)tICDp5Yj~F~XnK=n=8B}1WHLyviCzScS7*DhBI@%pw6b1SEoU)gBT9~~ zJZ{D`zSg_4*rt^g+yhsRT3~vupu&Cx`<)bCjK8k8` zSrSe)s`Py%#fnk0MNrk)ortPv+jr9UsJI5jNutNOfaFGPr=haG*${K$XnsQ0MDSjH zU5jcY_8q|m%~7T6S|zJ^f;vp+ZhNSju1(T)t;T2>C1wCD${h;}RMZi?mryBf*Yoh3 zL+;-Ft>$VIQkD%r)~%g22_cjE8Qxb=yCURJ74JAcOzb^5lB!l>?C?H;eT#(3ymP9)wmozi|9BC` zUyQtCD6m1=w;H(x!JClBVFJ2&F^HmzLN8vON~$HNpz6o0 zudNd_OG-|YO(VpL#3Cf>6UY09+D>OwK7;F}jMm9?935x&4>uTZuIr!u*^lMl{<}Za z%^g8Gk@-pD|NP%S;Dg`ol7iE z@%q{|UVG(={P24(>fitUS^3-l@C$wVbYFaM#g(JQ>|XT9gE7`wN>PbhwKi0iCi_#% zlmS)hi(Xros<>tKud8&nQ-KgmPRuC{hLlX4qIq9!RhFvf!Co!0Qd-FAbx2-9)`rT+ zd%F<&E^5k(Clr5KTK+H&hl(1}qv-wwA^3q`*B8vHQ-_5isUoSwGNl~lbmDyx;i(}S zjPPA(JmK|i!!QvAbMhq@3@fW(%ty&YT zbwM|F#5iZNvCSX+$*W9b%l$_uOcyO#*Kz8}7~_lJtou--(5mK=b-S9rT8gOY=5da& zR5wNX*wc8&o8NtdH{bjY-`qRkt+)P}MSDon46YLAg2t{#TwJQWATeHtAOHSyRBIdj z>Ng*=zjr`AYCx6P_5^V_71};7<>^C(Is z?mPbgD<@nki_rmL%5x^e|6pReJeJg5mxo^0>)i(kIa;qf-p z#-2&0eK+`7$Q{>4A=!ykQ{t2Z`j>W2BOrAv{*;3@j3)&R6X^e;}*nSxl6f$V(WGF!m@9ov016*$i(<|+( zXpM>z{c;Rz((H&jA-gimjF!MiMv@lkrBs}`_)f#CvI!`%L=qi`UE;~fQmTy&mfZ^b zd#$7#!S$pR(Im9Jqo*y6t5qpM)Uuo;lzb9rw1*;P)U0@%R6)6NbxW>Xy~O6$1-|+2 zJ6ybSi7)OS^X2vqcR#x&J~@;V@FMCVCZ*3yyi0_Mm&r;^)I`5nPzTS-q(O6(uImVv zDMi;UMAJZ&PvCmQ2dZi+Irc0U%fWbHExbGZc_f6KAf-|vI5BLI1}g7t5v&WQlbRP^ zye?0+m;Cf+Uvl~CDi_W_LkP7k(lv>zD?K_{@bKXiQcg6r()T^hq#|l7vGZDm30JRe z^2S>?aY3Z(0(d`)03P1o<;yQ`%Y1P{PD>WE){s(I&BpQsp~Yz+_R8nKtN8x+-(qd; z9B9U84=FR9R?Yx_uY5+<3Ig@xS-5u9jdi?BMlp0d>4!;A}#R*x4*o{!-r4s zE+A3?wTRT*ym^z&%?)B)m{im91rVnk>>u;V$9GsPJEl|nj8%Jb?#S7RIy9A{T*QlS zYMpf*?|pEK*WY@L7hb(V-H0q>XMv6)cn>SnhD(>u^Nnx5&DCpH<>})GoGwdDB;p+8 z6y(F--e%{)9wC}kH%hWtV?zf?a1-6!x=5(%anY~iKHcG*u(R`+&u@K!bAe1JIom<# zsL4r*S$XBPYkcSTUYFH1A@&h;f@)@E&GEXp1l_Dt@!NcGKEIYGP3V61MYf#9Y5vp5K zgN#U5rw$h?i(AoD_QC_>uZ$&i`184F1*+1PWXOW^maLFt0&jOi0H{;eNzP1C22Jz| zxyV5aisX#89;R-h0dayx+F|q?k6RPQ8iiTesx+UDd({caq19CQ!xeK0@(|Cg$Oz@PDtT`gi zg4;CdC~u58j}M>=9#6oB#2atF%n$zM_i-{saV%rU=A{*R>l<&d`}mln{f?Y75<5hN z$x7hT#f!}6og5y_*gwep=9k-av8C;2crT>BClpM|Vm?DO;k?BNWD>r~5+|f;xk5}N^Z=1RlaZvtgdZv>Eb5GvjYzHTe|2)oO0>%1~*^0Ojv>M{J~3XY^+f? z#ds=-DhSzE^7)sydGhoK9|C=x;YIA?>wB7NQ(}V4moIVQ;(3WVqi#Y^Pm~sy&&i!H zj@aMbgLGt-q$N?BUQ;0FL`rk>apWnB!*EBatXsp^V@y(8{^`h>J>@%2J-%m@veTbo?I(%^iQ*anMhkPc`O zR=Ioo5xYCv1b>K1M@~yCS!IS=-g7ZsnldR!k`)(_81V=>MvfLIxa_H_#(kea=nIlE8xC4}KvZOXo_!io99HddgS3a&QGLh8NbT;aXrrB|-8 zb$-g7d%LV{iroI>7RP)0#J+{xk#oY~%|4J0S|K(l&)t~-8zyHHmMg0kB zalo5jdx`4*{P+CF|NFo4*%zPU8^t+a^2Mw(m0{yx6Q>bbq2;8Pui%?ccP^uWzDyvT z5h2c^f6me$PWMM=bC}M=NsME-A;<137G7Tp{IOFRNT!3aUWk-b1?byM-FOLWJ$)PL zy9%@^@4euyv>K&g<~c6-HJ3+o>mbz{txN@ckn_;>MZC9kWld+ffHLmxOgPqzVUre0 zShBwDv8HIJEp@(5N|Q2?OskoUFW0(^Y@|V_US&7Rw9N#iWN+H|;fQzoRcjWSaW30( zG7hj-d)-w^=B9RL22^L<;*_n$bLx<@)7UdyTGg-0%ZKse5Yhb=ExlSKH=-6ZJrqAO zgm;}uTP)_U;EeET&`SQ64s=~Lu*aYCnarcFcY11Uq0j<3D>B1e15-~9DHi}^0A z6->P2+|~*=p1sWe?g_`oCv@$CJ_MHYIrI6PNz<^hG9mRn?XpF(E0q0UUuqwys!Ym` zwl$BGFM!6Bb3vup%MIRmX1Tx`o2p@DrD1j5)8&ji6p&Tws^Zm`-{$)DtGMYp>*pPn z_uvFymYG=-UE31d4llxd*)pA&mMC_Kx>{kmShBjl$_p<&Lo=xnZRnB(%uSnyot+e3pd>+`{-6QML!slX*<~1A@m#%H{<3IW)FTZh~dE1YYfBRYJ znP=v#1KyVV^VyQ4{Ud_Qi0dF%s8*aizroe(YbZUc4MK%Vhe)E2k;jjo68jeKTT4ex zwRvh>j}UR<@M=cUoD|hWB^48&EfUxZhreTY_khW&P`iwmhRUswsY$Hx>T9p@XaDY7Y+dM>%_3rO-onFGQ1}8!EI9r)PaKgVp2I%QS+hHIHYI71%-ufv)RLJEyZAr88}f znsbw^J%h2j+=nHLQ7T^{LCIZ4T!9(b zZF1_X)YA}7d&%}}s0<@+3NG9HVVPJgJ2glk7u?xb&c|_-?FQ^A1Bu6pxBkTW^88tB zi-{V<=iXIxMS9m;yaT?l%AI3OLX@mXOg68Vf$lcQPsGfq63Z9JhzhDzc~P#+Ekn`P zm3GHDi7{zXC*FrL|Hp9cYC9w;%%jmRrcP8s=?b$g*PLl9MMb=x#R=vCoM@Mu$k-Ke zCLQC{C1^mW z!$19MpRP|-ZiT(=$idS)gjy8!A}-PQEh$GrfTpo_wp(@>uB*Z&gMB*Zs4I`eUgyiD z5Q~3+WWo>UM$)mA$cYdl?Lv{adfHy0%FNRMh~8 z^!7QIEGbdZgS~xD4vxf2amA;Mmq6DkF(tkE;&plB&6n}sX}eI747FDRo+tMn>yrmN z7X3~lNhIOURFsrwPD~(M4i8^fg%WJWa4FcI)zvj7(+MXhWsaXwH>3)i`cpM!(U@7b z$E>bJJ74Gbe*bNK>6Ocp=vXG@$@UJLo140^ zu_?I}DBhjQgh#BVD)adX$0vujH`5i>R7uViS1w=U+_`h~U8iVW7X5a3?d|V#_wJW; z{Q|_1lU*9B!AK!y##ZnKCKqQsH!7JeTJGP!&)1jFQPp-~4<5h1Pi$>%vbnWJ%*Q3s zd17vSwNO7FgoC|ZK7RiLW=BVeOY}rSnrKLkbPBTSdHHLvu(oktPmX4Scydw&C$=B- zs1r`w8TTICWf?mSlF6x)L`w=n7A2@hV$H2P5BbSY{wI^kA93T-8aq3CdVF*&ed=je zF3?OSpehaEKESeozy^4!cPnPT*KH)F^@_*{3%Nz36 zo0rLYNRpPXz54>+{^a-gZ-4PivUW^@C#Dw5q$(&Q`+kjrg|m9$u_TvaMScpgweCoW zF^-*;j2RYV{aSL5+z53Ym2!ijnN!oS7EP7-QjY6zVdT>J77tZ+Dw0JcYgV%Y#oj;! zPMm6AiS03!n5-x-unA4XQO9B12zx^=2ZR4=JjLu#QXaI>D8#a;G!I>&JB0&kG0mRo z7A!Vsu)_MH%GA*mODr8y2Sn!#yvTrP%1AO?yygOr8Z;%A7%69cRz+(eqaM!mUlv=Q zqYiKrO=Z_pE<05$6V}@enTsjb;(zTOCC!vE^`ImfcHgsLj-$it8-2T)L^cAlQufF8EHbCQ}3JzLf@OYwyvB`Dv{I$ee!T7>zkg9jSGZO z5ov(PrE@|5_{YB|=Qr2+#m|4M`+IxRxQ_KTPf9IKqq@1dDme>%A4svGTeK_|ou;fJ zVjd}Vs?LivjaSIhc7`T#&UnE?$LFOQM5IzT4OLaswkZqg=SVSQv3u~+BnKTo9@?gpB&%PwcAweU#Z>Xn^uFIt8^wO0H?|%1X z&R@Dn+e4JBu2R9R>a1(z)|U@C+`A8Qs7tpnQ)v#OIio47bAo6^{sbal4jD-#;%O#dqGv5OnLn9p=>{XjIu-|mO{&o<028K#+}m= zBh;(&)+MSad%FiL7ah~p740=iN{%5&aC2+JjIAt5c40FluBaw_sO0|b2Rz+=s@~K) z_6>|$Dt6J;l@+;oY0C&YX()l+uoe)-L@8a@u~@d21eJPH?A7HUuC2kfK#%rT;NAM* zL;dpx`N0p~<=VAN+<5*nDb9(yq|ye}O55d}i&ro3zyF6n!~4LW|ChfdIFGnwp8=tG z9-}HP_$bGVCw%(FXI#FrqUSb(_+E9gvMJyE&ez!9+2iTnQ$0C8lI|py3@62l!#l5a z-O%?PUDumWCuhZ}$XE9RXNoy_zdSW-a*QF zfS?WwItyevOHCN52%~zi{B9)oS^F69xzZ{$QhTScl$0Y*jP#k#fcQjD`3>cWE#qQ6 z-E)B!9!80xPe7;Qd&xw#5wsg^SEGQ?m8kB5a?0XI)38^Qnadz*$R+wfyes%1+X+c& zU&}3FN;l_F?}#a#nwg9G!jbW0M1zv*V&Ux-ZSAUZVRY3FOeq;cX-gZHh9}*f>2AoQ z;&B-1nA?9y`^;zB;-ZTieHD~!8vCVGlqqhAx)_9jg{xr(Y~sTV3J)om=$n zf`H;31U$=5na?}=zANdA*&fL%P_3+>zW1lLN*8;U%cYGV zMMycby0XgFxh?jOkJx)~$b7cR&6_Xi+SO1iuhm64*Z;pnjE{)26N5GJcDEF~JjT^n*4-B!Wl z#gk&WOtj*eXRdSM{5g|{I?I_cY-8ly#T9Nmdx@uy9J_Rc)5R8*ikOsN|Klgzz57_d_V%-QY02sl z^%mh!cDMHRPKJ>>Su$I;#AF9LPW7#Cyv*xwy;z3HtKbso5)ntg41D_019qPt;9W$M zd7Rt;KP@|ioP=1$b+%)OsI)-j$-_M!Jvd^0b4r#a%7o0s7>VS9Rq~{0qchPCbLAwK z3;68gZ5}^7A~VP3Y>G4HbXhs+E3QsgdFkQ?uJ1}Cm_*8VKda(&NgWgEXu-+TBXT># zhpvo|OM#IsQUotF0ciL5?ce`~ZYlcj|F1vd;%Y;+=m>bU_w*UWPiVXlM7VP8B267g zeYS{rr$~;b_!ZlMPrb6@I^O%$XT+}I+uwVMt5+K8N_qa}Yy9xX@ACisIusUV{ZP`kPr=^f zH86t3M=iskxgN8R{Hc>FyRpL>`z#ryb(<;{kNFX3t;w?k60#BV&lRAr!&T{4+0%B!7)UbXU#6t(Ib+m1Y8U_ zD#;`un%AN@#)e=#6&c`+q60%ooVkj}4=fKkMdb45oH!XU8d^pxXJz0;p&@4zuZI52 zX^HwPCRz&O=nUglZ13dH;5QtD4oC*ng$%fQ`=C`oys1Fa8Rvj0KLl^|PRV^DrC6G7 zb8B6>e2F*SdR3medBY+haweyU4?#>(6a`V%){%GLeV*rTUf_#QclqeO&pAA3BrP*b zpYVB3n|nG51n=<@B;^iV##bIc2@+A3?LxZPV+wi`&;&h=Z*hW5hR$f&vh3TDVV+VF z0b=ZU@ZdgepE!U18bAEekL0;$pCji;<-Hs%mAyxMtks@#8|zf{gn5iSc)Bm2eQ}4A zlM@=(F=-NgT#~5>euda4xpwsi>uVe2oCdVLL6@bM2aoS^vN)3S7cWp%OPP8L7Yvp; zL@s$d-UT!{xKhM|Rz9Ac1D<%?Yk(do~`Q@!I z`R#k}$?9qewHtgYV+dMF1~qpFNrjk@oGXL9I^^<|^L+E&Z!ld6EZZd_r)kIDdwKkL zhda0Lj8fR)e}^To6xdD9LKZPJ3#S`$)dl_t&JBw68VnO_OX zT6m0}qoW1KCv)09dC0QV;Gt#{nf)>r< zv_AzYi61m^R5>8Y7utD1T^8q3fyc#iRSB6?vLk9dQ=23~2|;uPiYHKZWd>QWUmr$) zUhMMELmrY8Nm`Ud&_u|ps*aSMMK+ZfZzPjbE`byx(Eteu4zG$=FKAG6`wkOCr)V=) zX9_GCRGx+cJVx0>lbBnYm1~_KmYg(76(tMHK1z7HnW2T&AF$ly{xWI>9go! zJ|m}GsJh@RlwOUyXLH=iWJ=RaXuD2kixyPXi<3-LQxJLb<(GfELkV@I(-+} z*jV9>H*Oj=fHE=?hx1O_HtUmzyK=C?}p1H=dTS%XxjTFu6COM0KdHXJp9zPW4A!{USJhRuduT3UsQj2;K5Fdg%?-B1L zYs+FeD7F{HXYLr-9{}XXi znNmeZY&DA0x^5)rtjnccNGV23_;f)-FwB%{1j%ya#x;HR*&A}}vs)m3h!W!~z;cNK z3k|;Kxo0nN<ZC%+^r@$r1X)?B=ws4W z+QGLYr@0-4%66>=0JF?dyrQ4n9c(VJ7zz)u2=$&pt#$*c_`R&e5WJc@l z5Lgk*>}RCTjo}fho?&LFIm_@4oD67i8FBIY&!OisWOtttb(v*Hl!R(3^Cr9UC|za| zf(Xvrv!+>G(qYRadg@E2cS>J5T3;f}efAJ7kkI4FsAS&~S(sf&oD@6{X7wr~ufYyv z+3&@Vk&EX{%P6me3X5UtDj!O)Sc#Q%gAg*SJ4Q6xNX8?R z=^E3O3LM1cTqGtct2|7;p}s_jDdGZkT~pN!i?*ljx*-NzQp(tAT4{<->S~==U%knn z{hJ@~`a3U3@*Q0kR2r61#k<-YD4868o>oGsr0$3BFkl~?XoKYXi3oCOs3+gn-#KyHfLO}#XLg^ z&0cQbdZK^(*T3PxXGcs$qzQA7q?sU=j8x*$%L8k{pa%1N?e*v6#`!;{U$z|1XZqqR zFNqJ(_KvI#PBO|;#0e)SDqnp5ghji+`Ob2c@W?3a7!*3rEI%b^ZcOpip@Qyk-pS$N z0XsWKY+YJ4DX(Nxl!+tfM9$gl0nR*!-LmHHtsQ1ZM{I7a%J#iojt=IwJIYh~EJ#qP z11yi`a_`=WE*2{58xt;GoT~Flx_*Jf6Qp7P=|0|P*47#`-sZ+S44ZUFwNgi)Mq3v(7wmKoG zBX%9r)k>~hyU1^T{V|7!C-nWYWcXFZxT-ooNi62aZ9Z(T4VK_a zpt&X+;kj|OdY_Umoq`?#ha-m08nKx z=E4wDS1dEpdx!i^^206A>KtTE5?jWg7XeZHZOEuEFV1^MqX^GImAMq(c`O; z?#0qh2k(Zr7*di(W7v&GGYS>fmGQfIkbGGuMpvv?dGI1hiF+JG9l02GO=hlx_h{5r z>gfirDDX@so-J+l%;->nK4-dA?sT!1IjhZqkNYKew;%D=$@5&ja*miAdheLWC0Vmp z5(H-t#Sj#&DroWq>A8N` z#a2K3T#HGot{dt)NZT%Hmn}(cpJ7#GAa{?}v>%GJw!=lkDeZF7x9 zmq=P$Q{(39TqD~LpK$B*JEWzdLeOC0VmWF?#XC=oks;hI z&au0D$ek}Al2ysMxAbLaW2#Yw<;>JeG)sl5(zh+$a#`|_q!7S6c6XJXogH3x&y|qA z)8+cGtF`K0aK2*q>5MOL-DSC$qkX5&b+WoSCFjWOSWDi3!!w~@SXp}U@)k~%7$f~M z^5DTX&)>Ml&h8^V|LhC;eu1wOIV$8(b{#Ee3VxJ~SG3oqY*fl>?NwqYF-IHx-u6Esg)ERGP@m7FeD z`Vh5eWDsqPL=`FVu~OhLShh>`sJHL+ zz$PX8GEhBD0W@^0DTNWsJM$LQO}`$xtLA)8H&xt)@|%92dO=4D50xr}<65e|b_7=SVt4}!DpP?z?JUA+1 zOqMfb1WZ!O)3g+%g**wn#pBm^GM~Os!#D=t842_SEkGlGahed=5ipM zoXq*hfBY2}FK_YuOE*X3t(;+v6}uTnhbH{%ByX?q|mP(bV znZDGd?#!-ppx7(IN$(J;OY-Jm^e;R&QCtw_CksA!|2-Z)x_`#Zt>hF>Jtl(^I2+D? zK)M78#1xG}uUKj)p1ADUd-4>GiAku+1hJ^La;Ea-5F_G)XM6h*4<0@sgqoBhbrV=y zo3L2SNO_L9npa+VjdNQU5PizV=7hDaRr=283%gJE`Rvm>Y^-eZ@%tZe|NcYTWro<| zd@P5oAkv0SV zz;Dh}p|y8xo!>BHcP!W*Y`I?7fvT=(JDVbw+rDsfiddmsDy3{WrOS=(vtfUf&VT@9 zpx2;Mk;gQGQ`FDc{ESf)o}6+S+BoZ!hT{J;^3@9DvWe0&|7~P78OLfOW{w@{H3f2@ z?o<_+vrVuBN9E1p()Z<3QY`_d36Wsb@vNl~JabX%DLR{McT$#6RC8zG7Q@8Mebu0( zV}FpK$l(jiE@_g41x*{}z^UoNT~<@ZXxYd(wcMYfZdRO-eqHb%%#5+e4gdCe;+g)1^q3K<=V_2wuvZb<{|l{+kMDAgV9S zIi>NL>(|$~a{V>le)k2oA3o*b{T&`Z+T-c=9tThNXcsN>c`G?*LV)v^R=9Ne0#CM2 zsr08g>med<(E~b{?SIOBiU0dVj*IvSf35!`md`%QP@N(Xi4}SAI z{^=K=()Y*IbtKc3gH%DiQLK~VFxFklCIuxOi%V1H`%4aXkGS^C1@7H{$oh1Z=bt-g znLe&!V{?;wrKTt03F5QC@D)1*Z+(8B|M@q+;m6YruH3jlQ>pE0GNc4~>Db?gU;XS8 ze){*n=HOrlA3D7BB@!SrYZn~M7F@3suRT?+#SEc6knr9SYCG)v7$qf7)-jH=sEX7m z;}UTWj`lllefof#&tG9a-{;Z&IiyfVm;>3Q*cmht1iTO9v+s&apOQ(YBJ^F)g9i`U z+uP;R)eWmkvru{KDs$>(SSI)L$isU(9PA%b)nd4+l-b=|(sx44TU@++jX(Go-(cgM z(#}*WYHgQusvuPL8v6$`7K<4o9giOFuw1l8idKhYZ-EJT~tt3B1=BQGt{rFg@#>@8&g|P$q()fjR7nY+=-_O zVZ6}9ot?p1H!_?*ZlJ}KScy!qvRzLvKcsZWS~fS?rc=cRgGeSM;}M472_p2pN%xbc zl6D)*1ZfB_9o}y)X$#r%zg;G~Obi0aMs&k7Sr`3H3gMK(RI+{5xiL*)2o54)x%Dcx z!%<1<#ApM3>T%+9M4OAM&7lVkwz=cWXhIe}nu8;eBuhpdD%nPVntPH#E{42#dz(2A z*JlZ$9mW!9E~Bn-ASYj)ZjK`QkqlLqccxF&e2RJ<6@5b}?%Cu>FTQwR6x6FGmA+5* z8k`+&&O5`ltEx>xP4>8KXVP|a6}O24>HDZLWvL83HrTEHS@f4LeSbzw?u4okV-}pJ zscW8j?utJ5{1sv!Wigwvm@Ra=)0^rHn=*7sTH$IN!A=#wLL0bTl35R^&$WLFaAbDdmdXG`WOkx=ZhtO)d!))zjLX)7X0=Wxpz7r- zt7$Q0l2avRmA(BFKK<+t&%JV!FK_SY#P7+o&zw^e$n;F6UaC6KN2T#jZQGqBX)+sK z6#eMqPvodu=<_e#l(n@r`YsWBVY!GLAI{i$_*5U<-KK44;`~B2pV(MX?JKi)aLi|4 z+~@L% zJKGhnZuEC#K(YfjWS@CW>M$B{lBAuABwTRfwXuWMsYVUlzxSBWKff&(F1@2C#|ud@ zQPs7HH$+skQiY16!x{I!+@`4~RLx8>QDf(bvBigT(u8Mt^X<2I_Ssc!`#p&o)YXDd zy{=T5gOfcz|6)h4U%SqQt%}3l6Jp;=)7Uayk|Hb>sYSIxiHhq47tvS|<3!gkKP%6@ z{;GyXXlH`c70Hr8qLPDU>$q0E3-WY(q1z8<5?lj$sa_5B)Rny4X{eB-(yK6?uIbj= z7L)8r>hU3nq68Yvog>8)(bNMT=e&wzyu2-mr>t+r6kJ=pkSyQ1h3`iai8dOyXwJ==?kRf(uJeU>LJYplVsG8TP^jbMdIuq)p!x>mE zw4pa~117*F&}4ow!$zV66Ce2^H?}ssn6*o2W6tV)7z{y!!cR=xBO}5uXI1SBqD%yr zu?H<18cs$T1ERJEFIQVfbR9XA3u)pit+digl2ooE#adz#%Y--Kw+uRauU>q#rBrf= zdNF;6bC43KzCzT-BrYm-;o=p2y~Hx(9t)5XDV2vFyzGomd3tt8_%fE$ ztf#E@jKxDo=fGjSCm2 zMIX?Rv#?yw@gC~h%d+c0JWbtD6!=Ee&5(K|MN6!)Hs7O~SS}338nUV=SSY&?l+uzY_tn=|FkL2?CEn+WH ztvdRC$#kV*I-M{-X~|0!%`F)rWkcb6A6T{>Pj(LE{a<{JcN3s0c`T7WwRHVLg7=8; z*xEv#edan(pB%7vuuqp%jt`ah{^?WRc=LIlf8nx?9eqT+lhjuH_BXfqhrj!UWEI|c z^JRJWyDzZ5IT^{uXP@2RYU!5?KKbY~b{_4@_Jdt=Y;Ar|ENB)v4d(%z^+)zS5^%1_ zK*>~fg>y>wB9%CnZRDSReT&PNZpg(8t2pn8QR%uw6)G_$tYiOhpF4MM({~+FJCIH^ zRRkJ{!qz!2U;p}ZG?OUpA|d^nNN_l<$X({%m-o1P>pt(k^LupdF|(7CQ{eGe<}+%< zZ$WY{hgzN>x+2d$_Y5~*ye2U(2F4mfAd^KTm2qmta?$hUt-Eq~v~N2ThmeGrGAo%mqb0d(6-LG_^J_$|fOFhbQNOXw*OQ|k zhl4riQOqr&EfJ_5$zCLTJT)n2$v!fMwxwK%^&&!T<433XV3VF~-cif9Qb&v#hYCKS z!Td=?honFdSKxCp`igY45Cz8lhqK7tDjHnZ1#e)4oF%)#V`&zZF;An|eK36(DHPea zqr&A%oeGZ5z^W1;pbjTlvuZ+e79vi)&*cam7F(z@H@ApkH*i_3@ll5CUKuwyxhw=t zCu4WE$8D5w=am9H*Xaie4I!506%`NShLB9UYhU?cZBTiXHG^-na^rLxM zM$1rfAD5M=Vv^p|mo2L5C1H`&F-0}Hhf(cBD$R;4S~RCAh+~nQDQgBu`#85AN0eG_ zcX49!WzQ0qQQU;i)$-uUuKusT`cQuR^AAY<0bw#@(H=u+NLkhSIX+~%t`{dY=gw{N z>@!!W8li1b%@ZCxcqkGU`ohhZ`QR6Kxc%8kn!>85;y;K&#lGB`zQ(}jAEOedSVTt*hlC_=!KRGe`8^Sk`#|M$Pk_y6GQ`tmC; zQ8kV1?H%#Kd++g&|Lc8n6ns#=`1~{d=69d7v29Wvmd{zEc!3~|Zg21N`6qX!T`shl zWY#wu>7z1VP}F;h(>%hT#dYfF3k1{tfJlP~(#F=jRX&hSwk02Zc!#UkuJNaT_H9;I zr_ARw`fdr5)p>|f`1qqw+1=fx>pF4TB0lNrWSvGP%;s5Mef1fA07>dZ@O~oq9&hu(`yUbe7V)JQuy{M!SX%dMH)reI3Xh*W)n$xQS1?%(G;UHGQJFhMjgj7rDrYRD4ra%HcSYJlnTB$du`X_%7U&y zUe!bl+2w-f*YfYm=!$mvD^w`Xa@=i6su(?|{F?VTXO`HuU(%;Mir9wU#yeL`h30@B zY>AN>^KMDIojE-GlcvJgr*^-A^OUhXGNV|;e|*(aLh8bd&t;6!R9V4|aMf}CET@@CUsZt(2V6w_fd5!wcI4%wPj2(KfA@EM@!=P& zO=?^?VbLGst3Zx!%!BINCEl+fR7@x9Y;K-20>N~ZCl5RR@_+n{n=fsNG^_fH-@ebu za)-BGy~xcMpW~yCKj!hH6Vz3RRyaB?UfSZt7hmMz!$&-N^oXwOa3X{tXpU%J($0HM z4thMRJb8GJ-MxL*FP!7^Pad$baf#K{HM|SfQAr-vY2t>S*&k%v(H(!C)8EKJ7IOY z$>zouN3%%ST;a8Ey~x%DVR7K`ZUe29lp&_M?Cy5F_rV=5T=E=u`~1UCKW1<5DU+ry z$)eU-SlUhnI6OUGgqQ-0Tygc%1-|jtbtZWx%UG)>`)-IvTsF3*4~f_=c>k9l^6>V) ziKSe`WgD?qL74BIaOd!Ia!k~dhEPv<>A7ocu1@Gu=JCN1pWfZ(@_9%1_<)D^_RQ0k zdrpq$s5&ZN3r6jI9 z2_=_qP&XHUi}U8cbR`pSJTv?$qWpA~1!{vt9Z6ETD2cO)qGW)+dL#A7KZkBB;(9Vm z&{$MnwI+lz|i`y_g(dMssv|`&lQ2`mmI4vE;)~4me(%@U3rulQ-YF!s=Rs(;%9> zMGcrJGp(I(-tOapFI6AhF z$57jX8!QIHL_Ruv_l8{*f=C*EBiMJSt}0g6HYK_#?cA}pzKXA4xtvk?iYip3zL#a& z@zbCFk_QhSQ&j;UOl2DTC_6h(IG$HreC8_ao9D^og0}04vJ|0LFT$t4`;6c^{=@(A zBf0r@3cC9WAyXFAp9n9;rQ7Z(fnB*UzJ|L)06>N41RB-T%+ln>|f- z99e$HJtA)Aw^S8s!M+k80XCOmPxs7-4?P-Ln~h8|li57Zqy9#jq_!TD^=P`))?7d~ z2!H^wSF!fJzBM!Njc|88xW~;b_TT|ls6u_Y+_uhX4@4U9eumABQJbw6$3NHX1F^z_t z3SPK+0XY#pdi2=LTnsY|0}>N85#*EsV;b8OVgZjdDVZR(K_(@W?7l-Y_uHXMr^BZi-Afhn5GKGNZoJM)xuqDz^dD@pOCk?Z>SkqW8E?` z384cwaEfri@HSbjbFdTy9@!p-JGRDR?hsu%pMiJbWb!I#HqY)5bWC0LpBB_Cfr&7X zf^>9OKtzG$=w=z^NgYdm0Hd`}I3zYC_9WQ_XA~1O8t0r07pBoRayKeQKNks*36uy_ zC3fe8MqY9zArvGsVu)?XFhPwR8-qr~&6Rn93DVwn3g3l>!o;o1j;Qdg_CRvPO_NfW zVn!vU4sPY}We|WiRgfAAXTO2O*>E{!a54`sR11J6%>jkPgVV5ef=ENFg6rSi!1>u4 zXQ%JbU;LXN;qsNMP``RmoeQ5(-GsQpC^nG~JfA)6EIFB*g=h%<2^P23lgJOIByK)@=g;_46O-8<(18p^y`$u?s{18nA>(z*x*B{~O<8Pfh zpbf_2aK|kykxX1wckShi__zPVPjLOaTX^#1$=n)pOphQjqhxpN=bVT+K}F)aDL{>g z8RzF`I5}M*6$K|iB|%N_{s%wB&;I;JP!o(}g<68CM9jJO@K@)GzyE(fq3hT0;=;uP zq+B6dp-oYS6xFncR5CGYRiDkNMAT@P-x`Q=r~4z9gkcz<>X9g|G4>A@xOiy*L_*pt zXp`bMzy27%`sHuXT174#3#DQ+ZlD5Oym$$(z4j6oi$bk65G8EZf|Z`&+Qm%gM}!-n zKg6rouF<7K#V@}32AfksN(0R5P98^Bh)rSDC=ko2MxgzScYg9NhW){Fp8}5J@@zkb zGYg=VzWMT7Jh<}|$qGQLP)`PUu7~28Vtsy!x;exTfA%iD`p#8|tx>RttA`nFe}z_0 zaOch)tj^DoQi6q_%?utA2}P|&LBwAP}vnzwyQ z-RkYk6iCT8Y*h@yFh^CWZq<2ypSh$vv2zW6QN*z?XI-{QpyKCpzn%pls_<3S!PZAQof7bt=N z&QMZ_okFpW8+Q-dyecxP2#~MC14DYbZN+V6cb%`t^Ox1zHZHJmB$Rq9wSV7pthYj> zf|6f!(>|5*o5He1%ToR3AP&qVGqOp5+WO{k4HSb^$5doiX59YC)*1;j#!|SCV>OPTQIH425{B!aeSxn&cnd%LvzH)tj3x=so=*79ho9l-=n00w=O?|q58ckdz* zLv7qK#8b5W5yw*j(F8$8MZvXeFXG2P{GJP7B>S`3qq)hIyM+{+Q{dB&Z{d8sfszAk znU*jV52+6y8}Sk+8-or7@Bie-xNs$-O{Y-Z11G}aa>9eV8{E3}5MTu*n?a=n!})pz zf}#u*AZ3@(Yp8xj6s`GeI_H9%3q%`gZ7!qk)1HX^Kqq>WN5A)x#;_PbV2tAgX$|wZ zDxlL8ZNX*&)e$LWTzTONhN3un_5|Z3vwh_GXMJnXeh%Bfp7YcR-aSTqvD^n!#yF1t zoX;tOHv6mQ+l~Hoy`>qBy4{pI!P~J~KIe=|Ni!%7AQsODBSw>gYy$|BoA@c>Cz^$s zKbTPjLC+du1+pPR_y9oy$;BPRp6vuZk!$K_t-ObKX>;NelOh?ABbrqcqXI^hDIuGK zW7sPZQ)5=L9(B9hxFq`T?9mo96$_w(%#`q1!6zEhh?#$f+Wch7i6e#67q85D_9u~A zP|93!*Aq-Ac^DiU%`pL8A3?%6f5!Ivk8V*N4L|+!@8iwyy^7^>;VuLtNb|#c3h@Dj zZE|;G`WKth^Q0+z&i>#7#vM!&fs^~Ca!D{_Y}RTwZ##EKI+fw7^Rf|5XVM4cL5eDM-qfAb}~eft58s|iwP z|C%X4r3?Tm&d<)VUX4gxaP`VHy!^_`zVyoIZ52=X^d?ne+`at_|Lwp263?Cux8HlsT3u7E zBbp8pwig&6|$_st}Wy?^vvRQ8}Qww7WGZeD<~3jL137t;kZ?%o=G`u;h-u z1yDP_Izs<~eaIO`4Oqmcum-I4?v8qVd>kss91vTw`-2RIy+sDI&V){{wzZq?o#`EY zHS4H5c1t#ytA#y{IXN}Mk}v8>DF|`^i3yBUlV#16G|h*L9#f+JKn6u5vV20(>rE=3 z#WIzs^j-W1E>L1XoBwxLDRV;tW6%QDY#w2*gIUWq>Iwrr!lDi!y$Bt}sMpV^F zaDc*8y>~|bz{NC)h{R&m-ywIyOnrfnnV7!S;~e=Oa5L}89}RS+=2w_%0E*gRalcSW+j+pKXJiJ@A%S;)QF>X%a+JE zaPrC^-542BE_-(2!XD)z;pq4TZ5q*RiPQ5leDdiZ?9Tl=^!@kW!FxaWzP`2T^DSNAETu-=u z{SiL@{dIi)*>`sP_CwOuITk#E@`yAv|DLJ9Xt3s;DQL_vhQ$Cgg|=$LVu7jp1D%Hq zMaI$5Id0v$i~HZ*wdE4Xx#O6+bD2n0ZM9m_G>x5NZ9WOfn8r#E9~`0N$y#F&Enzl! z3TmJLi5QnI9U`X!6~WobDcT?=bwgxrSE>tD?qOqFPX;kDF|J(M$Kk~#9zA}9@oWQV z@x@4BQU%O~Hk)Q&{NY7Y+0w>oApDM zLv+SzA_AeQ;p=a{z%PDr0WVzspYX}=uH%=#_{c6^8qiue@k8C3m_bS=Y8W@pcN#7p z!iEG}ldT^f)6w zYQ=J{v{#a?&njL2_9oVw4Jh@TvpGbkn^#T6tJ0KQ5Ywud3a9~K&X!XmQ$lSGsvZqv znE5#5xIUuR&H1EYYPK9QsR&w~jMRk+JohyzSgBr7xDyDX0GofjFGVUWX zwPxVaVZTTyRNOqJfN>@B7$74f;s_B{2v`_}2Czk9>~dgBoXso)wglwBscuxg+~OW5 z=;a>w6Ws1e-jY8^kv~Y-dZ1==GrIJ=<9s?3CEyZ9^LOg2eisikXlv1wWppnOTdx{t zJbNFJ%ntYXxq%k~XkgdkH%I1kpG%o|T5Bob?3qVKye|cf=*y_Wtj&6GEn{DOU#feNCfb(#ikf=b+T^>255Va_ne0Ic%{UN6YWsBGZ#1&d8@Fs z;lKXvhX4pqkM04(2> zV38-EwJ3vm87e>b!r7cBV>_r91z~ig46`qm#L+BBAmret5mX4ZPA~(Odjn85_~fIH zus%D*cVFGXv~GC3UZE7h!Qlehyy{PVwrhk$1wZ}q5AgjTyn!Yws8l?@e;dix$UMSQ zHBK5^PDZA^sEpc9HNUO!g*-2fv_Rw{UViHxeDMC8SfqxHOaO{)pIM)|BxXE&e1hxW zUB@`Cc2sH#)3Cyl1?eE8wS@0|@B{qCUwjV(odQ#e)A`Z*SJtgHsQ89uv5}fr!+zrC6q#xbLsBdXkgTC@6cB^u zDK;yf@jNhsq9JF(uvnmp&OwKMFf-)06-kC}m%SR6^L`8fc=3To(}{b&oZ%!vYt32`|0&GR9iz z;lrm81wfe$8S2RQfbu#FFq^@of$e}y7ubwOkEP=1XpN}>bt))U$xxx{DwjI0>F%xT zxc=1*6kNjo{sM=W_UPqTui%BN7qHwLaP8_Lu3S67g%=L6TrOz2cYyOV#W!Ewg0&5O z|NS>{@zR164Y@2xZNSO#NNNp43~7XCPtWQ8y~ntB_W{28<}SYb<1?H*Jp#rR3f466 zIWjhw7)WJse2xm`l+jvscNk~XX>w6XFy?%taZ+I}8MOk>o}S~s{FlGO$?-XeCk#bM zB<5r^5ITyH>wHZu9LY>XB2HLe?(Kt^P-`X8>N8Dd-w?`xsWxoJX>Kh6gx~(=cb>UK zhFlmuv6KOFK%~!)a!E8S1~jdhrZuE0PER@Jc%D+6n2?ysGou>Ji1wEU*grVHI8JD7 zq7rcnQY%_(q$*er17L=d8E?MvGWPc~PR}MhT2(kB@PBbc%z$>>^ql zU^e*5odcy6F_+F2lO6UO!zP%7#3Tn+Xt>iHXtKBxV6TEn-5VkVMs>W z#3Sj+uWeHSA-UPsy#KI1JwscaQQlkP#?5>5(U;%g$WE!y2BZSjZkDSsn|%IZv^(FJ zVDJBr0BWQKXMiS8)KyQ; zQBA0_Br5~{@~{33?|ttoxUNW9k+~A5hO=izzxnW6Jbv&P#0}E65#`pEYR;~UiBecp zD8rbD5~B=nWO9d@WFG=Ii~_H36mJ6 zX~f0LmnbE|>FFuBE?p(p_Z*dw)oYOKDFox%Bg#pYkb)%#b<9EMetJ8Bz+_0-y9b^& z#NnA!Xn?qxLCtM9#7I$5ZGi;-T{1xz(REEhi>EFh3+AAZlTSN=+kw`iZA<$$GE1mf zAR*flLe<cn^(OkjMqKP8b$5lUW1p9T+kn{C6Xq7$-(ThG_^3f^yDgAdQII z;Bal7Ox`?aDFjW9zo3vds`P=cTSWVqEgEu8!m%)68L6sy*N4fffgzswuHs%V9*|PO z;o$}3aWcj+{CJ)`-hsR-nO~(7e;rV1VnS76s2Q~hO_fZANU`yj8z)PNN!w)8X2Q5p zY-CNxCx-Mm+1|Z2Yyt1^*S1;rIywW#c-@%3DV9%bd@Y1XM zSnT=f=KL(t$uqIls^R?X9IMqij*gFU|K5E(J368|Hju*hXhXcWGDbrpMn*90s6kpY zX6_O0#LOnudv@$|9^=F$KA<#80%<_veVRt#^yIOnLg373t<0w(zg2^GMMh3SQ8M*w zq$<|uU8iTK1dxe(Q`i{TTMWp|7&jx;)`F7mQQn-0M5?JeLoQ+*qbbZrL=b6|a zC8k!f-mEA^%fJ_$ZDMd@Mk%n?TBz%?nJG4#71cU{8J2T`$b_lZ$nNrhvdwyB@4Wjq zz47*2P$olS$|)O{kjK)1^_k++PrtxweMTt>G)i_gB~|Ns2_o{jWa6|PPIr;MvJquy zWv7pL#94SJBc0Uy+kMj}g_($u#ipx?JvhuHg8m%fDqwBp8%hYi6n;;N4{#MQVND;L2X{08w3Xz_DrqP=II%z9ayHNADq}s)Vv=? z$qoBt9*%Ab&rQ;B5T)=>`effC;?%+pk#jIw#M^SF4Um4 z7^up^p`F9jz_x(a4KXKV-NWhA z2Y9r8h)Fg;5uydd7&tgQ#Co_yxBm7XmdlJ`$e5a#Hoz=VU5{9woM169%3((15r+pO z%D&%@Mg&D7RkcemTp_8z!-pr3$;kxF3K5A}8qrpU>PU-jXy%-0G8j<;v!PBK3=5`G zGE7@8Y!V}(p@PQ3M6Q$2YYLjF=Z z8^_rna}qP8T(DdYB+YExRI&ybGbK**Al3{hLqW+2fOtBo$JEm}RWmUR%Z$C{f@-Un zrm>%(z$u|Bqk`#&KYkyty#5k4;}LNhz==I~NfgS1-MDdwKK=MpoS!{I&H};+kS`vl zN<;}Mr(iyM8#$%$gP^B0H!`S6SOq8s*yzua^@>Gjbri+A;V2n)psjjpuyTWOoz;$> zu_dHNC{Ua}+~B|cUw;qPf@!Rj!C>R=h3aw}>+fSHg!?%cocH9N2M24kx3|F6t5-lw zXw&HTNzQRvcOYj;jMI~2x_|F3q=|9L6qX6r3H?TpW(Ov{1J|iPPdiYPCIc&vb!T0^9ntuL|lsd^`;3O+-5LeYDxQ1->;FM zx+rl*9tNl?iB4NbR*WmGAEl$am2yT|cpF-CnD_ ztG1&VM%h0iIaYp7_r@G6O|BmE3K<|uIhm?ZYt1n0#^znyC^^&3Tj?R32$Yfo3WQvR zor9~`uRYCYROUpU%capI<{;pBo6uEuRbmPrFu3`>8cK2Ak)MKgDYBjA>M~+~b^oHN zTRTH-qoNLpg*xYmoO`#coO67>?a)UjfACOfyu0ls&U%GmfZj15S>wXLd?%(qS7VA-W~*GR;cE)+FK+qL0dKDJN2aK_jzT^YN`cQeD<#pi@g{yEa!(VSkO2eoP#`d< zWv>oIu)kNZw^#tC5HaM8@LG85%Y){;BsNuuMut{T4i-V1CW9HJl+Yw3zsy*juQ6?= zZe{R2XSU#Qv{)>@{vG*0!*XF-EEZ_eFiq1e5^x$r3N@JD-=z$3k7Y13rfHgIFsUTu z;U zAhCf5h6&vFWgY(?tuJODwWTn4KNpQU%OOa2eIxN6{nri+hU2*W{^f}FvW(Pq1g63L zujagz3^HJB$30X$Ops#2x_x=-!3Z9yEu9}r-GdUVy(+Y3OgO~lYcJu-i%aY+D#+MO z3#l4x8ZAdlC=VIWo}J*{y@xjY{<^2b27o4j1VS%hgMxqkv-j+$fBr6#WiojIL;^}H zBqICr(;M{dA8x~>B4z8LHF!QEbvsn(8*568QZf`3bsBw!<0*L&G!kL(tPzpw{T;8i z3)tM|p*@F6BUYnlWrUp~<%GSx0-#|Uz4e|w7TbjfGxgF%2Te3c`8}&Bd~}#$((}AW z)#)VQNKKd#HlgkkPyTgZRKjK*r1U5#I&uur1_W>8`}%eE_D3RxLb=U5qs`HTKJzAJ zl-z?N6+3x{o!e)5u2uu|?n(-FNn&7fdU%~{{}M=+KATDYp*>_u0nQFQ4QDwef@loG zW7szPJ0mnSotjO$MArYMe{FoSGjz>w%kO)^JGH_vVaq0XtPQI9h zKg(2*fZh&+h(O3N)dtW6V?pMOLJJQt+z9GfgW)`=5{&)D0S*rj15LESrOSp_uUvpM z#{Fk&my}}xLqp{eOwAD|oH4Ei(`aBSs5*x6*I>1UvC#**Ip$L>7K;HX zCA6k!t;NR2bI6=Dpe!=};xGRd-u?a?*i285av-hL&?dss$vHmx-RJo1vp?X{3l}hr zXV|O+tva#f;BbMQGuEpStMdj`L#FT+u?5gKLe+>sU7SO^bJ~7j!)$fv(^*%7_RFx% zvhmhc2ATtGd!}iRe3=pYR_FC=P6OiSL+fTUzES586G}*f=7>@#OIWq!v_a*+0b->D_38|zyA;a4lliOfOfV* z!V-ovTp?+;m>C(wryWktK^_W-1htM4#n8PLJb#Ct zV$Sp2rsRZN{JyW76*NGnW<6u6$58msD21_H4uC1fX$=*Cx$O9fI`)gVp?h6sy_3r{ z+W?}K%mT0`CKOQ1;#JLk>3!lTK(JQ3l1_FpUO+gh%ya!^2$h0K}7^5kA z0u)I7|L;aH^R^fTXD6qR)%u^7I%+rfg_!9qmcQ z=}D%#ItP$3)`X^>OVY$Z1xTr&j*3xT@eWH^EP#}}s;hPM`9(5ltHg;QHU$A7qoK~N zb~grQK*ZIE#Xq}WHSzE-)w%5i0*MHuhvG#5S!b~s7XImb@+CDGHw-x=mjiO?|LnDL zr@2XhXroy)JJT6tg{G;ZP7@M!hMyuQf(oNm@u>Gwq7pLXoG?uz#?1x6> zd4~x^I6ghbch|qgdc7ecHre5^ZB6+ZN(tZp!TWgsgCA0p5u7TJ6vPda03ZJ5EBf;5 zd(dP6R)Dygk|V)%TQ89Z>hT2dcnWxleDRSq1cJ;)*c|p;6%vCAR)BobCDi1 z!IVP{=!`$4=$4d>W{Oq?qS=l3+x+s`(?wfudKWCr=4qF9SZDCgKo<=rDDenbf?0v; z0Ky`;n2P0+0jd}`)mv&&>6&i$J5vjzaGtBC?Pe7X>^ZnE%?v--wvuMQOZ~vut1Zl$ zxu~{!g|w3>)jh7xn`01)&umP)7uc!?T~LBqHXxgGV}*$7On)^Wf-_kU1B-<%Sd39X86 zY#^kR!eFYtQ*duTXq0h06XuB6INIpa1jIy(VK7ytX+2r1jZD?tvPF)eON`KG#AZZh zCNa|psF5kEjHVzA%Ox$B3na@uqY$c!QG5YpVq1@j^)$wOA}TTV?=th!hBDANZcKFo z6Aaui44F73oS&O97Z3rhRZ59X45SeOKWQ~)FJDE)n3BI&7*a_X>tsz6$}sp1>FKor>ZenmCm2CoV~@=L_!zAKBnmRr}m5)ri5(0(sGeR_q4&15tc(C z=M)P-&K@zjV5&rbK&FPA0WQEauF+~UGDR+h79|-}yfRYTM#4U)A2kd)(NN5YHk6a$ z>`d+VAAdo={qS@9_`|QUKHor1kP;cOVmT~HrD3x^!=!4qR#J~OMoLVSC|+;d?qW3~ zY9y_11hZG7H!4X;w@=Yro%jraZC4A`KR`EU#3rbUu&jExxYJl>^;h?@c!~tMaD;iA z;q0qYkQ92-iq5`%!ANMpC}NC8i3Cj;nX;uqWSad9Y7K3i=;Y}s?%jT1CKFOhVMKM> zwwfz_#TNF$;YIxD2k+tP3rm=u`3%!4rOdc_>)1Z~W1l%=nHl&gv zW;Ts2+HM|)!X`Vid7AxiT_n=a|67ySi~yKr$^j~mEQY~mlQuaLniJVj7Vc3TC#Z@g zN>EX+v3jPQw_s;V>Nf3nI|+#mg#b0}lnN)-5IX@2?7+Cl;v#aXdp2f92^tAWkQyx9 zr*joTMqYKygWrfIWUv}7wxdfjGPt-o`qgu^LbRj+Qgw(Y&zf{^4TuU%ZHwvdkpsa8 z<`{B1ox73CD4jS!7HPDB-C=CI6t>e5j;D`yv!E^f%!#+{CDSm-G82UZx~C6|>3p^4 z-|y`Uii!}8i2bB()M%;`TJwA#N}j*uInE)3ra5Mdwyj0;*mFaWeG4^KsH`w;&cS+t zfC3^ztqrPz79D!5ddt)3IkBef?91*Q{-Hrq9kZY zrJ&U|8%n(DVcL?zJvS<)L}e%-jS822=AZ^xYXA|Fw|t#7DHAy>&|BSI$im5`r`_=9 zRCNu7knZFOb=XVST}D4UbtsikO42D4#GHX}+*5Yu;bt7ck-oZFkCB!v4V({PV9qqW}B<{6{=~^n^+}2j>PzL(_(9 zmoMY3w_nH28@I4JS4xqgz!d4Dh_vDv80M9owMHfYw2-s+o+HI=+jiKMT2pUTdf44_ z^OBI?_vd}yW@)?YQjh0$S%evRrE27s38uLfxQniu`-vWbFs}u|Bdi%R7PLPACL2^q zAS%Rzp=hQy8MHQ-RMgdkdNvVRMaYCBbwLR>dkE`u z$M+v0C-LkdEMZ6xjjXkpjfHoIR2#?`q(eke7|4X?@C=KjSV{mA#f*%I6)8j+wKh;p z;V@_1bS<;^=9dY}GC(DvPEHUZ_R$B;TsS-rSoZcbK850U>pKZH{6^l^{%>FaW| z3ssHC7(|&E#XE9XnQ?*5J|s$J7~EWm4Pb-}gV{8LHGD_n`2=QWlsvNmuH;n^2^rUr zow6@JMn;-oq?C(S7OgcSCMxX7qNamyJh2hEyuq`7j0vp~pvhdJp=Q)T$LFZ9CE)Y;20s7RP}y(Pj#kqBu$i^M55bmZ(slJ5FOo zf}v0+iV)@anPLi!_hr^dYIRmIam+0}Q%qGMI$2Wzn2?BJqL7^fg+>;Z8lk~@+AVQP zK8RHVnYctILex}}0fXDgc>@H-$c(VrOsG}EgJYIbhK3})9}lDb=#6EE^v>V;xM}o{ z|L`FmJbZx5S6;#=pL~Z$51)Wo%t&C`NURx=V5)1}zki2L&rV#jyj??fchf}F==ljf5$)DP&x0_%(9!1w5<39}{S?dukgJ>x#$2eRWJ6IfCro3d zTBT=TP!HE+?kXzV?e)2hfIPh0qih7qYAG2pCqrh45#>^_w;YfXp&CrZFg0Hojr{Ov zWKdFDn4+~t=ci{zw#Hxul$Fj-Pwm$AKhpW>sVmZ%9X$y9%Acifd>Vy?Y9Ysu40dt4UZu@b-ztP3=EcQA56KYM|_{h0F;`jR6@xUtRyZtpgEE|F@P-QI2jH4G_747(5JH3kMd z=hT=XI6mI9(Xh=S33w@xFm6`Ztf%Pt_Y_!~$-6x?i->V>u)rH{zJjx}Gu*m)7m7&P z1+c%r#FcATvD&Qg^w~404FDQcCk(>^Z@u*nm@;nPzJsq3&$PR#1^VJ=8%2~NpP zgfWlkia8&0r+GHRg)!9)0gA*KED4DWi4E3(Y)cP-LxoUAYa1{bGVjA0!!WtQgBaX7 zbYNmy8pNw7mFnM_y6n0~CJ?3=YC94o3Bj5VP@(D-YWPVwC0{1QTN@P6R#E}Qb*mQq zuxNv)II&UqqSSmrY}H(}68SK>8v>=xj6DaUBB~c7vw6hp8>4J+^z0nJ_{Y0pz)s*4 zP~PUVLbqNMt6kx0)xgbbq9vi>_mr$NY%)z$x6m!23(^wJNps00% z2#^!G2Z|Ch0sDu0IJ|TbLUV& z4_?EtNO*R9H^f7rT>mfaCV?!N1f*pJDdv2kil%2rWIN%@I+ae zQ&eG~#0w+#xFAEC^OZF6k+^s0I`PcC7yfFR{shMA2HR#%cdV@?FA)qNkuA4buJoN_!O zy-lWb6p?B}H34S>XybWE#$=W)fhn=YOldcAfg)6jXNP--7SUEL5pc>Fu90JcT35Ct z-tkk|7G*?C%&t7s5L6^}XeJS;)(O)z_RJ+Twk`30fO5PK}^ID$yh%qMUg?RM>Mw-Z`!i<~W>r zaLQiLLxjkEMu2EVq6Ae!(`Zeo8Hd8Mwh<-mc}$6n$az6b$(neX?sC(JqE3wfLMpzA zluTr%sBJFqA!1a6W^CQv(wT|==iW%N*eE=`6QtWt7m?4;BJCH%f|Q7sivd#|g1GLK z!Gm4OBcUs5Q)MRZbqNcrLm66=kM%)^-O(=ttOdFbKuoVh{fRZH! zM2JlxNC5ziZJK#bScouEN-~(XgtY;@cZfw6LOlaawq%gRfxl8ni}|lJZDJOe;L>?N zgDz5`p=7WDGF2jhefRARAS+r>(Md2%$8A2GY-txDqvs0Yd5GwdI@@Zmms&(%GbACf zA(ujlfoYUbHUdV|yk5l!5;?oo2O-LETtS%54b&NO8dxq8l<0eAq7CWb6JH3jsO7{Y+#a;-L5`!G`ci%?-wA1bRAX zzrvYAzwcU0AoX@xuY?F1n54vc&L81^0<<6z7%)v0IZUyC?C~g3yT)+tsX|&aQ*bb$`<*2TEu$T+_IrZ7oBb=U|;?kvpHcnnW8_>ie z0GCh}89)BX`}p05U*PMnzM?Xu_{;(|K_>UONfk^R!E$*(P1b-Y8X5Kv59y_sUqY3S zffUqiXFAnh^{FY)gCuj1eR`yb-bo!j`;-~SS|ZDvL6z=@dr zkY@7S1(>@kMjG8C#!!mCw@F~)E%dYVHH;Y-E?&mr-X2b$Ji|E2HpYhfz+eX^(M``m z*|xs%sJ8)J-K%por2q*LN@f@f*5evF8AuC|8X2{~?u0&)fGR?)eGX(ma}{BVu7l3U zdtYv~fAj)KHc0i)m#rr)7mqYjo*yOYM*C!_SopK`vxji!0I$Lu^RCY z76b;Mwd&OIlu(7hya2$c(vUJkr9h{iUF8`tWe^5ZbGzo?a38O|b`9t2Gu*#-3T+6+nctddqcL9Nxk!2?|8iCLpn23W-Jy< zm?`S2?Z}6)MMjzP9}{)3vB#Gr6x@GsAGhz^#G7xvjbRutVe-i9mO#o#1CY4lt#@9+ zU;Wk3asS>uoUc|$xd1eRZS)9pTA)sXyLX>Jgt5QB2c7)zxx8?QAOGa1_@`feidzrw zAuoONWx=1cFg>YBD^Tqc*0ztu)ob`4|HIGmzx?$N@#h~9{_bzi@!NkIVCywfVU!_( zqvh}TsWj7NFt_Io;0eqbDHn(u>ZD-HP-3(+xff9t)EZiA7?ZgHTJ>LC3;anNY!>qL zx;Ua*RJVV|oWKbf7ES=E>k-;qW}O@@1esycJAFX2Al}hjJtf|PCblB9ZSU9Zs@^uw zaln!8zwP;L(R!bA-Qo$*0KXanYV^PUr~m!kn>TL!=d+V13#1CMN{GR=5lG{Q+7{J1 zmv_|r!|Gs5CEGD?dHcZwu6lA{bmSw_H%4$VEW|t{_ko-vVq#AQp*c<1G+ev^f)xt_ z2a|K1lDGG|H-mc%(m>+#CywEv?=*0etPLu+KtNo(;4x%lHh1D%tEiKpwu+`L z=2SkzS?(9SaGCA>AG}M_8XiA-j2>fd3W!ZOxUj&53m0s?ZZy^jM%Ba8MBsRp%kVbf zCU|WEwFxO3_V*4!$X44(c`!%0s~I5?Q9_#GCAoYC5Vv$85;DIloP5bv@$Xca0#r?a+z@H(w?QPB+dLf zkwVR^Hc+hzDht#$fH`3p2xKExXUC|UHB1amyrq_N!QuWs0K@A16w)Y+u>v9q5GjL^ z0V&odA`yltp$e=DdHmO$l;ro613~j#QO{t|Z5A{UN~G=*jA2!brbH(54kBb-^pi&@G!aL$s6C;Buo69}8Z$1 z{oj^?*AlNmgw_nT`C&_pe8Z3a2^qS@aZU*J_b&dZvig8r1`|W8$V^>n*_W%AUc7=fiQT>PnA#**3>k~T z=MjVh2o~5h;Kf&7w%1>KkrMd^DPnflaqIS7tk(@q{0ItUs3e#!0Nq381C;zC zE?xcrAN=&k_>ceFzqP;qpMO9vU2f3T2|oSk2EO>>F4P)QrdUtJL@i>gIjSz6+v7%t zRDk7j;fi9hNWV5TQdb=tC>c=43FqUQ8V5>k2Ozu~inq&S;-2Xit5X>gdH1@*xBVcp zShA%Is_P1^Jd?ju=%UU0wB7S$k<1pRqOM9H+FG2qdhhKxD>Ue_&Zl5tsv&rZyt5%~ zXR{8viI@@WQ(9hbLHj1_VR~fZH)R^2BJPkkN6AR&rHl8$eWNl(qT~@#Dz2Q`+P&v( ze)iVttQDONQ8tI^b#>9U1<-r2%#p+4!b=FTi8+pjLdOn@XmSIzbusC%XgwZXO^s$Ew2L$*?*R}Jtf{k{Qeqe-oE!;$^~+CD zCpE&t<+IABP*OFVo}OX78Zk|5nKM~ZZy$#G>)yTlR%;~SQ7fA|6JL{g|av@~-DCnrxZr3e<%Frmiqkr}P3Q5Z&5 z+(hi2B43Pm3@~Ui;o0#DBF!{(Ins!0>0+~EdTkEB$>tm=gd5?l?cFsFSa`lXo#GFZT&lSgd%z$!#5&~aaW78{%;CZ1r%!w|;in?%vtvWa>pS0UHi$E{;YxbLtGv zJ$W2QPK|K%$WdE8Fod+*XeMLay}yAEuiUX|n+O3E$-RYzQqUpSU6A8dHYJ(SScd^< zL{14+70jS)tU***R4HM1(ocdt*fp1Z4SSgZJDGm={+d1Cxv25Pd^D}a$ZQ^V8S8AO z4f38EQlPjWiC~EXu^J%{(i7r;Kl?ZJ(8ogBKt;AWgNh=Ky-|O8L|eXQh!wn)D}E77K&(!mWnLe!7dSy z5ws-Mf+j*b=^;pEW;hzxQ2)+6lgWe~NG>^K3?KuE{ts6yKY z$W5U_NQoY{qDUd8;}+T$RhRncE6@zxK8y-&6-{bfapcb?gwd%H*^x^f7Y{H<6;KcB zq6YISI48llF~4*uXj9|ef=8GDto>K{y-nMc4mJQt&gv8C(N;kswJ7338MT(!6R3G! zlp!Fc7BLFcFFxnDsTSl@fT>`Ax3Sb32K9pb$Fd@#!jqTI;pMM9hi9ITiTHjrZ6P4V}SqwAOJ~3K~x`^x;l`P#}_A@u@rlC z8x3aBRu3J=Yrps&^GIb3jU?e zFiyP?k^pK%R$^uO5WfDEXYtB!zKAEzpZ1hc3ifwfe02E}yz!&g@#)o%(KbzC$rol z)kFqmbk{=ZvE<2!#GwJfppC-X7M3ei zA>xxy-oaDAxFoHJ5ZpU`xX;`5_8qbrq} zdsJ;#+MAX$uMiGx-$TCQb%_knuOpJr@}a<&c@U%s{+3{W`qflkQj=lL?Lv=wU6xn;y+&a{KnmX zySaXMK<@U4)a*+fIOM&!gJ{gb%}`XQ3ul_JRlx#vRceA5PlQt1I+T9P89m}_&V zZk=04m#=`%6egIhPnnB{ITWQymeO2iWAXDr`;~4dYjEtlH-%EvQ2wE$sbaj7G1*r( z(~O+dYZP(ey-*P7#m3LuRsHRUxJ{iiQ7W=9^8P;_-> z2*6-iVKA&%4+82spsEGcsG`(_A(P_oqmM=+)xfrCnN#iz`rRE5l@7_1apB?xo;q`i z_aEMeYC=^-gcv&l1=R!)VUSc7s71NR48-yp+Q1-2V*{}Dcx?#iqo*0oEGrML9^jE9 zhdG%TreookUwRRL^}qcdzxvHnICQe&U>LblgA0p>qi2_K{^`@SD)7^*Yuw(PGIkmm zNq*Rch@8cJS(-o?14qcI!odRv@MnMdNBHBv_zj-Bw91u(5zEUFE2|ZcpIG2i7f<5C zlh0yvdxE>S*UN)70Wb!|DIC^E*@}Nk5+GPX+YWi)=pp|3zxyu#=wJONPMu!h!pJxr z4lx>5IC5+WUwZl+p15!UxsCYz`aM6NLnyHl>c5I!PM~Ghu!x)oTt2wU@BP`g@vr{k z8#s4i8H>wAJxr(v38N*$xeJGI;ldM~jD@#vZ6PIt1SL&Kt3mq6xPV3IZX$(R#3a|a z`22JDU;ocP!#95GB2FAvt}bLQts0jP3J)J$j- zdky!T{T)6~Vu^Zbi+Y#1|6m82D_*>C3Zv1G*_3X~_rpC%1ydoI zxO||-rDx9L=+Q&i-QU6H)&$dWAT^U1!!YH}?l!M~eury!w*aU>SHCeC`(+s`W2h4j z9I1HX)DY)SMVvhmar{W+>QY1mv9~$Ky|sOe^CCtIBZe^Ha6mj*+r$t5?rq$@^?*Q2 zv#BG4XnpzO2HlR7Zj@lC211EM+Za;o2e9VMAX1W-K{I8KR$`H+l!PXyDwGT%26j>5 z^a$w^)6-2xOX;rBRk%@6*DUlIu;f0KGpC^;6=Zr1@3RvS62Qzhw@g_{2@HiEUs&9r zdVYncy$1IC`w{}>rlJz~!FegVl@ktKLqqFk!@&dn+)cE=g~elS0DwRFtN-JP&#&M9 zck2&t56E3V#)BZ!kS&v{CUi+-8)0p9B12HMDg(hfLAB5zHZu`?5P1Z; zu_QuxKKSfKuwPTnt63c!ReVy`rO#8WKo-4}cRwPF!I1qzt4JoumMg8rr61YEuE?x-+HIC>JGER~FKZa>|^tBap}k1 zv)GtkSfGxsuj(4HidMyl7=$ra2!qNoMsSr_Q2{b%SlhJ7DfNfJ>>5vys1_p`qT118 zhX7_gd~_Fe3@jKYbI_|In=%BNS*CwyDkL?ND3kzbQj4JigQ86n#!3)EFp+NFY~AP? zAquKGBIg!cTT@t7=RFrhmIb$ zQ>V}J?%n&ie}Bzo+TB)A`mDB&&Q&n|LyU&Y_HX{}pWyfY@avG!fZ2d1Vs~3PnKq_2 zAvndcV+ZVs3um~wv1x0!9?Yo_{U8a~s znC#xh&ZA8m?^kFhmB+6@kVA{3$5wgb*h#zb=`B2bc+aC37_9JK98=(9#vb&^4rel# zB29uZ3WPA#lJs0+t<|C_loU_>-MYJP76VV7J!QjDjbu|_1~{4BO0-OuG{EDhj@pw? zpW>m_!$^(T`sO+&Z98)$w)=SSV9e{EJ+y0A@8I^WN4Rrq18aA-aR2Tu@7~zNXID4v z@`n%c&b#;d#+!HX^IvS@&icTXj~&C|BNYbK1Zg+(pMUs1e)i_arg;oa z_+rAVCzooOl0q8{1`Hu0B|}bXX5PJ)Y;50;mp>Ol0a23^w$Ac_+5(3Qhua7MgDO}Rk_8efLuA<} z&_Gh~paE%^@&r&K>VTo_b%>(-FA=YDMuq(9gd)d_}k(+h)#V{&tj3tIZ}E@W{!{$7)tl@$;a0%<(5@d`?xV{ zv0pepD|%cyJEfc%5ko~c{sA#WYHkghFp(FUi z@BJpvTwK6-I>D_Q3GcppgX75*Ljo7h9l*2CoaEA~;?R=dcfb8IHa6DqlOO(5uey}b z&2$5UwFn?XSU_rOeEqdw$G5-pO;m$jWHW9)O8D77e~PtRyF7GgXfJ>DET6n|7>zyT zsdESMhu`}htZ&@L!}}A|ap+#OFzxg}Fp!;ACIsNuzy1<``?p_(U}6Lrv55EI`53Ri z@h(oDJ06mZ{pPH!%$8&!1ev zFpd$Wws(JZ1wa4U`)DRRgiL$0?3{SNOhf`<0ugX9sGz23CT&@1H|PnXAg2?j5%@Hr zUy74+%6eiZpZDyy;^7naGRm$sm0oJ;-Bn%HBm~n*Tl}L+Kui&7>H-%jq9rg>Su_pm zpNkL{LMEg&E$f-0Z|GvE%HL$pW{tuPCt!)_-FNJ$@O_MA7rD?4iiD9+MT=xg7k$Kz z#7fK7VbK-Ymzp{w2cV1O%|&)6-iYU7WECs(Wm;$ZDEhMWz^o$lV7 z+H8hwt>Z=LBQTh|RYD~g3~DSdE+R@mGnqo$&e*ADY+U`THBAFDUF{YumJtV#HKA?X z^Mg>izaphMa$@`3j2LKv zptf{Lvrl(T0tyfXMg-=ZJubRDP+}D{DH1XUb&Wa>y6>ek*-ZQ1HAw9_Su#LXnLYW` z2|oGM5lmAH(}TEmZ5_Y-=@oqCE6-qIWyyZ@qmQ_|JH=P1FV6dV30zFnV`)9%Lf+l+)Jl1S}`;U*xd{E4}bk3Z+vo@P<;iG;0 z<;tr#csyc?O`N^Bj58Nc;r@e%MVO<2Ms!`c<3oK{x4bmMSHJo^Mx%iJ=^g|FOm-4} z_S4Ju`aizSr=I>2UV8CmoH$1)5^~NsedeTHdhR0EestUMn+Sj?GIALn2c#qzjt2Ph zOP6ry@Boc&foT~Zy!`+V9`56hzxNyX?CN!V|G&S5#nA!0_|+p&Y~#{1r|{}mU&OuJ zZ=gw=CPC>`?y@t@T1=S%XD*z@OJ98k^)W_un2m(@5 zoIGr1fuEck0`<~0p9IB7#8@M1>vkG=5p8qqPf}1-3lI@&+m<=EGp5uRqd;u-S%LGW zGsmbk(-szzPXM$i1Mzsi7EsMew-X@QXnsQ&%kH(jHZ4CyaXywjI~RSG;d0;54C1hh zpQzk&=BOQ0RU&r@WF>8q5u{67)wB?ueZnDgp;kHv3e|Fh>-^2%S-86};xDkaBosle z&P<10d_b4O;{RP;%ywPWmg8!G4CJaT?QQPQcHwvw>6C-$Ld`@7O;${4M3lPV)|~{N zlV8wXfz*8z0Yp{RPza{e1Pg8^h5`&-6%oq2Qs%;p02==#-UbH-pc?sfs2F%zSZ?TC z{>2O_A@pPl(+th!wHKA9FwT~bCC1PTjTR;up+lXdS;RO?7oe7kPyonU10e$D#@tvG zcm_pX4?v1XDRh}f=7+H{`Ex>)C=Ef70iHO27E4PDXxcGSYB6rM5yCE>d-ebpk1pbk zH`a0g{!!$#;?Ec-ICOY~1FMIyv3?JOp+ap6T81E?l?JK-xs5n^`Z!LUUcof)L36-^ z`@4Ai%}?>vg;o5?pS_5`{;wb6jeod~o7d0az~Qq18Vr^y96NaoW)+(04uVYK(UNX0 z@YfUot8nD}Asjt<5LpwZO^ZPs;l}4{xOwY7p8mBnNNvXTYj<$+iDMAW$Zf{r(g+v6 zbQV8*vxc>)_dY2CR1Bg(Y6XW*9>g4jvrh!97Kk3YGrZ1Kv= z2k_g!{{;T;|LY;He6WMB{q`P)O944YEF1_p{lrOJzH$Z0vSXd7y^lm8UkC{--coZQ zkQI}&o8^g`0a<{A1jPiSg+;6$UB>xXxP1ZnEktbvP>b;xz>%aXmKKl3?BxMY&=~Z-UUG9)8TDxl`)Z!!T zc8aR1QP(3(TXof2-*eN2Owb~J(r)9@!;WW0Y4(iT(4`UNlJ{o*XUy6uLkM0lwv7v# zoEL~WA=updkF(2Vc2~KmKut>o5nwsOSJd6lXft-N&EicYz_XK>9SDs$!&7wy3W0#= zIeR^b&M$Z|ATpv&L~gRH?9}0^28fS?v_^-(vyzxf7DiP7Ogfc`%O0&$SGn?wT}Lw` z7I%$Gr_w1^LuaXP`|hM4bQFo31#ixy@8t|+Pp1DLf? zG+tdatJB;f=L}WB zU@+jp0|(K?R)`Q)tYAjG@y1(dMYz4$;OLPfs48M=4O&$kIJk^s$By#q)nE0biO%(( zEqki5Dpprlv9fZ&sScSKPo~V;Vz?lv>WtxnAmu40(18udEGjT)&3VsOBI3`73zyU#{TZ{aes<8sG?qfKUmK965x= z#YOCFY zCX+EJ%ScUT6yVI+GpOncZ972_%)3zf;FvEoNsrU1x*)oKC0E4nBADzaT>a!WECZFS z64--jMpEVa!!^AAkK6d{>UBK*+&Mh`>@l8y;+!omj!;zrIRiOO0E^HZ3wzKh^f4Hg zS1K&80>DzSd?a=zXJ;eUB}qcv#7Tutcd@>?jd$Pq1V8%Gd$@gf6QUWw7zseoFynek zrb1!Nl;FXYFvB#Bku*UYMVo+>1vBwd`E1nY`pFrY<8gw=T+eAh+bY@?{pIC;yU+(J zI(b8o+6L}}@h!HLZp1nRwv~dNT0Vc7R42?%6SxEhc>os{^9_I2Z2R0 z_>MCbqC=*kMr#pdwxUjh7z^&+I(?m5x!}!c3M6Ce@&+s0!dV_Y4TxnLA#Q+D&B!_X z(oPjw)w2ObECgZFgw&WZ`%*1iMhJm%Ffaqyq+}i~5Q;^tHMI;{gs>(pLGu)fY@*^j z7)$JuPYdkFO~ig#Th|>qBh1O6s@dACutLSKa&f8o&Px2&At075qtIVqfknAUGYcRi zOqCLXsb-3ne`YSBlvw*?o@TTG_h*@tt#d5lCj}|4Wqd?2sg!M=SXR(-1#O0y?uzYf zCFo#;sv2_IZdjA=!$d$^!k}Kn!e|jORy1pR{|!yd5C{fitT7rbfFN^nPgSsyRaFJ4 zGS!j=%NSO*35L`*n`=cQR+d*#R}uR;p^6F$I`5IEyoi9>Rj5-_^_;57xV1ZX*ANE* ztA_@xhH7{2u5o9(#estZQ*%F_u!5AlA@oTj4$?A5QrTcQposhUBnTz8s4AeHMEvsS z*Kz&&J^bmP{-vF}Fl3wdJEnt$7#TveA{lkrYc9#@g1+?c}*psuP?TK4kSve2EAu0Bq3olmmuV@`@e#aOsBBuv{Wb8d0)&;itSZ5xl2 zO-e?z5CNu>hM#=AjT<*VwRhe*h>I7W!c&)?v@d<>EDs$SSsXMZA}rO`d!6XPmYU7S zEbORmwd;^oOX^??Gqaox``Z(4KH9`*pL~MLAAMq*K>aE>bS0TF#&h9n;a19J>4+ zYhlbCVuUKe^A=Lo($#dSXhX`qLpOW&-!D@HmzW`?w)?L8RZa1Mu;+jW{-yG$;o{NOJNyWBoNUy37QpwHIe~K!)L+q(f*uHV9c`p>(#b90-6 zcmSL0Qye-Pn9~@{3v71-QloBMBtTXO=Bdf*-#SdE6YNi>9IY-u)ydbYz>^nG<6GZ; z8vpHY{t=ePL{77`JXNHoMQ)9jOV=4%-;O4dh!AyB`gprxJ2Cj(H2@@{u|2j1B(1UA z-htH<)YV~F8xYY@a)s@UT`wkzl-1`Asl?9K=)IYR$Px;qv>!iN$FJ$llf_eG6hFt2 ztwGx=+cqGV@c5;ZNRd8`(5raY9 zqk9}3I|J7`v=&GyVQ*)Q?Tw7>oqgWFw~o(muHo+5L)^LZ06RMyBpO5u5Tr6?Uh)u{zf?{S9~Q<#&Xszkh?WYfyaR@AgSa$ z1*iqYR5N5LGo;}8c;>Qoi&JRG$VIpoC3w(>S-;s5k&+mjlEKuCxb(xm2nUpq_Hgbl_dhS3+J7$v>?IdflycKx0QMDo0*jl+I)`c z4wMjs#}jz;BmKxPT4v5|woI%Z3|TJ>(Kd~ZCll&Cl|#+BZW1i#R5EbH$zQ4rrLv3? zm~)G^anXTVYY=i!1q&fiwM90fs$%Ix5_5)m@E=P7YfL#okw7t{5SEpioj_eY4gS_? zvG#h8YCX!Z&wDlsgGKs<(o9Q=rPMG5)ta89UKn-`@-@LL{*Oo zV5#bWT*Ome0%Y%|u(Y&@dN{=X{ywse4QQcgS%u05gBrt8#@^;0Yu1KgO9V4n0P_&G zG2KIRJ7DXP^5l^dsKa3kj9{E#Z+9K{AKXVui4t`dQ$7dVH#6JX+~VHe4h|hX0c(lH zWwqlcj^W|G4Zi&^xAEym>$bG8h+`*~7(;-9U@+WWyMyum1TjPiTd2`YODv>Y*I`CJ zc(94hjeR?Q>L6ehZm#cheSOECf8on`{-t9)eR2nSxyPuO9(m zN8mREST<~LCV<)8f8;I=j}vumm|6o$Fd|@Yd!3ix-^JCBZenHW5Ec#&v3O`;M-Csv z!9y!tS{j-}Llp%9nVPa`CQ~xo+S=v*-ozd~+T{AiKF0g|*xlK-$zbm{1bEifNMfK=&2hKrv zEB6bzoP$9eA?4#Q0nmj-I;TT~3>r-=6wyKSQ^zOah^$ztxGBhzr_}|pMM4N8$IfX< zjBT524PoQT^G>YIU~>4Rq4C{z1}p_23!;`ozQhBV5sC(ah`z5W$Qp=$Q@VYgL_tOi%MM`d9$FwUrHmM*pB=Lfh4AbbFrdhqkc$j9h6Nej+|eCYQ|tVz>}9=z}0J;*xP)7bLXDG ztFNBJU}+EF2-+OL)sL>?_N|+x`nDb`)d3&7-QV4{yZF_wF5~#A!%!m@mWZ$a`b&7@ z$M4_=fBQBT>ZAD9?|lQuPc0&83yR>ugAH8%;6seZyI82Y1GJ>IcFAI8y7A!NHZK3_ zI-b0Al8ng|>v-Yi`y*_u z@1m**G9k6K%VuLJ>zfRs#q}H4@!4m$@$!*lFpROXGQ^i(coAD$>-hNU=lHcRzl2v_ zcpgi`9RLp@vBKw{Z{g}^H(@G%@M$NT^RC-iEEQ&`>k45sgyxKtv(xW{(77pyo9J1p zMfUkmId|DZ)`g^6mnY;S9rxSOeJn5=W53zP?t`0X?+<~ngu1RU7}Th$s!uAVD}&1D zS}~bSd>5=4#CFfdl#;I&s3=_^`czKz8J*=;bu)d8K89_l4YC?EIKNKvT;>*mL@(e7 z7X^_;08r*goD+t0nN*Gps+@W;7c*h%sRK@dFMW?QArZl;tZ zDwxG$ugRE+;-nx&OJswwCyS#b=^8S?T=;jEaP{*kVbC7d_l41DFU3{@O>U9; z8o^siRezYJ_;Up2fXFiS%sIPTSHT`oriE0GdIH!$5NO$*y_` zmWfAf%p94*RMdIFx6P)U8=8?z@h7_jA-fAHtLX6bdSZ)#o5t@L>?!*bgqkzUE zimeVqSO)f+1}TmC+2^_V#%k zIIxN%N0+H_$L$QwD&BhiU0nO<27*ihX-Y(OV9yBi{@F|vX+nJT&c}T9m8Wp#;sKmF zA8`8oml@*%CVMUFTJWv!T!LW=iHf9x%O76h?VC3dL?O}z{snh;SO!@`0+`wspI^Jl z_4^w*cVPvCy2Uqs>yneu(=JXNU%~JF!Sj%?2W`iUvS7b>=L7ue{mXzfl&Wm_V6$xx z&B-6J#e)a;@#ar2Fh7}^eTF_Q4>U_1Z?ZVR z3hiG#j^5pV9iGP^!B8>5bdR}FOdFzQESnJmIrO2Ks+mslXX#G5d^F!xo24Q!l9E5w zA+G00=jDH2M&!&n`3Rjv7C(PtcA|}uNJ8e4CeXhD5*P|=vP)$qzHoekg~+6H^2HLA z?gj7+xh*Va`c6unX2BQT!O!3n0JQ8=yscy%8DNqMN3@GgXE*4Alp?$rS`>Q^G#6S@ zQTLW6&oRH5js^;kvEs|`Eb2^BS%VT>phbmQ@AGon_jmvFKb-yi+O5CZ*|@h<>8`~j zWQrZ$ra)SQUr0sY*%c99{m)^mY_2MDM{toyYmtJ3S%4(QRtOD7!4xK>v38Ry0Kt@G z20G}gvxA*y+=aRjg@7CoSR#X|zItQyOUb-*@((TaADTxq`2!Gwz|{Q>>U}vGiP7Q$ zj-5QtLx+|zo$O(KeGAZt5b7f1%#H%dhLqDxXAehr&~K(P3gleZqs~WD?Ju1!7_Jz& z=6nR~rSCKQ14^6*sG5u4A@`IEH7ya*3NRsr?9f~qMATb;QRFnE@0zuQ7(_fWM8yf$ z0s%9N=`s{}W1wf(c!#1$IC=Uw7MGT=yR(bHz&h408Bdu}A_4{D@eY<(7IEmvDhCS{ z78WZEhQP}5GDf2S3B<5o!tQp)5B}~ac<=4^5T!+k300-2YC)_j#4tdpB4Xvc$tqTk zXi>$QgJ0gjfB&zqV{>B@F}7YMmS~VZC05Lz zB}sq|u(RD_I&E~S7Bwp3Jk0%(O04E4Y;7}SVi5%0e9G5*W{`+aOZ*aBq?lc`gv zWB@IG8a1I>!e|sR8r7JN_i*0}QiZT`)Fc^!A} z+(xV$_-sSU-b8zKo6wDw85!%_n+PH}d+rpLRt1Am!f1h58AeoWV73d0AhiSh|e5n)abXa5cK^j@KGe>}!y+LRzfMGVe-tfH_IvZ5h|h!6rol%9)7 zL2qXOQh5fok6NKs9=V}jstR1u?LjXDYl58x9dkEW28WC=`^j36#u_rSu& z_a9W>-MXgh zu5_+5?ZQNDmYysnPRBBd7PQPxqVGYE8KC!S(CF`JKROOjGyiwKGxf_u2~#o@STB(Q zBnn+yKq?r}hh`c=={3ul3-69J&e8>)ii%|>LmyS>ULi+Rn{mk|2 zH~(sPxZ3p1vD=c8lq> zLEE-yTHifQ#tG92Jwm$y+6I_TGnz?4%8iddQbL=Or^2=^+BPAz8ExC5O;faO;~6T` z7ER-bndFTUawar+fL_Y#OVETO;}%$kJI1Xl3w$YRx-PsVA_q6CRVt98%hV8{5&?}! zSqmVMh=CX^1f(`&y4UuG{=kUPak;F*c)!K{2kS5h1`8w4MUoOnZyC+F#kEgw;f)`^ zjkn*tf@V5~#2q*1N(&F5bqfM$U}(zWBOnHN^k^TuI~fNLEn#J)MhGoJm^v62hTW|( z-g@&I{`SAUj$60Z5P~{f6*siy_o*HLz4+ zZwq+m=O5#5{=a|3ts85gOrhLIMgx-w%D@NL=9dLSgSyVxAMfDC^?O*mGsVJEjpfzK zd1PS;d^wZA}LiU5Tj8_AuVJ#6u{=76 z#nB?FkRjp*%G}mie=x-xKmG-N@cqBX#`*(Ph-DlS}C0(FEGL7OAX1Y&kUZmD3zh=c@5gdV~3y=bon{^Qs1#Ajh>d!)FmUOK5P>cns zXV|fmAa+ae?oyi*^Z2;46p+T=0wJAEp=5t`K-R*dDWlH-;lK+@HlEpK5mr_fW$M-^ zcXt+OkNasr@qUk1v->j)0<#*%8ph}zcvPM)9TT#+OVzz;Q-AKueb7nZ#FSz!AO^EV zE-W5xJbt1QQ!&%v2e7hGR%Dok5I7jrXtjb_3y~=lQ!^713m^tgqwc&_V(yc%a$sNvae}#7`q86Z zH|f=Ynpw6fHMbC-Ixz{r#Kv*=Kio=}S-I?Da|c~P$ljWjmx7^+j$vBH%PKf}hx zLwxC(vp9SH6qZ*;Fg0v%@8RmFH*op=tJqlIa^(=5ey%146$*7ukeI?ec>#QpIpRnF`}Ic*6!@#1 z(WvI3LkF?`Xak#DQ+Vu;A!qAj(>&Nv=cLWu!7u&dpAyX{S-~UJ=>c=VMGoYS$uaHRh$$ zWEskA2!1dlnpbAp`pVyErleQYW`=2jyq0G*&}fE=EbA_%mYJ}FLs=9Wx!^@|*@XCq zArcEWEzGJYbr@@F0kM$Tvm;MCTwOOhcNI?%#28V<3e*-seNk4_`KXj8=D@(5;mRRP z$lCh&pl6tA`Fo2{0fSns9S64Apq4CYU{!gWnsP?8%Jr9KmU|UVgcVbp8X!SDmdjdz zu;ta7t1B+=-PmX_9cOd1RT-b5kDD%UeyLt0m&Z3+kcxFR!f?2N5T-UBr!p_iMcV@S zYxIZQzo`Cs#1JfJrREl0AcA&EjXm%*u5b7E!Q4=IVN$)rea zvnF(b+s1|ojU`*;=0=0J-`c{J4?efm0|&q=V}CDkYh!}R{@7IaVc0HP(Ao>c!YTBT zOPO8g3P?1A5^Mkh`+E&Ox@@?1^^pw+1J=Ud+!}SA|Owr_9N4?b==3y18wOi=SdJ5Sk{8C;Qmn-}U!W2p}8OAT}UTmF0Z00HcRN z28f9zRR)UHl_JJ1-nq4bySLV`yu5_E9w2AMblPHne;-ZSHwhUMTSr-C7}R-#new=H zxa_6{h7cMU72~GC$5(c7x@q#~1s%=wX|fK;;xauJTJX!(8{#9-0Hy>y*Wsth3$vza7Rsto4i{Y0@OfWOy{ zEA37>kYEVq!t?x!ScWSWC=O+SB8kGJ@$Mu0!jGO1TJR@^P#nUlioh;ti3kL&n8C_o z(?P+7Q~>yrbe4%oh(!wmAZE+v(HE*^>}J--GYiFiGu@L_+Hlf+IZbZRPFsjZPu(nj z2bYi*AC+|sDML!BU^CFmK-j6ROyCSrK}rpj6R+YzL@rA*vW93vuw0<6sh{gk8%0hL zB1DjYlp7cuTV7tmu@eL2yor<*i_5Mw%<6}`l^6lD+5B2HdzV>e>!KB^I6z8`ceLWEKHJ;}(Z({n*PS zm7JpL3wHnB@K_Gj4hc2E?%qCjb~YjO{h2E^Q7~McT`~jnGW(KgQ&iFAoHe#>Lfd9c z(UkAEl=spe`}No;%;sX!d!uOisgw1E!WU@}d`u{n%Z1>0qE6x3w}#z_u5%@`>ylc) z2HxYVBX1nfRghxy9bA`eS_~dl?S8`CT8U`S-R@;>&uepCjrAY5AK^~=7Iq`Q?%XMt ziTOY8Hc8f5E#QJAv0?c=eu1gbe`YG8=Eu2sB}SZ`DUv=~RdqUpF!{(H0YD26Gp zGpit#Av2>bbe&3oXxY_-7!}59hLv|s0ufDM&7kCOm00(jP$NLJ@y<}9hih7ZF(87# zbl+9K)DqCAVpXoJN`hpDsbtXH3hEV%*&Crmg3n}4ky2*oAP%v@fdea; z=8XNVEijGI$e4+W&@Ljz;L#BfH?Q@sFG06AB?!&NcIsot=zAx2wUHyBGRy+i1Zqk! zAf@D;K^6q72+a@!qt#GNTv;L_BR;#niN&RW6UWYSZ+jQ11q`9b1wE!tESC)}vQs>( zCD4q+(Ex2qY*IoH!}7sJ42J_ge7FHkp^P(gVPXj=aD`zgEx1)+Ak4^O5i5@L)EOCF z8JS9GSPZT|6IUf^cScCLP?c172S6Dph0DsGfW;6k2uP_!>mpOti-Q=ukr9e~-4lkT;7znowUZ)zVm~eEo&%UbO$vD= zLzoa_VpRh<5!Or*qrnh7J=cI3WS(QtG28p9*t3!R)nrYaHqIs_1&FD?3#1^nIwS)S zVM$8#NJ|M#DPU%zmu}qDbI0HeM2Pd~!ejTPl?vOZMbJW??{(O{d$Z8K*>^f#*p!?x zkv;;xmmT+6@H5}o9Er8J(E9~cz`jry<47k62#=-f{7+0*Z#{b%-wc4zQ{-l?l8bjr zFk&_4Rd*Q(LT*?(OMrC&{W_Cd%B2-<4 z>}tBkH6h1A_zv(h^(Hl`qC#(c?dy8RvlL*5~~cCQGq(diif4Ow?N0 z_dQG)Ayh+}Op(LXU;#a9+F-^E1}S?HgHV`D_hY0hK3PvXp(Gx&#p_%ZfVOFAsnLJ%@^R(3$Of$5M$fJB#qcmkzM4_yFcU^a+$ zlqEvpEqIP74)Kf_qJe;P6cI7+Z>R`HP&0C#cs`WG(z6Op{lgWD$hqKlLid@t6c}oS zFyTr_H6TEYL79;Z+WE0OGs-_ZhlZ(Uiin9gtk<>FK2l~;F$rf_WEHv$)XIvWH~%M) z!JPl+DX&O|@%9ASon@ZV=&#>`LkCTJcWBQJLigkg=4q84MF0ydleQv!=sH{dAKbl3 ztgTs=-}PH-@BMwJx%YJuk9O zHr!ronFzmY@%vg5BFji8j`!QoGR-^dlivxszlgM6$NglTs$b~^I;aL?remF=87-oi zV~>H4A<4XV0~79Gn)ZeH8yv}5f@~F4jlnW9M6#E8j#B$#m`U_qL|vs*N>Dn@0+*r^ zD5c(Ig($6PAX#M@a;Gp{iBIbxiX7|M3JHiq#CSZGf)(B*%&0`@J z*N8)|0S+78sI(ft+00LmRP8dRCliF$0hW zR@xXSn{!dpe_Y5LrzVS&NfTpjGv5Er=5XvLH!rI{dv%gjCN#}NRKAK+L-Rb2LERg! z=7lU6)Ybx>5|$Oj;dp!E_kZU*eEiv!*dmCecyTrQBq_zFE?PzsC4t32-Cf)wK3A=& zw5In*6X;z85-BOYHi;99OScwt4Qgv{CB$jkL{g?#k((Rk)zyiwz4eHjtH#G4KBFx; za7UwmCgTRM7VZ3xoxlY5&ay22+0&;SPd8F>XD*j~^uy11`tbofW{M<`BPqqL(t4L% zvg0D%Iyo64Z7h*~uVIRWBjsG`yC?Kj5$UdDE+MBx&LZwc9eqP<)sva1##-Bw$!g&B zG1xmM&Bf2;S?Jv)r8|0fB)U3&&-jIneL`0mqMvKsQUump)*bCaRMn06tePRAgYNgn zk?&f_cUPKNjDsFp;7U1_RN|`sHUC6ZE+TlTXk(QJ2UjV=Xn(QvF`hsJ#(H< zk$W%G-JDJ^tj5D{a^_F2?W-8HKDW;Ao$~LgINdREIXmZ8)YZBni;X_@2;{rnEvO-# zySLQejY39}%}_O2yMZ=RXjw8UE`3GgxD2^=leWYVxLLfi>(Z_&Twfiyy1qqa5?yax zadaO)`-)MEAzyb7Rgau6NFo{+y4^)#w@d!&)rnfWc#PSPs1WBqcKkegFI-W^b{4tk z!21kUDcb>8z3V@zyJ*rNP4;$v&P0T%WKo&C*BDvpctBf%cjPh@CNxFGL}hW8EJiwS zaOXKAKbK)eMvFp3q9ro6hmc1EDmzTzj&zM%rd3Be7*Vp*5F&X>I;gAQ=>nQTZK3Iv zz{h(Nk`!VpH70FGUwch|xP}i9-087#MH25UwUxV?vgN9o?~DJurSK>C>#WgfZ*9Ulr8cb7DLvQZ|i)%oxTl}|qUl)6-ERYazd?YBEx zxeeOEfFcGxBGV!z;ZByiczBaiCaL>!tklyBDS0^$40{qx4V9tN2*SCiq{6+KtZ2#h zyKJv6as~^mjwy*qc$}P4C^C{pzhO+8n>Ku@;|>(|qOR^51I-A;OiC^wN~7bg`8ZAC z16!3-qKVOZb61zO?doUpw2g2~yob$u94ba_c||S(_v-tB^I!j-`^UyV4y|5evvM!+ zG6pM0I&&)Oc~Uu@7Myji#>V8m+|7gfy+GNh3fesqhbKMr$Kpr3i*m_2F5w=ise36v zKUW~)z!)uxRl_`Vmu5j(@jiUcXV`^w=`^{2yEw-)WxZhe7nYuNYnAhY8J|nN=Njwx zN{nCpvfN9_o%dpoBQg+oXNjKi?hzv1Q1P#k8XHC_g=WT5 zPi%J^@}%4xu3`;y3-!wAoeCY%c1~{^r#qLE-w8+poG{&$fLCmi2gN~k=q%QE&Jrp{ z(gQ`5ta*eQJY=PLJbcaYlb)@Uu33?!k)7{CZlke*tv$WKMcjMv2W%TNNFu1OsrWIY zIv$!pY6v;!(Uh-a!MD-6)U!{zcMDUh!P1X7oty^@bNukt`j|Ttymz`o(ok57Kx-C5 ztg3h$(mjP=GYRGZ03ZNKL_t)PH{_hg#u^{QH4ieE=rs7&8CB?wTI-0E>zU=HswB;$`8@g@BBOdK!!*3s)a0xz zNhx6|-@%QHPRvQN^8Dr;h z5IM7H?%CYNYdRiI`7td*^o+l7b2>kJhK0QI9P7Rdq1>&@@&#Gk{SEuPP(?jG!YFtD z^{(ir!d=S!|E)I_o1=Je^%O;O{OrBy7?6&+nDyC$iY9pQ;F8^L$MJZewZ<1Ev1^>Y z-wQDC$0FWqYR=a1)_U}l=%*e|&S4Q!dcbaJ-oOm-c>ln6dGbj$qJ)E!lvGG1Qd1`2Iy@PvuR~ORZos>p zn`JKUZiaV@>Eone?L1*^Bgd{u&qBH0PQ;YV*i39Z^h4)#mhp}6P4pN<;68yDEa||Z zpO6gNgp%iYQA7|u;eMjG!ishEVK|Jbe8*exv%>Av!=I$9Y_O3sbaQ&ENR9zpYRvaI zu^8)$jEy$Jiah+n-|@SoD=gjb2=^b8Uti{4zP}|HIhKhyST&Q zw$l5{h@?*g&fKQ+2B(rx*A+6fLKxAZo;Mpa>%GK#WNSmvhBVP=wxBA^^E`+UabpZk zx`S#gp2I>ZwpO5YaIpwverspqgz6WiZ+Dwgl4k8}JGevm%TOubcOI-8529&=Zp>I) zs%vj1r4%AExi|PJcOf0_Y|&?wO8oc!d%rh` z%fNh}lcQ-YHiISSU_*u|d|{E4HDc{%=K=Hej$qoxu;vywrFBQOiOXrYx$fP9zF3+& z54YdVu4o{QBO86jhdJx(rSZbwzj4al&EfuH$%rlsB5H*%#I*<2gd}KmWc`7JlEj(AIm4WfYB{nVl?%M#_O zXi1)hnRmChNXiwTMqjUCYM??>Lz+;0X0zW?Hi`PGLOYQa#5N(v^O3ft4Wtl=l_=3k zj|zdt=#1Maf$5rTz8_>rUy(hS(M{V$9=)oFcq8$$kBn5*r?Qp-$cco z=^SA3ae0iZ?&yqWjk4W1RM@&12EORbq|`B5)xEgoB+f|L`QcW*A1}H&o;RwgvS}kH zzn*l=nJs!a)t5E=aejzW8uJ>A({%Cx7rK*N=~mpl;%aUlaa-*QQaS0ZTi=ppcC~}h z78aRMPwxFBw#jG`r#tNwWXi%;VzKB_}|$yL(It zBeW&ct&sp_K$^e&fJH3XbD3q{6oPP8DOqS$SXvcPcXgG1>de-C7Nm9=)*z39rJJbW z-bLKy+z^)0{1q_?(H!9BNsZ)&SPy%Y37(Qi^l5lHWhg`(N-m@!8_X#R@yn7i&m0fN zJQvDjQfsGsiuLV57F5VLfCU!FVL_6CbTNx($aJB0A+-|S zuw;O`$%fu%np7lJQgcr&gBC0$SrL7b()l)j9@I^VUKAuzdU)NMI%V{9L{iWtBr0d- z&}A!ux9qJY(O$axWp|UL6WSZzor{vB>@t?CFSYXMV#^0_J*Lc6KDj;eoj>ecJ*zz4 z3txTz5u1xg(rV$uk3Qq0t6LDN9h&4yNim1}hBLXf^X=Wf3-4l%}P{)aG9;g$e zxv-p&LtO@1BvHJCJ4uB!&D3L!vQ!@-4UZd+IV?x8lK?Z~Nem-RCdP@{4V4Rg(3wO0 zn$W&Q9a2(pUE-D!52c`jrS(K>s8{;(lI3nCSF;dsoPmN=OgG1<-v z-sQL$$D@ncgsGCJ%9NX!E%cVCb)p-nRgz331XZV54L_44Ad5Ay7PskK7|_csVXEvT zO=4Z>2BI11D&8TfleAHLjZT9WM6v`^u%YUrCMaca>P_$yA}vZhHX*VZ!+}-Q8!8x8UevUe;Hp^+I0)`F{@}u%IBomxeV`vXKm>mhfgVq*a&;ArA-UMU8R#k-GI7C zRwb*_lj1hfn+?PIG;lhQsc32}IUH=_DjUyeb52}~ObIm6y2~VmeJbEpx>y`g2gl5#_;!kPVBQV*{yWo`VeiARI+UMg_460dSjWIoxD*}ov~x#>NZQKcq#I~ zBYY|;O(`cd=MIpwrj*rs)}AEkUW#se2^<$;a z05pB{(J|fhSLykupQTsNuha2(N>?|>{ObBTJ$v;mfAZp4x_*qJKlK&7H$H!H;{X2rk2u~mzmx+%^^;rPeJ>z3Km1VmXTN>T zahZ7Saq(aN_LtahZe^+XcfWVbAN=7Jr=`i8Pm2G-x84=+H~#$PN&fKrul%!T4U+Kn z4=&|{uk5(JdEqZ!3E%tSiI*>hO;LXG8;|6jw`Q)cUvYJl`GfDi;_BAe?+ZWiwb%Uh zCmZQ5eE9J-fB3!6I4s>CKb-lQpLk!eh1+BI=huxN{^*(b0m7i`pAAawpe0p_4i~E<~+3@z88S9H24;%lZKRWX4rpSJ3 zeECa-C)hPM5~R2Swg}vT?P_(z<;7dE@0luw*>E$h`R=d$t7? z<-<=+u8$d~@#brp*B(Nv3tftT`1FNbpVZNbcfa&dk{>x97PRa+RCCn;vuZNWr76^B zx7YmbuF@@Y~j5=52OCvJ~X zZr)Djm$M9Wl6vjJi{&IoTe#d8e>l%#r_OAN+vYs?O3%jQ{p62SWok}M*+02D$W?bz zNxZR}cylYrQvKyJ%V#$yzwTXjmzi(8|A5PU?d>-4$!Ef+S1+V`^~d{3zWi{*1t$)t zt$*~)<@)I8Z2rdU%H?)}*0@d=Qa7Evb>HMI?QkhS{Kz=e-QV1l_y4oqgZVaTo96A- zcMmUo+H85S$ue!Sx1^L*c=ORCDJ4ryLMg=&rJYV}wp)Mr-~m}wO3L!+(G&m4uYbVh z#{G*^U3Xxw%Kx`t{|NZI|K7j*pT7OW&p-X;Lp%JHi-))W>gF>2v{Uy|H|+M})0AYp z>1;RGvfbmG%e`za5*HVR%l!$joz0w>^f6ENm%RVRmUo_jEs5t#ChsP!UGVU7&y&ZA z%Z(v6bNO(~_A}v~%SZhDS03<<_fIUX^Yj^zl?PMe%U{~?^*1wR=agraQYxE^2fY2- zo^O5ilGk7RnARH0$CcmSzQ#1cPrtwC7vHPYUU_yh{>AS$p5H#=%WrP@vtOV1+Ix)` z%YrWpAAVO*eVw0qSNJpE=Gw}B7&$wP@ZePuO{OJa32Y%{<#Gn6ZgL>km7ku_qd3h*YY<7I>8xw!- z=Z&@q-}!jU4?o(|KVNwJjl!?}!jAXfJR(!!xBd`*_q#%_dp>x7;xGKt#G~zjLo3qT z%txPZxYWeYd}GUB`m;h&=X)PceEOO2=`!I1G{CO&x%hwE#S zDi=HFr@pb_tM64_T~$7PzU9T$7JZp`?UD1XZzkUPQsYz;^R(gR%>xcMjrZTo{Ong0 zs|P9*-}_9sy%pp%@xhljeD!OcU0vRKtMKk)htmlY#Wf*U3bXU%f%4X6XKt|}Ew)Fl zCy>tTufgjN4%F81G-EyS`E3@Rw*LAfA=M*Q7t-aH+pNrGCg)i+iA+dEn5NiJM$XQ~NSltl`c`^KZq0o|Oy zl&euukDYdeoJc!kw@Gt6W1POlU?cT(?YQWZW}(E zcbq6Zm@7}_g?4D{OQH$bu`tnjvb*KIOXu|b$W$ht^$oYjJ*37PmyP!}o%z(Mx}n=1 zZxcBiuWc6IyI4?j^7V#=3sP^qw!h`Q%`KODqt}5H3 z^5SD5oi4bXGNmZX!D&}}ZclK1dz9U@XWGsjn#%L5PGaH3%a_y&)3g`T%*(4LPd|Cd z&9ZQKWtdFpc7yfI)kh|EbIprag}Q8Hn%^XEgu|)w^2H0<%aeTe*@UJI+lMHgU#pOeJo<@1i@OSb#Q zc3wDLJ*RDN>B)KVw8=D0{ zuE4Z#b=`UK)LH6=m#;dO6T6EY+w9za?(+2Zz+!NGm6_9wZXS~CAg@0CgxwUkfa6P* zUA{o&f{gR>*=OYG7026-FB7}zOGqiQTpjtr?|led$@S^dmu17W*|Xn@)a%CQhbtP5 zR}Jxg$$pdB%#Gzx2XWh}bs9!Yw^A+ptOcemB;oqmOMdk1spMYi^@6GF z*`~~1I>(QKj^4Y-@u(!dq@*1=b*^7t(_g+|t2^QNkc(0f&t$6{UR{xDm0XR(p~zGo zx|Ggx>U{R}7Hw5DO1=K_;sw(#uvb2jaON)nSTWgAh8+tZP!&lYMkT)Mbzx!7Lf zTDZP`!7f!?I<=peFZZ&U+*4{ydBu!`XvzZ=%WNGyUFAle)<%p(2oeO2&i*<4B*I*?=RY|1G zidiNL;+!x)ay)gE3C(-vG_$x!t4EGU5!9JCC#HFac_L*KH>XvwWRfQLY2IUAPzjl* zjG4?IJRh zlZto?+P}w0M!+8mj4_tpJJu88nUZ(nWn!Lo?5Bsn{d3>`mH*;z{7c-7&iRNxiC_QD zzx}J%``!LGwwpcEv_T{f{@Xy2$X%e-Y;7z@Dk~;^jb2-LgWSa}OdKhN7Q=fV`3sAd zU~yb3wN-l8NY|M#rA|)4hcoMV?<5j)%48N)>xeo}SetNBvYbd9X>K$UOLMFRlTWo` zG*0fEnp3+)KPW?=Z>5^h>rAhi);p+@Cnu!?%@&r9v|jKwqkSe>ENpctv}MK?L3(Ev zm~_HgrnbbX8K-sNl_P?&RH532rO(n$nQ|iMn4{{hREwcE zmk^*iLa!NHE@;O+?lV1gtQcA*aUzMJBaNv#+(gMS?_w4e@tlfGnn~_xgXBBB??q%k z6a$@{YDny)Vs-?naKHpiG^d7SwxqYkERbCT$9m zqaf63V_6P(HBmA)Mfku@&}*VuqDB~tNhd@%!Q^WlZ41&Xb5TmFs2pjwaD7vG`tr!t zsk3EamP*bhBAwcf+}c7dKV zV|EB4M4o9SQF9m19i1Fz!z7XI2}Lg@r+jXVMsBa=YVS-6d`P zoK7;o8;CnI6hzT@Du$RWFf%f;^C>q(DiN+8O;Rf{fU1L+MIq%W^8V6C7G8!MNCriB z%*L#c$`KVc8?aW<;ZOL(ZjjYhK;19oeoI~$t&=y#`(gc&$Bg7hAPZ$8e> z45v$2F?u+mdIt(?n!#C{v_9;cp`_@9)zVYNlOYAjovxKgFj>Uj)dp_RhVx~`+XsL$ zUf;Dr>}N8}-4r?ZVD>8#?rvs7)b4DZ3Z*1c7E->?M;I8Wk!p@1K8=|)3A-nxh~kdH zPfLzx4`uuiI%*me|1p3qDFxn2!L^Sjd^F(07(6uhl48g>O|-TIM8}<#qT#9INkbR! zAl^sbYn%#vL|c1o(m@lbKtriy&4_1Yz%)sQ=HaZuF&11hk`>h+A&Gbu>9WuylQlt_ zAf-@Qwt|b&%7M~nvMQ3IiCv|}XSNqw5~?)B7u1g=3N8=PG9e|NiK)!t=&CoEZSgW; zBS2uw@ZIDRAq{o`V{f3^@$O(1l?4nYlugcbtH?A#Pgsq?%sh39-wefd#`_%6=p2A% zJ9OM9@_xsZ5+!v=9i2dDZtkxs`#A=1o)pu~TqRG2bwl+;o+@({`Y|!hhN8>ZIOOMDo0W+ zP#uwu$bwVpvPH@Ra#u`yi~yvH_DDo)?xZ@h7<< zrIh-VGpdO!3X(Bt9wD;imRu@v!ndxTahcOv&>#lQ+(}+NsY`4w8M8D%Ehdm$(mFDh zFw>CM#m*N*>JHKqW{D;-3uE3xmaImz6Vey(L`P7WVyKQtYo$R_u>17rp}Jr72(jYi z7*?PLQI~KBVF~da-Zr=$-BS&|nN~y!ZlOV62fIR`rFTP*L!=v%?Fg=jXVg+qN5t@+ z!6sB4(Iksc2oU&y;x z0h{4!4g(7_Uc;cz2c5h39yZo>+RZHHnMQOpl7s?D?}ngdB#Bf=B-b@F1^QP@7@ zVhu?#I2yp!p|Y2;IcrDE!gjJ6I%6XX!rC}21*ybB74L?pIPQe5W0-?gTy*4%2JT|@~6 z+n6foF%Xh9k#nLpITP=3_oM@DMT&^Dic3mj>NHE znyXYvT0G|>Vi6e!!{p>WokUzQ7A(bDfICtjyZS~_@?pJo*Hi@-Px|oexFw}4lj*nq z)NM#Pr><7U5Ze6_!xJJ4MjL3DilUUPOj8D3Xzt$3q`P^-Q0*>?sFq>-bnb@r?9O!~ zaS|0>oYcj9gPOYZozz~2izBYdU5rl0`iW$nM8;HID59F_h+9V{i<7&Ff#} zjojH|001BWNklDi`8$ zFo+S$E@VkaSJ#x0UhvlOyr9`gc}w>RRb0A~svs5Uib%YMbi6G{62-0Iwgg7i1v3@1 z8SBMcmmnnr<^?>7#fgL|Wr|i#I5C4Eu3aQaW4uRn7qHpYCP{sXNN~RKRu+*olg3Fr zS*BXTwIivHIhGV=X>G0&SSEExJ-PIasGdM>(WEY#aWL(-Mj1!L?I&??`Sjd(#8T+C5=?&!EnedUk9U zZx^ALDA$N?Q8khk%#y2J#+WND=HD=Js{zVN^SU7kZj_uUW#es8u_ZhHAjSzeuGV08 zH}NVlygB4;IZKq9Y;lpTtV8PNiuFR0jHF9H$rR40?xEArg*+Kj43){VMg%^d^)L1? zF1L>Xc;m^tzA4RT1uITpj79@Lx!WXe>Sj53co}eY#Kf%ATO(;&A<-^6O8ULiI;3na zl;O1!_jW5{x8oo)l<5)EA15XAq%I|O)N91K)qFdvgkt3AWwVXwyv4ynRhUYSvYso# z1>G~Pi(BbpvY?)0!`4R5pn9VFg4->vPs8h!>1{yJJ-JJ#adg*9!Ntvs7$;mS_!Mp^ zxxwXTXx%;D`|R#TkSu8N@6Ck||I}?ro6V-3?1namZM#KzD~o!}3YsU^uz;J>ap78mEM^m(UD+!2@tMD%-%HDk%>nYD62XuH-63Ru~Zt>dC#vJD@Dw)LA<1=Stt|l-@B02`Z*SlxI zd^0>h12LsK_L{gs^`vwyh#bjWhvGb6;xZ6j;%qcw5>1=i60qBz5A<>*Sx3CkC6CQx zhH`{*B()>B(sZ5v81w|IlJT%r0u|jRyv(bt9v$Slw@VgPg2a@M#fy+GScuL4qVn`!MBw{cg@Ho=-xqsukTTTuIaqFKeHhLF*P z-U=yYQr^**Iqctlpf_XjMvtLcR5Ec)USj4|5~MWxs-P*qn&$oSPu+$z&2v8<rOaYzIkLJu$I0PR*u5+Aa=p+CX9h?tYpf{RNV z+7{KZu%_r0gncxvU_*)4K*ItD5|Gc-$71O~6-O|)5UG!{Ofc{IU}+XnCZI|5WbDVV zi|Z!T&o=wO74_ji8WiN10w3f4I>!G3w=cR%)}mXx_CHph)g1`Yp zu$yR#K~x#lu9WjwJdkxGEhRJW5=c0pOlO*#G;f$Xu1QRUu0{!jkBoszu^}5$O{mYP zOaXwD&_a8vpi}fu#ser~m<8)l@@<^xn8kg@&w6k{q)8+w477rk_&w%lEY^xT5?i$p zj;MqSr{7n8tSW|c#c#HS`Bm>)d0OcR|Qm6a#5Ntcu$y5qg3jkoiroZ5wAPkr*Ja$ zh3*-%Nm|o0piM-i){4p^(HuFSl%l7oB6X=u(~dA@hvvei(OD#_9)1r!)X}6QGHICW zJc!j2Mx8CzjoZTvs+7G8rmij&wiMZX;fD0~Tdx7|i@*Gn{!jkVQ?71aaO$_DbdsJr zswYYLgv=(1jO73gC!NIoiq?g}6UP z`W^^q>S97}vlx41YT|Z<^jn}n-wWh8xS$v{j%+YE1I zqpg&hG=e!NYMwGtni5>JV!F_zNj)~Mu1-!rGBJ}~5#NlyM@8x6KH;j;J^YqQlP5uv zltGzMRFdSZo->GbXf_b_4QVFgMh?-?xRRz|sB0%lCnMvo;F!$=S#}WBgR2_!4c?1r zGIwi&7^x_^36m(vQgGVUNZG{9+$|0|;#<5GcPmILLt%7^QgDAXc<}>!YqDO#9Es>O zLw1-_CuI|@(7U)d16Oe=juuq1sO4~m5dh!Vh_bskiPC2pBm-9V_K+Gza0kQH1@|Qm zP=YsHiaL^voSibcpKO7i&p{w$p|?XgtH=QbJ|mFAYl9=>LUlek1&O}1)DzW~cw4CA zsX`v{f3M^45tr|r1Kv|xMSXF6JI)0*dR~h}<>5AbJ`#oj1(K&PpxMhb0Wfc7FVpPh zG$V@+rcwu8Nclh#BT1IU67I!S6?)Ji+!AKp@gw+#+JnGr)^R_&c{`sQ-TKfkMK958 zaqlKwX73pEESc&n8qCbx%%pqw=8fZWWUryF!9{w?A$_%MNW z596sR*o60jS==c6Y!~Wd-H10~B|e+UnJ7IzL}KPqxfyu1__{ORGq!q3WN^e}{hEvt zO(5XIU+5u>5l~b#jW^l`;VYEFvg#dI@Jg`6lK3dHARY50=An?s3;4#7+d%2~gnP!w z2sNOwQby9u#Vw&uaJKNl0L-{&+){Xos6(TWq|-4^5hM{8)s^5|LP?jL>W#Kk%v>^& z?3<*JWaA=TkV>L^u`FF3QZBz&h&H*{1F0Qq17!+}sTu9GAeQLnV%DPs z2Dk4ef-DRm2Z*V#~so!(|e01@nwa z7VjAw7GU=VK8e~)@)pMLUZsnAx9O~`TLHu79*x=oD0U00o8hu1dDeea0?yND*a*Y}86?TFK^K8scNEE)_lkx)*Xpliiq2nGVyxrPc-lp#E09a>xH!;_Qp zo$O9lfvEWxoiC$I6LDq5&mQp<4Zt>yX5i{*its}4H)TYHHIi1|!j2g9Lve}nPpB($ z^caS+dF>O4EJJFx#ccw~BmP}k*<9mX9OXk_vv=JI7tMK|E4(~sg4mhH9(u~vPDRVCg)IAl|4YONK9WPs1e?K&s8fZ9@mo`JL zsvz!-C?IyVVt<_#kT-rks=ds)gE-IL>!gu+t0>>nHm`a}v3eJLT{n1LQWgEQZ@}NL zH>A;zurIf_UmacMxa;-btqjxkblh&>2Qh+cCk_X`Ble=okyek7^9!semhWUOOcw(u z8MW%Gnk9brfzgYy2cu5x3NFOQa^BWK-Uc~3XjMjPH~h9-xc@X<;%8yIg;_h-fZk2kVwN%#o2qZgcDys~Go5xvu)1U|M~L`K0=1I4e7Z z64eX$h@^5mcJkFJ>;6_{r@%V2@EQobAl}JvXqB{Dei#$7!x^T+eWB62htTK;W3gNF z9aOOzpN37zFq=)UHnv>MTTQ*cUp5~2Tx6-^#I*WkYa~dn-MJe3ueCf({(+)jdYL_{ zl&`)qZ`}mH3744l-l6TFqP(SmjyIWL-+nvZ-zi4d!0hN?O?FSJ$}sMo;2NN@M_=0& zcDoPW4(G??6$rWQF;8z*`xbiNBSS}aA%CazU|n~5@20ID=}?cm_5Q*(>Qe#sp!AK> zN!6GBGZFhRvXD7G_MUCUr`YgQxuIf=+3UWIS?>jXi)AXnbnnlsFAc3HiJcDJp}JSC zz+R%X&l}R%|NB#GT`YeM09i6-^7cg>Hi$@0>zmZVVTn1CVG9i-v}pxf%GcBc>+-lR z%KFe#y7&6%GF-li^q|Pz`)R{pH{-m1)7kq}#(Uuvtq1Yg@&2<7$+>+F zP4a$q=_+>buy2{I2|{FvC~up9dSu-5!D1~~FIl4H?q2#fA@!KfU%T~I#yldw{P9M1 z+esYy6k@ZTFtJhZ{UGW7Ll-n(XZB8R)vx{@+PTqxZy%$Y{Lo{kdKne1iDGK zrI&21U$m=&i@{=&Ikple7}Y7RP*cK9LsBAZErwhy4+U4h42kW3iN0k;k3r2k!Q`fv z3D>4l5S!fZ-5w9g2?o*Q4+dG2^q~CQpVeroAd`V{=*Fts9$9vZ&2peTaW1(IW>-16 zkL2wRQ(eI8HyI3{oeZNtk7SWD^**Di*_MW1j;}l1Vd+U3jNFF+KgswiwtdA>pBs5H zHMwk%wRVEA(_7Tpr~Num7*+?hBlwmN$Ujlhp$N?frth%sR2>@hm?-Gt@U-AeV`->^ zFpd=j-2+nvUdh^Z*=lAv*_d^#4zhfAXHJIK{#md-sdsLXjNzHOmhoQ5JVa6>hp)m4h@&_*W8fu%5O zkB_Rbl{>*YKK(kPeLilx6J}2-zVu4UE}KdhKFKo#- zBA4WUSDmElOODL<=WeK)>Z~e>S;lDYUKC}NxiLnPah2j|;b3eh&OW?aMafcOQDql% zZ1ZtZ#l-3+FLCnhg6T*(&+Zc;RejlYg+}oVFRDgSuGga8M6sl}C{yC&Qg!KzLse6W z#^4I6@@t`+tO8#@am))HS$RE?4MyGY1z(Tk{w4Iw_eWJ6)OEwlWZ`HW{X2SH0T}6Tu_#w=xcL zfV4Emg|zBje`4i*eH&AA% zKlkmXxrj6}7RdTW*7HZb&`Ftz+rX@p6?>+zm1+Cy?)R;~PMLa%;5ywE((cf-Nz(S5 zaP0@o(PiG>z!o+(O2kFkQ=izR^d?-?pfpsnP55xF+K^W{E&A;JSKp9E?+_TTY31t` zsMj9zr9ABzy)oy(nWM2%(J8lAM=a{oxT@dg`rVzV4d4?y?ex-rySxU&2l*_@lHsGr zQHqz(_IF0RF`VItR!#H(*4!g#$*nnnS`W%ol|OA)kTK?+c`LmK=-v0ODqqE0%=;n4 zuR8SCC(+Wab|q3uiWBUK52xatx(JL^t(Vf7*7gRC1@xsnG~DWi?pQE%ijRgE4G>nkfCEPW@t z;;(Dh5f2Qn`~FNW@=DAo-}I6(^!%Uyr?2q`d?EFivd43K3608Z;aXUotQuOWK6Ukv z3MLVFJ##8J$~e0iNC|hMipcEnFkapFvfZx;)@e{y(_G$m$%-t+?w>f#lq!-lvMNnp z-pwW@(ojh}S#^=Rr{N`>1k36a(bemqJzrN|v|ZA*Yqct^axPS<%r2@CRWfi~s;e1w zl|(c0YG8fGI+~J@hSF4&G|Eb(I+xLVv|J^|v#S4`irA;Eb#xjhpB-aW%C>(vnIyBH z$8l*?mUt6+5HYFx-fX$<@mKQ1axhCOJxOy;4$i!h`7BkSSgNW@D=vTUYm}?7n^5-U zRjXU^K;(FJCdy^FPE?EDzNAF$Wp(ewgrhtE*RSd|47g-6_2AKj0vTsssS5B%;z2cS9ARDo+oJ^Be8uC z?_Nn2p~zJkl8ysdWKj{9GP+!-^qS?E_n8)IJDm^I&%DyVR%H*O+Tn>a;-l;=>cH?H+l)%~_pT?@A& zR*7E3qFt&;y*m5?&7Oa-cvtK?)BQ9t?!X^H6L}h9FvjeH=;o@$dKD6F2P`q+A6E#%Lh&)eK& z@#@Gcl=QJvbGMyLn)~Q`eHId5SP^XBj%*k3b~iwu1F*d$UhDwJ{>6O#IbZNk`k|Kf z+{%cnXV{vbOVCQms(T-`gAZn7mvW=oY#O-7UflMwwwJntB*}X2rD#KuSxsFqgiB0^^%OdV z=l*;Qe4JPYk>XxDz2S)zga;p7SYF(jT;)6^!kQhIl~}>Z#H~=8(5%wxfC35}^(mQS^W@5!`;=iovEt_W2xrKhol|k6Ap`lvYH zS-A_9>y?4P{pD-#Rt~w8`KZFB-=KENl9fr;!ewN3l1Y988{JcioeHB~TIQ{{u>JCB zh8UK8UA_v#CC(iYn>_~5F0vYkkXiM(sW#f)0{4mX-eXBn?i8M^`#H4}b5(;X@8h!8 zPI>)0?b*TN7s5xo7oaw1+ACn8+)*C0f!S1}jb8L^KKX$?uG-+y{nuW5pGJ}h^P!#f zVU7-kZ2Te^GP6E0mh~^a?NgvF&<`QXhi`7$MWy#_HHR{sd_}NBs(g_w9O>X+tcV&JeBlc6a2pWA#g~G*RsMdZUIq@{CT*en^_&7u36; z-*9&R8@z6sbO{$FUPnvReKP#OyV%-c0KH%`k5*{RJWGB4b2y{D_WH7v<( z42?~G*XAcoAKaMQNl395f|NDYB5IFdn?}E%&a7OF3|vF9_m1p)5%nbE*7`|o$Eyhmc2L#r~;Z0d-t8!Nwl7WJ!yRmbhpy$db5sG5XCL?|Md8?=%+^~_*c001BWNkl^hiXzy7#@mo zR^+>G1V7EYzP=^bQN&|0>nn%1Xi9%znEfYn!&>(_Zg zZSpfO4xaVl!&Y}M>F$Hu0PD0%04v28At5b1P zCg;9S#w`*vOAYndOje)WE7QdokKTo`J~b9H`e0IyJGkv#Rb_{>8h3$eV%CotUyUVV3_`ZHbnpcIUe%tT|Jn(v&#Q--f?E4`^4`Cbzf+so@8PPi*HeF1RFn4yRZTbP4B3<7v2T!H zckk}#-DQ1HdNyjO?)&Rs(hHnA4E!4!1L@CDH!APsS`yuN%Dr=IJxc8O&Y<$3(upM^ zx<1iU3IFX%5ZQ+4MpE{qG|74+^9>gyiz}{uI_=OBB(Y8w+fU`b9daG>x4JWAoY&A< zPI2cifBDAKe&KdCJRrxV^0TK@QA`^$-H}a|u6kV#r0e;Id?ATlpWcV^PHL?^A733W z%~wca5OxuI5(*Y#rL)2~!+CjecF%L;_SN6idNM`>IIjh3jlLfH=pRt6UbI)SR*^4u z7e&=z1+0}sJ~xfK&qYml=*!Zk=|c3~r@T2~rowgX)@9U#T#iREd{7cWcRXI)ha&bkt=U|iH23~@s(K`v7gpdl zVe_nP`>CROz-JN@!-DMtYSva4gBQg+7lY(0#Gk2nhx))sR8H`f%sz!5mfVLJqrX0< z$0n-6{XuJ_W+&~GyH5o!>#wVFha_NB?HF}4@%&2aXf#shVC0Q^_2Hqh`-%L-hxbTN z1Fyt#P(Hd|Wa7vhmwm;wNG-y8XgL_%9DWQ@V^Qa`J2lly^5KJN6U%eoi;ZG3^R35h z_J->0v6cxticvrM;tl51q_3lQqI4sdRIYV6gft_(fmorTa1|Pl^ zDfx!3!MNZy-dTQ;m-XmOZ7eaHo!-ob@lt`OxK)p?wOfQT3Mbri4qA`y5Q`;;hT}&+F^w*~^&q`)*@xgwQNi z6W4oIFt9psIdc>_uNF*tag-BHk?+sP67xlDXzoT<_5*T?MJsH2scgFs{bab|cIpKafviu*IbZSvN2-?852+@zM1Iby=SD*5agr zZkX<5botnc)CJF^WoKZW(8A68i=%pSbRr9~~;%>XQxc`vcyP`rDi@ zzfCb47n)BM>(ikV?VaUTTup#QNl1X8!QFzpOXE&(Zvw$JxJ#qKt#NDoLxVIP+}+*X z-61$M!@R=$p1bM^?yXg;Zq+$^qj0wRnVaB(Zmrk|&CDqidE9DxP~Ok?s!E1)OPit! z?4o>zob2>=1v2*I;*3?Xi8rbr(fEHXM1zCC%XIf-#+rAYk^+a=7ca@fSuz$TxWqTO zs`;ggY!aO|iVta3E6urCQ82BXF3aLyD9;ASd36Kg0ZEY7Ae^?BPPHHN zO|8t8wI&^JpKfgqe>EHxE>JE|o4O)1ky_Wg`;dFJ*kGCnI#0TDx>eh-`9+zXh4=f; zfZK3M@~#xw^hOR^i@b0i1)hLmep(%QDd`;d@->c2n9bwj<7gZpo{sRn@)ApP#&Iydk?$^HHx~9>tlW$^ zJQs#w$DHi}0xfP9Z!5lWGqh;fvoKZL#Ge3l>Xw?;Oo>1}jkA0j#}_&)Ai#Wv64@JnS2W_b=SPzb1~NfB0;%)RoejIv00h_CWm# zr=P@T-!$l|9+eqog%A98*8398Tn46emAtF}Lsy$6w~leX!+(rq)@w=G*z$8+IMHex z`+|B6M?-t2c1O&dIa_c2OXJJKaBH9ydAJR}T5#>1f(x9i%?;!!wPI)ZM9H`YSjCa$+*)tq;^iwLpqhyQUE;Jw8b>VwHa! z@S#MDcGXGySq2O*Lix3cx5jVS5|o!X+*eNP;D&`+xBcr5`h{uE!oOkK$nAsE4`CE|-K(78-Axgd20jyPV{^zXr83ily+4i^*AFn=Q6lhUl zaxwc-JFn$c*zioEuT>O@klhS6?n{%+LFTmDAL!L|j#3|eogQC@Kt}E>q)LS+k3$z6 zm;HW9GZ1wo@!h3XJ1D3XCOq2w(dHR-1OH?}=!w_iWklJajuPLh+_i8!EPw#Pxy^qd z*+R8n&|fEH)hOHYUfGTt-SQ319xu<=?O1JP4)rifp`|j<8S;^2!uRAgmc<<=$29#M zgl;%n-j;t<&LUQ?IQY33ZO*fQTtw^F7KTp6ke^h;*|4Zzr9rR_##ZmgoE~1$ts3Dk z-CMTob4EPf*a~9xw}wv?q?zX&aj>rssjZZ@kA)np69Cp)&K=|=GmU=KY5C0h1!^_l z^o7spfx_RhuZjDa_mm>1E)8)-o>dP^ITfU-*%`aTx5B?LfTic$F<{J_k1@;<&1bI$YPTjU0al8^zm54L@CAW5z#m!zA|It#Lc@1Cz1ef*%^B`ksREWC~ zS684DgZLIQ><&svZnE&je1WL-o84Z6O%-?gPJwrVOoO?PF-y z#3#8{oQ+7%4zI8{53k>!9gY3eWZyiRRc3}VM}57ZC=))BDhq!lFL&gM(w)QO ztD!=mi|eOK0psLxW4azc_G4v7$L0S>`kRm0sXqfY$+R$6H+p$Vr?G>I)LAMHzVpmI%W% zc@WtId#55~5+<=*!0~-m-IuiFo~iUK9j*xzZ2d0*-#FT~mNv?!%{(2c0BE86c$w4% zTK8?hFx_Jr>4bGi8XwnRRz-Ys;lSi9u-YoRmO&fa@vgA$CPM(GbM0tsK1|j?V;* zz=bOd9>nRed9r(T_4@^x$D64*FkM4rG-|Jf@69y-(+MK7v#QNC$!ucN^tP{Bk z50Ml|^UeTqf4@Q><1|N1DT&~tH--IFUb*NdN(rOk`LRCBFM{I7Utdy}460Z-C4E1( z@vJBoGSW%pl^2uljRWAm@B}-M+1hF2VW^Di>0mD#&@pc-WAbK)5*rP5E$fbG^$~_{zavz5 z1o8_kL48ID~dwsp}7f8u&i=V!SBeG7lGPB7`4pWe9B%sO2^s+JrpI9In?~DL^b;?IUP3e z4N3Y)t&R`R9kMFq=G3tw%d_a2u`4x4+LxR2=eMtxv5lv$O8yR4g~|hqamqVZ#bbYz zee=~IyQ|KVjVu*T7#-brQ6n8w_I0=m{r|VlP>*tilZ==CAJVM$ZtO|AL41l z@9N8{^PJ<2ef<e_4$pV|2u0Nig(QT=Aa!Rnjd5d*-iV7u1NoaPOV9d6m z8pX&g`J;=IAOasT7-XEfdv0!Vy#=vYa+b5iy>Q+2yn{{Q@d9(?RnNwnR?92O_$N|? z@4_%!Hg*1!Q9bkdr%W5FsB_+}S5t@UVZjsHFzb-NZB;~o+Ts2|7loo_oJpmAeD^taWQp%l zWc}YD{8o>%zoKCqwWsc;0Y~`;hsCf_-Z73RRi{z$BG)tx;O7A66IEA=vDagREOk8% zx3$aB1dQ&?zZE_2-NjlQ+JDSG$Sqo|5cBI$igQ{?O|!ZY`H#XY6#9r+ECw`qtQvb1 z%ujc9hVF9nbt(NH(U>YlIb0JxaZ<{kMztIxr_RFzxNaz@7;Q0|8yh9Nq9^}R9G5b| z&`tiv6qbr`Lh^!`+u1P+km^J(V<9y+vj?cUE2>tS`}?kG)KtTR&fij?ovxH2@^Y8` zRFz&9zZC7}7q&+WlaF`7vFprb`I`$gG)oqlTZ3d0+HXFU5$5-$~CapsXko(P72 zxnGC2#%J?bW+mwf?WI=#0&{qSxA0bDH3rU1diBpkTC5hMGvo%!^Xv5V8+q5J9G9A% zcCvDdWIVksl7V9?wbEm`2A2rD&szruqk8E}m4?3Z66qh=s9dT`OBu}x!KDd0 zD~wQ0rp;lp9itj;upmNHk^4OKK5$NDE*`%j5DdQ%{demAKRvH5Pc41tdU+Z2vD@9M zK1c~yjJn6yh~^UU+L)7m${nC3-F=dJc3g%=RvD2OqWnSt#~#n05gYYK@f_JHDbRrk+Sy?6vq149_ zD>OQG0xf0+s=479%qqJBCqEi}Z5VkY6>h&(lM^7?hi&`Z*`4`)c`r@J7V2y|sTC(W zNwDm=tgaX9mI{>~_;=}E=-nRb6NWvBwjXUqaF*IOd*ORfepb&C)_stSIX$kUJ>bbb z-%WeJIHBrz)$q0)YSLSD9F20gP=Tes-H`L!_jz?T_&4qN4eVo>UC?xt)M%j^OV33c zwnufmJ)?|1KI#jl(7z4eq`<ih^FoJY$Dq$yH*O_+L9{e*F+=>E?fA1N}x>1?n8jqEn0qnxev zF{t+AQ4k>a^j(oiK9$#f0J@cH*Rp;Y)Zr_L)h+O~eDXNACOCZV(c&$ZKd*%hByvAE zk-l6*JW2G9(BR8EhksaJd8(?&H%01{t*T21sqCC1KH6Txxh3!vkNQ4o8y;gN1r5iP zss=Ffvd)!3c}}#}%++~cGifqYb@xrKoBCQ@>7skG^x7({~i* zv9j3#7!_~0mM6W}(o;zFh@m%({DKRG+c`hxiDhen%lXI81;Xz2LdVI#nM)d1M5@Gs&&AR4(kdPOol9f^lTxnRRo>a}9e z={hC8okN=Mrr-HaH^qtazEnx=HHJV9SFQR)1aG=4oe!tC3fITeWw9}Xm?8@8E+U^d zh|lvg9m7_v^nC9@s=cQ6Ko#ybUKEwo!zP=*?{!1YMpL6xQ9S4V>%>cO-`m|p$EKdo z;dmN?i*roZ#@h)W?8vZ#3c<3qdS3f7C?}_XN7UDJ9+A+aU6{^cJ$T(8_83I&{~Egb zXukH~?z>eL)uBJ$@ivf19F^S9HW4ufkMOd$7V-AHT^z;4CL&@Ft_-?2z4m`O+a~Yu zmt=BYHej0EC;>) z)x@aFki1N1v|-ah;pN%?I}CP^c<|J3*iPqe^J%7|6$7^LW^+li_4>H`?9JBaE&eP= z=YZ71g!g(PbI`zjUH* zQl_ZDuI&$l^Rsrs7n(Kvk&%*d05SKO_1N!AENDlaYmj}GA+Dz`)*zn7=O)Xaji&=-FRKc zVo)g8unu>|h{K6?Ad1RLes!TMXpMB~@_$+=baMyH9*~a76&$5{JnTJ7mmh{aT&nnt z8n)AjzG0cMXyzAh$ejcz3aGH3!7_T|{+2rT3466WZMg z#8*ao=U&->0~vC{X)imm5|l}Oy8ehgm+&GLo1(D2F10B0J`XhYpz57|+Z`*@|7abE zYaU-IvzG!pM!*CfO^DhAZ~x$7zzBX&3`R;ujAZ7>L)iWH!Kwei-aT*S$BREV7;np{ zZHc=_z5+n|zc}?JD51_KPH{btFn&;b4*eFhRdmqZ7{LGaJJ|*smgjQx2wKMYbaYOK z|K-`o20j+TM32>MDbjb;+OESwA`xE*IZFz$AzhKY5dSP0i7ea0!)uV-Zy>2>X&psxDbGR+zX@Q}By+M|=+5)0$ zeO2d)w{NfhpM5Klo*H7wm1?WYq{2UJHLICH%ZYZ4tZZKuD5mYE$z&cImX8q!w{%E@En#&()6x#9g5$ zQ`%LJj>^L$%-2=OHz@nQ5$!x6cGB^#v-q9j4FB;TA;U&Iy^V*CHvIa^!n~NV8GPl> z%7brr3htsViho96#eCG$J|n8SmR0#Sz;%(V$W^Z()EcLo=(`5SdS+-D!u-hOsfC+; zz0*%@Y(XDwT1j4u=s?x_#E^+9_z*V}<$76h6h*Do*+sCWn^~*nX^EtHsbbx2fyF?N zEe=l=Cz>FN0`9WDqn2?^sd_o<3MWn3Il~bRnIXM02z@mAl1;0LpkB5K#FX~k#o6yH zDUVpw)}&d(9{RN0QAUZzR8>4%n8YX$WMEHMi(ZIZQrt>b1FQO+aN6AoP&KFd$YorZqbjE@VkSrA~BL+L7=|M8FC{G)-K zx>tJD5@JxkO-XlKVEy&D=b-5(e@|&uUk#0nyT8XcXDYZ>O!p>Q>mCRgY<|!K9=0nn zXb*_{xMq+sfxfb)v_^{V>}%>J)QsvY#2ITfmvOP6kVo@3Uk;O?32?^OB1Ju^(KP&Y z+im1VW}dIFx32>LAEwhU_FTkDQbHZedhaSF)bV=%BP)j#eo)c^mc-;Cav&^;`}*`U zbq-yN%QKE801}C3S`i7Ifv}FVET!T)ko(-i^7EU}!TNLioEB}?BwC>I3sG^96gx6P zVC4A6!0G3^KznJQrxObqQ%zDkVWu(O;ko|>5p(s^ zC|eWkFFIZa{`V;}SkU>?6>bQkUR{^Zf{ZFZ4cR1;BK#f#IzDH7GEWipHuk*u$!E`$ z&=UD(rH}%+edx4|o+bMw(gW*_Foyi{@9Hl0!Zb`K=KDzT?#yO^OEbiAe*RInT&LgP z5LHe;2KJYI#GawGgRJt#JQ5ja2=Uq@G-VO6k_3fsC9m2J&(13bpb7B9kCXi5cRCb6 zA4Xcx7bp)4rzDKVCJgq>m9%k;r=mJCPM7?h7ULqBS^4#V7$L{V-Z^J4u-bU1m^zRS z6LD298P~nMf9{W?q_Y`1zFJRyn(~eXk4k3^EB*UQd-w}LG?W(ogJ_?{0wm_XZ)z3@ z-ZknMkwnd?f)rpt_Wp52yFLvR!K4e8OLqYlT2h?d_W4BDOmJ`{rE*f@nx%OP$Vq@3 zuIVp-TzFJd;rY_|0$r^JQ@_TSK&>u#j9Lr$h{cC(0^5`W8>+#ZV#?W;hPk8dhB!Tp zzQvpmt-}QL`Rc3~97VyuncTUeLrP~YXq$z}`3vQ?ke7p(q(--|Wa^dHl9^{DNNniZ2Nm{}a^ zP$?R&gRrG_0H#vS*cP)Obd@k58<(RlyS>Y`WqF|56s?S}^)(a&fg?s5Z^J9aNp+TUGc)ziaw&fyrLgonxn112Ff*^V;n$B0G( z8sCF{_XjwB*xy~oAyTS^bS+bfVg=&cP6g&tq@fm%*(JizU zJMbc$?At6}UqdxBhl7pjcml)+wmgCn&fhH;&Ro|YdJuXMjN*_8a^#mqYhRizklePy z+vdqFH-lrpaH%EoAQ5No3{4nGFqpKchYJ<`5>M~Fze9w=My z^kS2SkXOr-PsLNrIL4itqvIg#p$a$+N!F+`HnP!gXTCd@3}J z#H+^`13I;|*%|o7;NC&5x_J3}NA_g%#@kwG{nnS{o-Q6GMnJNQiuN=uI3v6cljPF| z5;uXzbbUtFO!=sdD*DCvb>R2|##AvFV6bCmMry|uDN8=`1RBTVB?udxhSVi&-<(>M z(EfC$q%sF*WK7q%2ilephh+ASpiMA>uPwA0gVBX@zV6_$W)2_YV%p#00F!{49h1`# zkM;4Ck7-{<0WKcEuYmZ7c5?GnL-b$y`zZ#YBbVw-jhNzo+o76Yd@%{xAN1CVOJq=w zTM=UaNZxoQ>@PNc;Eq;Y?+!NJM!pR0q9)v59da>ydEnoLhnVgl&ERcr6$)e=Ih$MJ7>) zKnxB}cmVd9cREYBYl`}gtO_U!T z|DfF`8BW}EBF5_68GTlPr25u`%l#Yl;FrY5iL;Czw~a=ksX#w6Uv~B4?XrX zL~sFVWS%lbChrNq!eY6fd9}yW@Tx>o(<F}0VL?9-v=c<|zyWCu4xTg~mYphN1JVD2cK|>@H5<^)%`E6>{yd?nNljC@Gx&z)z zzCYE0A4SpYhR_i__942U8bQHCr;kKx4bmBa0ZqbxV)g}(e)d)`%~=GaY(l>r1vwfm zi@=0q=GzjTLHJGh|O&3e=^PEK^GC0Rl(A3vTQ@?yny)w3|;#EZ$?5wvt z^2vRn-DP%akI@uHZ(JIqCrs%`WUS~L-V-L_SLxbfH*iK$D*CJVju9id6mL8@I2u*G zRT+Lq#cmYXrs3=aI|Z_563PZv0}$xCRTg=tS2Rb)^i@fLzkg@FyL!?nFcudZqfvMZ zhfdjzYdd-ClUCrvXHMXZlZRa26PUJiwnfQm0{4H)K6_HEa6uvIXo*KWzi{aSpBg<; zSl7S0s9b=M7h`bz3&t?A6Qj^F0F7fLa2Ox{P?5=^yBH!C=^Nb(_Pcj~BRI(AXIo{( zkG2cKfFCMb`lC4uM=nc{ZOdir0l$FJg+U$?o2}f5;RCx-6OX6!gRNov_;2%vgbDVn ztx?N}5oy|bnbXaXpQ4YGTEZE=E)z=$ZH;{*TPIuO{?Hy^+U=(5sL0gjHwz6?&$ERK z)d66e@u(gxDn-pvkbvpkC|Fclfg{nHX;O`V0-_1$#6<>{m4~65nRN$ffLA5*vL}SU-9l5({A}Esrjm8f2;k7QQK}3 zDbMr)UFEZbz#}A*)q1|^b5D4RaoJ2Hp;lx)HbmC*OpB*O99lj{L8m1;w)(Aezf0sE zDn1f+NQ8%nEc%umcC2Ujhb!yuMxpI<^r|!TbFcc&lBO?LofaROJk9SOibxwzM-yqX zMjX!iLh|u+dP*zD0WPKi;z1-->{k4ZH#mD4#w)y&hyzBU*t&2|vfJo2e+0-cLz--O zc!u#xj{gI}>l!bZ)R%KTm-P!H7NI-~Rh=P9AUFk?Zm$QRu(^`gWa!wZ&p-*8lbkA{ zF+*Bj7Hi9&_A{>-ZB1@VYW`#p%f^vFn#Ec_-a$BMFu4U*#jGl*pP;zk3s5amo6#zz zW|(%l95Qdtgn}P&E#lE${(jC|D$JhJblAT^H}Vf&`@F_yOSD*Je0lw);o@nyPcCTM zGy(lFpvm{s3i;7LIjjpiJo9( zl!@Vze!Wj(5So<0#n!_RN~vEa5OhQw>$(8P1`k8N)Rv7ACqZa)vd!2zzx}*Y|7S1m z?qu@rXf@97q`~K8;-%LAD*r9i=XK?<^5|Yg;1Wr`(Y9*@K6jBlHoyg80uqPf(5C-o z07n_{Et9yOF|#n}E|YFU6fG`sC1OG^oa@tOdi9rh@x`#p47s^5O~c^9UmvRfzUt`= zeR7<|g@jlAbd?Idy}G+e$)C6$=L!eq$&Gj|r`^Ci4T&hE|8$la%bsQFZ@ae5%Y-u3 zuoBmUuA?=}rVisu)ahMre-iR5bVHr3foZ=u(FRX)^`Et13_9Ydn?la26V6v`8GoFG z-LnO*L`53EZKIJ@3a&SMe+GBGH#^NBFoT| z$@sg?taa2>;_INvvV)I)H5VYCL8GgPydzUN zl*s3!f0^N_kcv5PRdSj@f6G8Qol|ORl}DO(FDZg$Cpj@tmc`f22Te4aW@8SVejBY# ze3)UzU2P=fg%baiuPfu@zvh*NXT1-tHplIB;G=$%B1_2j&WZQc^9U0>#NRqMrif|b zCTr(^X&oSdH}z}}+hgEA32Q_p6WsZhc^|`1S06P^={>^d7P|8xl{qnH0DKJjbk4@l zdLd@n>C^Mt-oti;4KQXutAguBTN++ATD-<1_HIt_Y+n3+n^}3!=)6C!?>32RFne_gESTkXe&&I>HVH`p0%1U>hp$&0iLusNmW%qNhp zgC6EYBe6U9_8(bfNp>NN5?{}8wkAQ8e4YK+`~TAWilu>#A;eJ4r2yN9gY7KCdQt|} zxQYf&;3!(?;8vx1=SyDhI8q}i&tTjzz3(U+Q$q)s1=2tmevr_ymVOnNZ0fSc%qa8C z{{nSV_iD##+O9z!=QVw=nlo>db|nEMo~%K+nm0Go&+N_ZY#DyU z@@8pO3Ub7--i#kew;zC68ySV!2CZNLJ^@9NJaRY%vyT2E_yViG|;2q3t$~ef3TKLbTkAS5^sz6tjty#Qu zMqal{R)^A@L|PH3O5x;;IO>?$`Fs$}Yb5k_gZ&#{e8!a(K#b#=fL!qFoJ&srgViK) zwdg=sYFVS%$vmp`eAsmk+m?K!<8@r}Q0I|OV|IBhIm7AQgK|Iy%Pu zn2q}#wN5tSO-v!2GL9?N7ldjT+z=;yA4A^w(xgUFe}>G>b7wmrPvI&wBLkIH1y6lp zS~Do+$8NCOztIfDWQ(yI&+izrqGdkG`Ow@K)YT-JW(oVj<=h6=N$S84(GhFq-$=O- zXrY|L|0(i_MVL{*$)>@r)E4>r-jC=lmYNI=8-5%~3Pm{dD`Z`G&ar5*AvHp}KZ?<_ z8Pl;^f-a_NQpZq6zef8gf~&LcJ#yY=@8T{=J5D@aX8#v({p9Tjvy5ds5q`VdwE1la zeX#Uar}zjMK)(oxyG8T#w&0vm|_1 zyTle9MB({pdZFz>*$cvX!3;Vw-ONXS&z$KF^e*}oio3bd(EQ#i4Gvh)eW@%=LKKFGK6eX>iM8Y6rrZ~5X=QxdU zYSo7qPNNwR#~5$a9A(+yW;=+}%u!R>sW2ltST1e;IbF<7eMFKPlK?%2mCMwa^yO9R zk#!`0w#?M~QUk?SWO>NsTHxbqjdS*9@VGXU8L5J{mOw3D#?W6tR-h{i(XzOQRi?(a z1XQ7){f3x{k(neDo~JkN@*~DA2h-mL?oYMIB9Y~y7_WY4sk;(`rFEWm9R`vhT=Lx+ zb;o*GDvCPkdIH8L2Nn(GBm-*19UY5NwU+e;Y}KiMnckY%w^AsVJb}#JmO_HciikY( z#IkcJ$~Q`s`?JeSg$Esp6NtZYs;Z>WH0{H2MF|vWtlVH(U)@>Uq|xHchImN1s=+`t zr$Zg8VImt51qQO#weRz^?k*E7)qRYx%YDorKLhOX2!}OURt4}V+1Ij1CRhuS;)?Ql zfq$h%?2b@*H(oi5%e$q(lVwubsYtyc0+md zv8=3y9LOB6T}XTmrUnGxkl|p*82)S>ZxgUM*v4}f4C}^J^ls@!d}l z>mbrB7(@3x4BjP55>JDhE1^Ds2&+LzS5Ig9FG&V{kncxYWB9*cIKGMp!2h?DK)T0{ z@U2L;cd!|-HW;tYuTzk#aYVl*)yPih#QDr4-e4R$VjwFn^{H?W7y=jt|7Lbw1_xnU zGMIS$&bF-h%^(%eK78z!d|pD9%H!K>DJr+7T+0SaF8{aOxCgnyCim!_-mc*-8~%@B zt4AQj39Z+rQVdaE+c^P$vR;95O#=X6Vb=s_eorFhG%77Wg@4@~t;tf>8!)i^}mqJ8>( z%XCt!gY|FK(<<=b#gL43q$Yy~{C!HHgjs{`tc9 zwvv3{IR{td_r5I0LGppq{t1P>J;{l0BtSu_k$P7Po#`j^XE0j%Cq=i1g6WFVeVF}( zbfjcWsT$1d(M6>M;U-+kPIGzEkS~AJ^~PT<|7Rzvi4XQ8DzD_N?GA5_(ET zK0~rO7uh-V1j3e-53=N{<-(LmQAzE4E$Ru6;;Q;0$}5aV<(l}&Al&(htN-~xqxXC3 z%b%kDHqR6=YA>@~V7QF4_*+im(3&%*rD<%3r|B|5Lcji$W(C=8|F?-mtVQSeO{qoF zS>~bk6cLz(ooM#125;jk(=VhNR3m8Nsq<|4^(8XHVx%#z20W}sUe0_?Q!%1sASRWy zcP5 z|1E?9cM@}Z8J0Rd!4ilxYBjoHFHa*sB&i4kVCDh2!dQ3ev2vWiMDagY@qP8bUwdoue{=9T zXt{u$;#Vx(cii%eij6Yu3w<>|9BFn7{f6-?zO4mSbNA*yH_|nG$pz2&>Rg}9kBFR{ zPEx|kH8^Taj`K&coL*=Cfmb-jfxO8Yo>HpeED-r(`lkGB(w_{2C*VA}A7Y~ui5h@K zvy&0(gg+9-UYK~%0vsIWaeeV!YLA}*UuJlD$y38T*c^O!MBnoLpPpe`2ZKw*>Noyl z7_Ux*8wlGU#~%$*uTWMmhK$J`RNv0DgJU7-pd2nqyUKvR(W~#)v<~S-;Qfc)5 z*A30fDow5a;40my?yblmpQJ@Qj%>lKxp!F2TT2vym+VIUDLF%Zck|G=X=Il(KGe-Z z)9eEq{^`HXf3w2@ypo}D%#t`d9jK^gqpiq9g-;dhrEz*1|6v;c9{r{Ju^>}s3_1A+ z17aEtx20m4wCFoE#8*=_Jq=NetAdGil>o`uS{IGY@|7i#0(#!5;lwnoMRNgFARHU~ zN|*-7)aqM$AECzXvie1H8H zlbkp5M?piFR>$S}#B27zAHELCZK+-m_(R%s45N%J!P;Dc5pfsz~VJep}TuCFZ=j+`1OF6ZoEbWuM-1 zcZR+JvwIiaIXtlldE?rp7g_l&P4g8P()t`l`3C@kdXk#1mrhtUtP~#NJW`k)9F?k5 zyW~D)D|uQM30v^W)h@OpNK~1Or+!oBi|@1ZYw(f-fk*xE=TvlFi)s};wM0i|Fhxw4 ziwA>fzBC`OD;x(ZVb*%V6IvS6ROiqz%T0*^z(F)BGDALvDIUvBIEq~b1Q1!B4mjcZaihsFfj*}0qZ^~NsOFo* z;Pm*B$Pu0XH^=p(#wVOWVy6!6Ua$VuAcH3rUu+S9jA4oTT1K+688v}~_&-6x- z2qIt;&J(RUCe!@=SLa{&RWT9qJGDrq{gjC>OpcC#7{~XvFk8;Zy-PNOPqpHJ)F-EG zY*X9CdKSAz*T7rUHckF?!o#~foV2z-cD4`Q`0d3892rGc?;q{|$N&8e80y04uDCc% U66jpD;ocuPX=SMj38TRO0Sh8cr2qf` diff --git a/res/upper-left.png b/res/upper-left.png index d2f5f34992b10fddb8c4cd5776c8ce5b2c31b98c..9503495e8bca3bbe54b76116fead37ba799e72cb 100644 GIT binary patch delta 440 zcmV;p0Z0Dl1MvePiBL{Q4GJ0x0000DNk~Le0000A0000E2nGNE02ZT-tC21o9t#ry z01FcV0GgZ_00007bV*G`2iyh>6Cx8)(k45RXe@tKNklYzOtWh@-`BE! z%G{6&Xad3%1c)R??<}o+R+L1bNRTjKCopWVl4uq7%kCZuse+Z@053>@2APw3I2?W| z;`dC00wZu@2i62{n4s3OoK&71io}M*C_31r0|8M&KS~JOSOx=tyW9h($0drDE zLIAGL9O;oE93CFR0017s0dCNBJ^%m!2XskIMF-mk763XLmeicAky|W(K1oDDR4C7d z&OK8TVHkzs`#k$5n_V!*q2zB^S@>7^2MiSrqn##}%pi7rH3*sk21v5|emoR3;26E? zGxr?5|MBB;O+LL*HBkZ`I?gN;mjn>C9*Y5Lyn0`&~DY)MmEQp zdGS4*FOq%&5x^=*sf%hi8>*)2ODbnLpCnCR4gu``ap_{{!*-Cp_zmd0<43?RAn}4d zES9_(PtcGa_j8GFl1_mR@K<9~&}f_s&W$_Azz^USDEz@F0axx-fpgFd_-hrwM)f%2 zx_0*?iQ{!u0GqrEmu5`eIRH-9RROF|cl#2%dcH6RGHV2(9nb|Tb5P_Tf|(8-5-9T@ YPvQ2YH`>m&x&QzG07*qoM6N<$f}5qcuK)l5 diff --git a/res/upper-right.png b/res/upper-right.png index 49b68cbd25bc385fd238c257bca47ab7be449779..1f7c1d3f40f9899aa2084ef06ecb5257dcec6a81 100644 GIT binary patch delta 469 zcmV;`0V@8e1B?VAiBL{Q4GJ0x0000DNk~Le0000C0000C2nGNE09JKe=aDWP9t#ry z01FcV0GgZ_00007bV*G`2iyh>6Db5S^?EmvXe)mKa7jc#R4C6i&oOROK@>*e^WQu3 z{2YgZCO~9~f`$%Sq^yEXuoo791iPS22L*I=RCFLJB!m=VJDz!SFGa!vj`STpd3yH6 z#`^g(u+`f0baR5)q@IzHNrb6NIk~Yc$hX`3@4V`5a{Sf%?pbebGvcVpg$YbeB8dpR zAU}V9^q5lFot)OswUjqw#MSP4e-Xo~37H4QUEmrS`1$q$GB8aLrI%7Z&8w65Bl^W| z|NE?#S;jg8Co*J8AScE$0W)qZO7*Yvy1ZCT>yLl0547GO8>Ws$iWp)H03*`?QGK(& zw|V%|efoarS6~CBV;Mna2aZHGG6%{3Sbu-k^ZbfTmN9TI7zU6i9n#25NFyRh8pU;4 ztX|&i8l!`u21>967$9yVKr+CoWqvIaeRM2=G$WLx0$~V|>0~%$#mn?TZa>?&!Q5|E z3WIRKKmk6$k61Y%TIN{38Hp(iLI}Sj#NDv7*aBrRERgvRQ}7S7XS^a4wtgM}000R9 LNkvXXu0mjfh($0drDE zLIAGL9O;oE93CFR0017s0dCNBJ^%m!2XskIMF-mk76AkaQf;g_ky|T&0RKruK~yNu z)r{Rr0#Ou3zwhkv%p8wcDd8XV21!Li&(K@+@|r=0A*}ID(5X1Y{^;(Owr@K5Q zo$jl{i*tN_U+>3N-L$%$2y1FoyAs_P(T))^7+!;9%6+CjlWx0c^+J(_%_d2sijWJM zLybla@;ZOB(PU7m+J~Bdm6v||z_tXV zh+G0DC-PAMt^j-jNF>+986IZSmYMZQ-jKXFD+9p& // For memset, etc. //#include "jaguar.h" // For GET32/SET32 macros -#include "m68k.h" +//#include "m68k.h" //??? //#include "memory.h" #include "cdintf.h" // System agnostic CD interface functions #include "log.h" diff --git a/src/dac.cpp b/src/dac.cpp index d005518..6f9b5a8 100644 --- a/src/dac.cpp +++ b/src/dac.cpp @@ -53,7 +53,7 @@ #include "jerry.h" #include "jaguar.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" //#include "memory.h" #include "settings.h" diff --git a/src/dsp.cpp b/src/dsp.cpp index 4704aa3..ee1cdb7 100644 --- a/src/dsp.cpp +++ b/src/dsp.cpp @@ -25,7 +25,7 @@ #include "jaguar.h" #include "jerry.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" //#include "memory.h" diff --git a/src/file.cpp b/src/file.cpp index 691f3a2..5674abf 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -11,6 +11,7 @@ // --- ---------- ------------------------------------------------------------- // JLH 01/16/2010 Created this log ;-) // JLH 02/28/2010 Added functions to look inside .ZIP files and handle contents +// JLH 06/01/2012 Added function to check ZIP file CRCs against file DB // #include "file.h" @@ -18,6 +19,7 @@ #include #include #include "crc32.h" +#include "filedb.h" #include "eeprom.h" #include "jaguar.h" #include "log.h" @@ -102,6 +104,7 @@ uint32 JaguarLoadROM(uint8 * &rom, char * path) return romSize; } + // // Jaguar file loading // We do a more intelligent file analysis here instead of relying on (possible false) @@ -243,6 +246,7 @@ bool JaguarLoadFile(char * path) return false; } + // // "Alpine" file loading // Since the developers were coming after us with torches and pitchforks, we decided to @@ -281,6 +285,7 @@ bool AlpineLoadFile(char * path) return true; } + // // Get the length of a (possibly) gzipped file // @@ -307,16 +312,17 @@ static int gzfilelength(gzFile gd) return length; } + // // Compare extension to passed in filename. If equal, return true; otherwise false. // -static bool CheckExtension(const char * filename, const char * ext) +static bool CheckExtension(const uint8 * filename, const char * ext) { // Sanity checking... if ((filename == NULL) || (ext == NULL)) return false; - const char * filenameExt = strrchr(filename, '.'); // Get the file's extension (if any) + const char * filenameExt = strrchr((const char *)filename, '.'); // Get the file's extension (if any) if (filenameExt == NULL) return false; @@ -324,6 +330,7 @@ static bool CheckExtension(const char * filename, const char * ext) return (strcasecmp(filenameExt, ext) == 0 ? true : false); } + // // Get file from .ZIP // Returns the size of the file inside the .ZIP file that we're looking at @@ -336,7 +343,8 @@ uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer) // size of the Jaguar console. #warning "!!! FIX !!! Should have sanity checking for ROM size to prevent buffer overflow!" const char ftStrings[5][32] = { "Software", "EEPROM", "Label", "Box Art", "Controller Overlay" }; - ZIP * zip = openzip(0, 0, zipFile); +// ZIP * zip = openzip(0, 0, zipFile); + FILE * zip = fopen(zipFile, "rb"); if (zip == NULL) { @@ -344,39 +352,44 @@ uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer) return 0; } - zipent * ze; +// zipent * ze; + ZipFileEntry ze; bool found = false; // The order is here is important: If the file is found, we need to short-circuit the // readzip() call because otherwise, 'ze' will be pointing to the wrong file! - while (!found && readzip(zip)) +// while (!found && readzip(zip)) + while (!found && GetZIPHeader(zip, ze)) { - ze = &zip->ent; +// ze = &zip->ent; // Here we simply rely on the file extension to tell the truth, but we know // that extensions lie like sons-a-bitches. So this is naive, we need to do // something a little more robust to keep bad things from happening here. #warning "!!! Checking for image by extension can be fooled !!!" - if ((type == FT_LABEL) && (CheckExtension(ze->name, ".png") || CheckExtension(ze->name, ".jpg") || CheckExtension(ze->name, ".gif"))) + if ((type == FT_LABEL) && (CheckExtension(ze.filename, ".png") || CheckExtension(ze.filename, ".jpg") || CheckExtension(ze.filename, ".gif"))) { found = true; - WriteLog("FILE: Found image file '%s'.\n", ze->name); + WriteLog("FILE: Found image file '%s'.\n", ze.filename); } - if ((type == FT_SOFTWARE) && (CheckExtension(ze->name, ".j64") - || CheckExtension(ze->name, ".rom") || CheckExtension(ze->name, ".abs") - || CheckExtension(ze->name, ".cof") || CheckExtension(ze->name, ".coff") - || CheckExtension(ze->name, ".jag"))) + if ((type == FT_SOFTWARE) && (CheckExtension(ze.filename, ".j64") + || CheckExtension(ze.filename, ".rom") || CheckExtension(ze.filename, ".abs") + || CheckExtension(ze.filename, ".cof") || CheckExtension(ze.filename, ".coff") + || CheckExtension(ze.filename, ".jag"))) { found = true; - WriteLog("FILE: Found software file '%s'.\n", ze->name); + WriteLog("FILE: Found software file '%s'.\n", ze.filename); } - if ((type == FT_EEPROM) && (CheckExtension(ze->name, ".eep") || CheckExtension(ze->name, ".eeprom"))) + if ((type == FT_EEPROM) && (CheckExtension(ze.filename, ".eep") || CheckExtension(ze.filename, ".eeprom"))) { found = true; - WriteLog("FILE: Found EEPROM file '%s'.\n", ze->name); + WriteLog("FILE: Found EEPROM file '%s'.\n", ze.filename); } + + if (!found) + fseek(zip, ze.compressedSize, SEEK_CUR); } uint32 fileSize = 0; @@ -385,11 +398,13 @@ uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer) { WriteLog("FILE: Uncompressing..."); // Insert file size sanity check here... - buffer = new uint8[ze->uncompressed_size]; + buffer = new uint8[ze.uncompressedSize]; - if (readuncompresszip(zip, ze, (char *)buffer) == 0) +// if (readuncompresszip(zip, ze.compressedSize, buffer) == 0) +// if (UncompressFileFromZIP(zip, ze.compressedSize, buffer) == 0) + if (UncompressFileFromZIP(zip, ze, buffer) == 0) { - fileSize = ze->uncompressed_size; + fileSize = ze.uncompressedSize; WriteLog("success! (%u bytes)\n", fileSize); } else @@ -403,10 +418,79 @@ uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer) // Didn't find what we're looking for... WriteLog("FILE: Failed to find file of type %s...\n", ftStrings[type]); - closezip(zip); +// closezip(zip); + fclose(zip); return fileSize; } + +uint32_t GetFileDBIdentityFromZIP(const char * zipFile) +{ + FILE * zip = fopen(zipFile, "rb"); + + if (zip == NULL) + { + WriteLog("FILE: Could not open file '%s'!\n", zipFile); + return 0; + } + + ZipFileEntry ze; + + // Loop through all files in the zip file under consideration + while (GetZIPHeader(zip, ze)) + { + // & loop through all known CRC32s in our file DB to see if it's there! + uint32_t index = 0; + + while (romList[index].crc32 != 0xFFFFFF) + { + if (romList[index].crc32 == ze.crc32) + { + fclose(zip); + return index; + } + + index++; + } + + // We didn't find it, so skip the compressed data... + fseek(zip, ze.compressedSize, SEEK_CUR); + } + + fclose(zip); + return -1; +} + + +bool FindFileInZIPWithCRC32(const char * zipFile, uint32 crc) +{ + FILE * zip = fopen(zipFile, "rb"); + + if (zip == NULL) + { + WriteLog("FILE: Could not open file '%s'!\n", zipFile); + return 0; + } + + ZipFileEntry ze; + + // Loop through all files in the zip file under consideration + while (GetZIPHeader(zip, ze)) + { + if (ze.crc32 == crc) + { + fclose(zip); + return true; + } + + fseek(zip, ze.compressedSize, SEEK_CUR); + } + + fclose(zip); + return false; +} + + // // Parse the file type based upon file size and/or headers. // diff --git a/src/file.h b/src/file.h index b9855bc..0bb4e6e 100644 --- a/src/file.h +++ b/src/file.h @@ -21,6 +21,8 @@ uint32 JaguarLoadROM(uint8 * &rom, char * path); bool JaguarLoadFile(char * path); bool AlpineLoadFile(char * path); uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer); +uint32_t GetFileDBIdentityFromZIP(const char * zipFile); +bool FindFileInZIPWithCRC32(const char * zipFile, uint32 crc); uint32 ParseFileType(uint8_t * buffer, uint32 size); bool HasUniversalHeader(uint8 * rom, uint32 romSize); diff --git a/src/gpu.cpp b/src/gpu.cpp index 1d7afa7..e1fdd41 100644 --- a/src/gpu.cpp +++ b/src/gpu.cpp @@ -32,7 +32,7 @@ #include "jagdasm.h" #include "jaguar.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" //#include "memory.h" #include "tom.h" diff --git a/src/gui/app.cpp b/src/gui/app.cpp index 10df86c..220275a 100644 --- a/src/gui/app.cpp +++ b/src/gui/app.cpp @@ -45,6 +45,17 @@ QString filename; // Here's the main application loop--short and simple... int main(int argc, char * argv[]) { + // Win32 console redirection, because MS and their band of super geniuses decided + // that nobody would ever launch an app from the command line. :-P + // And, of course, this doesn't work, but causes weird problems. Yay Microsoft. :-/ +#ifdef __GCCWIN32__ +#if 0 + FILE * ctt = fopen("CON", "w"); + freopen("CON", "w", stdout); + freopen("CON", "w", stderr); +#endif +#endif + // Normally, this would be read in from the settings module... :-P vjs.hardwareTypeAlpine = false; // This is stuff we pass into the mainWindow... @@ -52,7 +63,14 @@ int main(int argc, char * argv[]) // Check for options that must be in place be constructing the App object if (!ParseCommandLine(argc, argv)) + { +#ifdef __GCCWIN32__ +#if 0 + fclose(ctt); +#endif +#endif return 0; + } Q_INIT_RESOURCE(virtualjaguar); // This must the same name as the exe filename //or is it the .qrc filename??? @@ -86,6 +104,11 @@ int main(int argc, char * argv[]) SDL_Quit(); } +#ifdef __GCCWIN32__ +#if 0 + fclose(ctt); +#endif +#endif LogDone(); // Close logfile return retVal; } @@ -123,8 +146,8 @@ bool ParseCommandLine(int argc, char * argv[]) printf( "Virtual Jaguar " VJ_RELEASE_VERSION " (" VJ_RELEASE_SUBVERSION ")\n" "Based upon Virtual Jaguar core v1.0.0 by David Raingeard.\n" - "Written by Niels Wagenaar (Linux/WIN32), Carwin Jones (BeOS),\n" - "James Hammons (Linux/WIN32) and Adam Green (MacOS)\n" + "Written by James Hammons (Linux/WIN32), Niels Wagenaar (Linux/WIN32),\n" + "Carwin Jones (BeOS), and Adam Green (MacOS)\n" "Contact: http://sdlemu.ngemu.com/ | sdlemu@ngemu.com\n" "\n" "Usage:\n" @@ -169,7 +192,7 @@ bool ParseCommandLine(int argc, char * argv[]) vjs.hardwareTypeAlpine = true; } - if (strcmp(argv[i], "--please-dont-kill-my-computer") == 0) + if ((strcmp(argv[i], "--please-dont-kill-my-computer") == 0) || (strcmp(argv[i], "-z") == 0)) { noUntunedTankPlease = true; } @@ -199,6 +222,8 @@ bool ParseCommandLine(int argc, char * argv[]) // // This is to override settings loaded from the config file. // Note that settings set here will become the new defaults! +// (Not any more: Settings are only saved if the config dialog was OKed, or +// the toolbar buttons were pressed.) // void ParseOptions(int argc, char * argv[]) { diff --git a/src/gui/controllerwidget.cpp b/src/gui/controllerwidget.cpp index bbdafa2..25fb8b1 100644 --- a/src/gui/controllerwidget.cpp +++ b/src/gui/controllerwidget.cpp @@ -43,11 +43,11 @@ char ControllerWidget::keyName2[64][16] = { // This is hard-coded crap. It's crap-tastic! // These are the positions to draw the button names at, ordered by the BUTTON_* sequence // found in joystick.h. -int ControllerWidget::buttonPos[21][2] = { { 86, 59 }, { 86, 94 }, { 68, 76 }, { 108, 76 }, - { 125, 223 }, { 125, 200 }, { 125, 177 }, { 125, 153 }, - { 160, 223 }, { 160, 200 }, { 160, 177 }, { 160, 153 }, - { 196, 223 }, { 196, 200 }, { 196, 177 }, { 196, 153 }, - { 242, 60 }, { 224, 80 }, { 207, 104 }, { 164, 101 }, { 141, 108+13 } +int ControllerWidget::buttonPos[21][2] = { { 74, 32 }, { 71, 67 }, { 53, 49 }, { 93, 49 }, + { 110, 200 }, { 110, 175 }, { 110, 151 }, { 110, 126 }, + { 148, 200 }, { 148, 175 }, { 148, 151 }, { 148, 126 }, + { 186, 200 }, { 186, 175 }, { 186, 151 }, { 186, 126 }, + { 234, 31 }, { 216, 51 }, { 199, 71 }, { 164-11, 101-30 }, { 141-11, 108+13-30 } }; ControllerWidget::ControllerWidget(QWidget * parent/*= 0*/): QWidget(parent), @@ -94,13 +94,13 @@ void ControllerWidget::paintEvent(QPaintEvent * /*event*/) blackPen.setWidth(4); QPen colorPen(QColor(48, 255, 255, 255)); colorPen.setWidth(2); - QLine line(QPoint(141, 100), QPoint(141, 108+5)); + QLine line(QPoint(141-11, 100-30), QPoint(141-11, 108+5-30)); painter.setPen(blackPen); painter.drawLine(line); blackPen.setWidth(1); painter.setPen(blackPen); - painter.drawEllipse(QPoint(141, 100), 4, 4); + painter.drawEllipse(QPoint(141-11, 100-30), 4, 4); painter.setPen(colorPen); painter.drawLine(line); diff --git a/src/gui/filepicker.cpp b/src/gui/filepicker.cpp index 06c3a3d..ea987b5 100644 --- a/src/gui/filepicker.cpp +++ b/src/gui/filepicker.cpp @@ -85,24 +85,24 @@ printf("VSB size: %u, %u\n", sbSize3.width(), sbSize3.height()); #else // This sets it to the "too large size" as the minimum! QScrollBar * vsb = new QScrollBar(Qt::Vertical, this); - int sbWidth = vsb->size().width(); +// int sbWidth = vsb->size().width(); // printf("VSB size width: %u\n", sbWidth); int sbWidth2 = vsb->sizeHint().width(); // printf("VSB sizeHint width: %u\n", sbWidth2); - int sbWidth3 = vsb->minimumSize().width(); +// int sbWidth3 = vsb->minimumSize().width(); // printf("VSB minimum width: %u\n", sbWidth3); - int sbWidth4 = vsb->frameSize().width(); +// int sbWidth4 = vsb->frameSize().width(); // printf("VSB frame width: %u\n", sbWidth4); delete vsb; // fileList->setFixedWidth((488/4) + 4); int sbWidth5 = fileList->frameWidth(); // printf("List frame width: %u, (diff=%d)\n", sbWidth5, sbWidth5 - ((488/4) + 4)); - int sbWidth6 = fileList->sizeHint().width(); +// int sbWidth6 = fileList->sizeHint().width(); // printf("List sizeHint width: %u\n", sbWidth6); - int sbWidth7 = fileList->minimumSize().width(); +// int sbWidth7 = fileList->minimumSize().width(); // printf("List minimum width: %u\n", sbWidth7); - int sbWidth8 = fileList->minimumSizeHint().width(); +// int sbWidth8 = fileList->minimumSizeHint().width(); // printf("List minimum hint width: %u\n", sbWidth8); //// fileList->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); //// fileList->verticalScrollBar()->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); @@ -138,9 +138,13 @@ printf("VSB size: %u, %u\n", sbSize3.width(), sbSize3.height()); title = new QLabel(QString(tr("

    ...

    "))); title->setMargin(6); title->setAlignment(Qt::AlignCenter); +//no. +//title->setFixedWidth(cartImage->width()); +//title->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); +//YESH!!!! + title->setFixedWidth(cartImage->sizeHint().width()); vLayout->addWidget(title); -#if 1 QHBoxLayout * dataLayout = new QHBoxLayout; vLayout->addLayout(dataLayout); @@ -169,17 +173,6 @@ printf("VSB size: %u, %u\n", sbSize3.width(), sbSize3.height()); insertCart->setDefault(true); // We want this button to be the default insertCart->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); dataLayout->addWidget(insertCart); -#else - QLabel * text2 = new QLabel(QString(tr( - "" - "" - "" - "" - "" - "
    Type: 4MB Cartridge
    CRC32: FEDCBA98
    Compatibility: DOES NOT WORK
    Notes: Universal Header detected; Requires DSP
    " - ))); - vLayout->addWidget(text2); -#endif fileThread = new FileThread(this); // connect(fileThread, SIGNAL(FoundAFile(unsigned long)), this, SLOT(AddFileToList(unsigned long))); @@ -206,6 +199,8 @@ New sizes: 373x172 (label), 420x340 (cart) // connect(fileList, SIGNAL(doubleClicked()), this, SLOT(LoadButtonPressed())); // This returns: // Object::connect: No such signal QListView::QAbstractItemView::doubleClicked() in src/gui/filepicker.cpp:203 +//can't do this, nothing's rendered yet... +//setFixedWidth(width()); } void FilePickerWindow::keyPressEvent(QKeyEvent * e) @@ -396,7 +391,15 @@ void FilePickerWindow::UpdateSelection(const QModelIndex & current, const QModel prettyFilename = "\"" + currentFile.mid(lastSlashPos + 1) + "\""; } + // Ensure that the title isn't longer than the width of the dialog... +#if 1 title->setText(QString("

    %1

    ").arg(prettyFilename)); +#else + // This doesn't work... + QFontMetrics metrics(title->font()); + QString elidedText = metrics.elidedText(QString("

    %1

    ").arg(prettyFilename), Qt::ElideRight, title->sizeHint().width()); + title->setText(elidedText); +#endif //Kludge for now, we'll have to fix this later... // So let's fix it now! diff --git a/src/gui/filethread.cpp b/src/gui/filethread.cpp index e340498..306af9f 100644 --- a/src/gui/filethread.cpp +++ b/src/gui/filethread.cpp @@ -92,6 +92,9 @@ printf("FileThread: Aborting!!!\n"); // void FileThread::HandleFile(QFileInfo fileInfo) { + // Really, need to come up with some kind of cacheing scheme here, so we don't + // fish through these files every time we run VJ :-P +#warning "!!! Need to come up with some kind of cacheing scheme here !!!" bool haveZIPFile = (fileInfo.suffix().compare("zip", Qt::CaseInsensitive) == 0 ? true : false); uint32_t fileSize = 0; diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp index e7a6ba8..c0a0f46 100644 --- a/src/gui/mainwin.cpp +++ b/src/gui/mainwin.cpp @@ -193,7 +193,7 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), useCDAct->setCheckable(true); connect(useCDAct, SIGNAL(triggered()), this, SLOT(ToggleCDUsage())); - frameAdvanceAct = new QAction(QIcon(":/res/generic.png"), tr("&Frame Advance"), this); + frameAdvanceAct = new QAction(QIcon(":/res/frame-advance.png"), tr("&Frame Advance"), this); frameAdvanceAct->setShortcut(QKeySequence(tr("F7"))); connect(frameAdvanceAct, SIGNAL(triggered()), this, SLOT(FrameAdvance())); diff --git a/src/gui/virtualjaguar.qrc b/src/gui/virtualjaguar.qrc index ebd31b4..87fc927 100644 --- a/src/gui/virtualjaguar.qrc +++ b/src/gui/virtualjaguar.qrc @@ -6,6 +6,7 @@ ../../res/power-on-green.png ../../res/pause-off.png ../../res/pause-on.png + ../../res/frame-advance.png ../../res/zoom100.png ../../res/zoom200.png ../../res/zoom300.png diff --git a/src/jagdasm.cpp b/src/jagdasm.cpp index 5f18f11..31a67ef 100644 --- a/src/jagdasm.cpp +++ b/src/jagdasm.cpp @@ -1,3 +1,18 @@ +// +// Jaguar RISC Disassembly +// +// Originally by David Raingeard +// GCC/SDL port by Niels Wagenaar (Linux/WIN32) and Carwin Jones (BeOS) +// Minor cleanups by James Hammons +// (C) 2012 Underground Software +// +// JLH = James Hammons +// +// Who When What +// --- ---------- ------------------------------------------------------------- +// JLH 06/01/2012 Created this log (long overdue! ;-) +// + #include "jagdasm.h" #include diff --git a/src/jaguar.cpp b/src/jaguar.cpp index de5b5a8..cff72cc 100644 --- a/src/jaguar.cpp +++ b/src/jaguar.cpp @@ -28,7 +28,7 @@ #include "jerry.h" #include "joystick.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" //#include "memory.h" #include "mmu.h" #include "settings.h" @@ -133,7 +133,7 @@ if (inRoutine) static char buffer[2048]; for(int i=0; i<0x400; i++) { - m68k_disassemble(buffer, pcQueue[(pcQPtr + i) & 0x3FF], M68K_CPU_TYPE_68000); + m68k_disassemble(buffer, pcQueue[(pcQPtr + i) & 0x3FF], 0);//M68K_CPU_TYPE_68000); WriteLog("\t%08X: %s\n", pcQueue[(pcQPtr + i) & 0x3FF], buffer); } WriteLog("\n"); @@ -273,7 +273,7 @@ if (m68kPC == 0x802058) start = true; if (m68kPC == 0x82E1A) { static char buffer[2048]; - m68k_disassemble(buffer, m68kPC, M68K_CPU_TYPE_68000); + m68k_disassemble(buffer, m68kPC, 0);//M68K_CPU_TYPE_68000); WriteLog("--> [Routine start] %08X: %s", m68kPC, buffer); WriteLog("\t\tA0=%08X, A1=%08X, D0=%08X(cmd), D1=%08X(# bytes), D2=%08X\n", m68k_get_reg(NULL, M68K_REG_A0), m68k_get_reg(NULL, M68K_REG_A1), @@ -356,7 +356,7 @@ CD_switch:: -> $306C #endif #ifdef ABORT_ON_ILLEGAL_INSTRUCTIONS - if (!m68k_is_valid_instruction(m68k_read_memory_16(m68kPC), M68K_CPU_TYPE_68000)) + if (!m68k_is_valid_instruction(m68k_read_memory_16(m68kPC), 0))//M68K_CPU_TYPE_68000)) { #ifndef ABORT_ON_OFFICIAL_ILLEGAL_INSTRUCTION if (m68k_read_memory_16(m68kPC) == 0x4AFC) @@ -1454,7 +1454,7 @@ void JaguarDasm(uint32 offset, uint32 qt) pc += Dasm68000((char *)mem, buffer, 0); WriteLog("%08X: %s\n", oldpc, buffer);//*/ oldpc = pc; - pc += m68k_disassemble(buffer, pc, M68K_CPU_TYPE_68000); + pc += m68k_disassemble(buffer, pc, 0);//M68K_CPU_TYPE_68000); WriteLog("%08X: %s\n", oldpc, buffer);//*/ } #endif @@ -1736,7 +1736,7 @@ void JaguarInit(void) //temp, for crappy crap that sux memset(jaguarMainRAM + 0x804, 0xFF, 4); - m68k_set_cpu_type(M68K_CPU_TYPE_68000); +// m68k_set_cpu_type(M68K_CPU_TYPE_68000); m68k_pulse_reset(); // Need to do this so UAE disasm doesn't segfault on exit GPUInit(); DSPInit(); diff --git a/src/jerry.cpp b/src/jerry.cpp index 0b44b8f..8172c25 100644 --- a/src/jerry.cpp +++ b/src/jerry.cpp @@ -163,7 +163,7 @@ #include "jaguar.h" #include "joystick.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" #include "settings.h" #include "tom.h" //#include "memory.h" diff --git a/src/m68000/Makefile b/src/m68000/Makefile index 430943b..a351c52 100644 --- a/src/m68000/Makefile +++ b/src/m68000/Makefile @@ -14,12 +14,7 @@ CC := $(CROSS)gcc LD := $(CROSS)gcc AR := $(CROSS)ar ARFLAGS := -rs - -# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2 -#CFLAGS := -MMD -O2 -ffast-math -fomit-frame-pointer -g -CFLAGS ?= -O2 -ffast-math -fomit-frame-pointer -g GCC_DEPS = -MMD - INCS := -I. -I./obj `sdl-config --cflags` OBJS = \ @@ -48,12 +43,10 @@ obj: obj/%.o: %.c @echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m" -# @$(CC) $(CFLAGS) $(INCS) -c $< -o $@ @$(CC) $(GCC_DEPS) $(CFLAGS) $(INCS) -c $< -o $@ obj/%.o: obj/%.c @echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m" -# @$(CC) $(CFLAGS) $(INCS) -c $< -o $@ @$(CC) $(GCC_DEPS) $(CFLAGS) $(INCS) -c $< -o $@ # Generated code @@ -65,7 +58,6 @@ obj/cpustbl.c: obj/gencpu obj/gencpu: obj/cpudefs.c @echo -e "\033[01;33m***\033[00;32m Generating gencpu...\033[00m" -# @$(CC) $(GCC_DEPS) $(CFLAGS) gencpu.c readcpu.c obj/cpudefs.c -o obj/gencpu -I. -I./obj @gcc $(GCC_DEPS) $(CFLAGS) gencpu.c readcpu.c obj/cpudefs.c -o obj/gencpu -I. -I./obj obj/cpudefs.c: obj/build68k @@ -74,13 +66,11 @@ obj/cpudefs.c: obj/build68k obj/build68k: build68k.c @echo -e "\033[01;33m***\033[00;32m Compiling build68k.c...\033[00m" -# @$(CC) $(GCC_DEPS) $(CFLAGS) build68k.c -o obj/build68k @gcc $(GCC_DEPS) $(CFLAGS) build68k.c -o obj/build68k clean: @echo -ne "\033[01;33m***\033[00;32m Cleaning out the garbage...\033[00m" @-rm -rf ./obj -# @-$(FIND) . -name "*~" -exec rm -f {} \; @echo "done!" # Pull in dependencies autogenerated by gcc's -MMD switch diff --git a/src/m68000/inlines.h b/src/m68000/inlines.h index 3dee46f..54de932 100644 --- a/src/m68000/inlines.h +++ b/src/m68000/inlines.h @@ -1,6 +1,8 @@ // // Inline functions used by cpuemu.c // +// by Bernd Schmidt, Thomas Huth, and James Hammons +// // Since inline functions have to be in a header, we have them all defined // here, in one place to make finding them easy. // diff --git a/src/m68000/m68kinterface.c b/src/m68000/m68kinterface.c index 6f25305..12e5763 100644 --- a/src/m68000/m68kinterface.c +++ b/src/m68000/m68kinterface.c @@ -45,7 +45,7 @@ extern const struct cputbl op_smalltbl_4_ff[]; /* 68000 */ extern const struct cputbl op_smalltbl_5_ff[]; /* 68000 slow but compatible. */ // Externs, supplied by the user... -extern int irq_ack_handler(int); +//extern int irq_ack_handler(int); // Function prototypes... STATIC_INLINE void m68ki_check_interrupts(void); diff --git a/src/m68000/m68kinterface.h b/src/m68000/m68kinterface.h index 08df443..f96bf68 100644 --- a/src/m68000/m68kinterface.h +++ b/src/m68000/m68kinterface.h @@ -86,6 +86,8 @@ void m68k_write_memory_8(unsigned int address, unsigned int value); void m68k_write_memory_16(unsigned int address, unsigned int value); void m68k_write_memory_32(unsigned int address, unsigned int value); +int irq_ack_handler(int); + // Convenience functions /* Peek at the internals of a CPU context. This can either be a context diff --git a/src/m68k.h b/src/m68k.h deleted file mode 100644 index 53b3b5d..0000000 --- a/src/m68k.h +++ /dev/null @@ -1,348 +0,0 @@ -#ifndef M68K__HEADER -#define M68K__HEADER - -#ifdef __cplusplus -extern "C" { -#endif - -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ -/* - * MUSASHI - * Version 3.3.1 - * - * A portable Motorola M680x0 processor emulation engine. - * Copyright 1998-2001 Karl Stenerud. All rights reserved. - * - * This code may be freely used for non-commercial purposes as long as this - * copyright notice remains unaltered in the source code and any binary files - * containing this code in compiled form. - * - * All other lisencing terms must be negotiated with the author - * (Karl Stenerud). - * - * The latest version of this code can be obtained at: - * http://kstenerud.cjb.net - */ - -// NOTE: The 3.3.1 release is marked as 3.3 in this file. Changed by JLH -// in order to clarify which version we're using... - -/* ======================================================================== */ -/* ============================ GENERAL DEFINES =========================== */ - -/* ======================================================================== */ - -/* There are 7 levels of interrupt to the 68K. - * A transition from < 7 to 7 will cause a non-maskable interrupt (NMI). - */ -#define M68K_IRQ_NONE 0 -#define M68K_IRQ_1 1 -#define M68K_IRQ_2 2 -#define M68K_IRQ_3 3 -#define M68K_IRQ_4 4 -#define M68K_IRQ_5 5 -#define M68K_IRQ_6 6 -#define M68K_IRQ_7 7 - - -/* Special interrupt acknowledge values. - * Use these as special returns from the interrupt acknowledge callback - * (specified later in this header). - */ - -/* Causes an interrupt autovector (0x18 + interrupt level) to be taken. - * This happens in a real 68K if VPA or AVEC is asserted during an interrupt - * acknowledge cycle instead of DTACK. - */ -#define M68K_INT_ACK_AUTOVECTOR 0xffffffff - -/* Causes the spurious interrupt vector (0x18) to be taken - * This happens in a real 68K if BERR is asserted during the interrupt - * acknowledge cycle (i.e. no devices responded to the acknowledge). - */ -#define M68K_INT_ACK_SPURIOUS 0xfffffffe - - -/* CPU types for use in m68k_set_cpu_type() */ -enum -{ - M68K_CPU_TYPE_INVALID, - M68K_CPU_TYPE_68000, - M68K_CPU_TYPE_68010, - M68K_CPU_TYPE_68EC020, - M68K_CPU_TYPE_68020, - M68K_CPU_TYPE_68030, /* Supported by disassembler ONLY */ - M68K_CPU_TYPE_68040 /* Supported by disassembler ONLY */ -}; - -/* Registers used by m68k_get_reg() and m68k_set_reg() */ -typedef enum -{ - /* Real registers */ - M68K_REG_D0, /* Data registers */ - M68K_REG_D1, - M68K_REG_D2, - M68K_REG_D3, - M68K_REG_D4, - M68K_REG_D5, - M68K_REG_D6, - M68K_REG_D7, - M68K_REG_A0, /* Address registers */ - M68K_REG_A1, - M68K_REG_A2, - M68K_REG_A3, - M68K_REG_A4, - M68K_REG_A5, - M68K_REG_A6, - M68K_REG_A7, - M68K_REG_PC, /* Program Counter */ - M68K_REG_SR, /* Status Register */ - M68K_REG_SP, /* The current Stack Pointer (located in A7) */ - M68K_REG_USP, /* User Stack Pointer */ - M68K_REG_ISP, /* Interrupt Stack Pointer */ - M68K_REG_MSP, /* Master Stack Pointer */ - M68K_REG_SFC, /* Source Function Code */ - M68K_REG_DFC, /* Destination Function Code */ - M68K_REG_VBR, /* Vector Base Register */ - M68K_REG_CACR, /* Cache Control Register */ - M68K_REG_CAAR, /* Cache Address Register */ - - /* Assumed registers */ - /* These are cheat registers which emulate the 1-longword prefetch - * present in the 68000 and 68010. - */ - M68K_REG_PREF_ADDR, /* Last prefetch address */ - M68K_REG_PREF_DATA, /* Last prefetch data */ - - /* Convenience registers */ - M68K_REG_PPC, /* Previous value in the program counter */ - M68K_REG_IR, /* Instruction register */ - M68K_REG_CPU_TYPE /* Type of CPU being run */ -} m68k_register_t; - -/* ======================================================================== */ -/* ====================== FUNCTIONS CALLED BY THE CPU ===================== */ -/* ======================================================================== */ - -/* You will have to implement these functions */ - -/* read/write functions called by the CPU to access memory. - * while values used are 32 bits, only the appropriate number - * of bits are relevant (i.e. in write_memory_8, only the lower 8 bits - * of value should be written to memory). - * - * NOTE: I have separated the immediate and PC-relative memory fetches - * from the other memory fetches because some systems require - * differentiation between PROGRAM and DATA fetches (usually - * for security setups such as encryption). - * This separation can either be achieved by setting - * M68K_SEPARATE_READS in m68kconf.h and defining - * the read functions, or by setting M68K_EMULATE_FC and - * making a function code callback function. - * Using the callback offers better emulation coverage - * because you can also monitor whether the CPU is in SYSTEM or - * USER mode, but it is also slower. - */ - -/* Read from anywhere */ -unsigned int m68k_read_memory_8(unsigned int address); -unsigned int m68k_read_memory_16(unsigned int address); -unsigned int m68k_read_memory_32(unsigned int address); - -/* Read data immediately following the PC */ -unsigned int m68k_read_immediate_16(unsigned int address); -unsigned int m68k_read_immediate_32(unsigned int address); - -/* Read data relative to the PC */ -unsigned int m68k_read_pcrelative_8(unsigned int address); -unsigned int m68k_read_pcrelative_16(unsigned int address); -unsigned int m68k_read_pcrelative_32(unsigned int address); - -/* Memory access for the disassembler */ -unsigned int m68k_read_disassembler_8 (unsigned int address); -unsigned int m68k_read_disassembler_16 (unsigned int address); -unsigned int m68k_read_disassembler_32 (unsigned int address); - -/* Write to anywhere */ -void m68k_write_memory_8(unsigned int address, unsigned int value); -void m68k_write_memory_16(unsigned int address, unsigned int value); -void m68k_write_memory_32(unsigned int address, unsigned int value); - - - -/* ======================================================================== */ -/* ============================== CALLBACKS =============================== */ -/* ======================================================================== */ - -/* These functions allow you to set callbacks to the host when specific events - * occur. Note that you must enable the corresponding value in m68kconf.h - * in order for these to do anything useful. - * Note: I have defined default callbacks which are used if you have enabled - * the corresponding #define in m68kconf.h but either haven't assigned a - * callback or have assigned a callback of NULL. - */ - -/* Set the callback for an interrupt acknowledge. - * You must enable M68K_EMULATE_INT_ACK in m68kconf.h. - * The CPU will call the callback with the interrupt level being acknowledged. - * The host program must return either a vector from 0x02-0xff, or one of the - * special interrupt acknowledge values specified earlier in this header. - * If this is not implemented, the CPU will always assume an autovectored - * interrupt, and will automatically clear the interrupt request when it - * services the interrupt. - * Default behavior: return M68K_INT_ACK_AUTOVECTOR. - */ -void m68k_set_int_ack_callback(int (*callback)(int int_level)); - - -/* Set the callback for a breakpoint acknowledge (68010+). - * You must enable M68K_EMULATE_BKPT_ACK in m68kconf.h. - * The CPU will call the callback with whatever was in the data field of the - * BKPT instruction for 68020+, or 0 for 68010. - * Default behavior: do nothing. - */ -void m68k_set_bkpt_ack_callback(void (*callback)(unsigned int data)); - - -/* Set the callback for the RESET instruction. - * You must enable M68K_EMULATE_RESET in m68kconf.h. - * The CPU calls this callback every time it encounters a RESET instruction. - * Default behavior: do nothing. - */ -void m68k_set_reset_instr_callback(void (*callback)(void)); - - -/* Set the callback for informing of a large PC change. - * You must enable M68K_MONITOR_PC in m68kconf.h. - * The CPU calls this callback with the new PC value every time the PC changes - * by a large value (currently set for changes by longwords). - * Default behavior: do nothing. - */ -void m68k_set_pc_changed_callback(void (*callback)(unsigned int new_pc)); - - -/* Set the callback for CPU function code changes. - * You must enable M68K_EMULATE_FC in m68kconf.h. - * The CPU calls this callback with the function code before every memory - * access to set the CPU's function code according to what kind of memory - * access it is (supervisor/user, program/data and such). - * Default behavior: do nothing. - */ -void m68k_set_fc_callback(void (*callback)(unsigned int new_fc)); - - -/* Set a callback for the instruction cycle of the CPU. - * You must enable M68K_INSTRUCTION_HOOK in m68kconf.h. - * The CPU calls this callback just before fetching the opcode in the - * instruction cycle. - * Default behavior: do nothing. - */ -void m68k_set_instr_hook_callback(void (*callback)(void)); - - - -/* ======================================================================== */ -/* ====================== FUNCTIONS TO ACCESS THE CPU ===================== */ -/* ======================================================================== */ - -/* Use this function to set the CPU type you want to emulate. - * Currently supported types are: M68K_CPU_TYPE_68000, M68K_CPU_TYPE_68010, - * M68K_CPU_TYPE_EC020, and M68K_CPU_TYPE_68020. - */ -void m68k_set_cpu_type(unsigned int cpu_type); - -/* Pulse the RESET pin on the CPU. - * You *MUST* reset the CPU at least once to initialize the emulation - * Note: If you didn't call m68k_set_cpu_type() before resetting - * the CPU for the first time, the CPU will be set to - * M68K_CPU_TYPE_68000. - */ -void m68k_pulse_reset(void); - -/* execute num_cycles worth of instructions. returns number of cycles used */ -int m68k_execute(int num_cycles); - -/* These functions let you read/write/modify the number of cycles left to run - * while m68k_execute() is running. - * These are useful if the 68k accesses a memory-mapped port on another device - * that requires immediate processing by another CPU. - */ -int m68k_cycles_run(void); /* Number of cycles run so far */ -int m68k_cycles_remaining(void); /* Number of cycles left */ -void m68k_modify_timeslice(int cycles); /* Modify cycles left */ -void m68k_end_timeslice(void); /* End timeslice now */ - -/* Set the IPL0-IPL2 pins on the CPU (IRQ). - * A transition from < 7 to 7 will cause a non-maskable interrupt (NMI). - * Setting IRQ to 0 will clear an interrupt request. - */ -void m68k_set_irq(unsigned int int_level); - - -/* Halt the CPU as if you pulsed the HALT pin. */ -void m68k_pulse_halt(void); - - -/* Context switching to allow multiple CPUs */ - -/* Get the size of the cpu context in bytes */ -unsigned int m68k_context_size(void); - -/* Get a cpu context */ -unsigned int m68k_get_context(void* dst); - -/* set the current cpu context */ -void m68k_set_context(void* dst); - -/* Save the current cpu context to disk. - * You must provide a function pointer of the form: - * void save_value(char* identifier, unsigned int value) - */ -void m68k_save_context( void (*save_value)(char* identifier, unsigned int value)); - -/* Load a cpu context from disk. - * You must provide a function pointer of the form: - * unsigned int load_value(char* identifier) - */ -void m68k_load_context(unsigned int (*load_value)(char* identifier)); - - - -/* Peek at the internals of a CPU context. This can either be a context - * retrieved using m68k_get_context() or the currently running context. - * If context is NULL, the currently running CPU context will be used. - */ -unsigned int m68k_get_reg(void* context, m68k_register_t reg); - -/* Poke values into the internals of the currently running CPU context */ -void m68k_set_reg(m68k_register_t reg, unsigned int value); - -/* Check if an instruction is valid for the specified CPU type */ -unsigned int m68k_is_valid_instruction(unsigned int instruction, unsigned int cpu_type); - -/* Disassemble 1 instruction using the epecified CPU type at pc. Stores - * disassembly in str_buff and returns the size of the instruction in bytes. - */ -unsigned int m68k_disassemble(char* str_buff, unsigned int pc, unsigned int cpu_type); - - -/* ======================================================================== */ -/* ============================= CONFIGURATION ============================ */ -/* ======================================================================== */ - -/* Import the configuration for this build */ -#include "m68kconf.h" - - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ - -#ifdef __cplusplus -} -#endif - -#endif /* M68K__HEADER */ diff --git a/src/m68k_in.c b/src/m68k_in.c deleted file mode 100644 index 51c8af4..0000000 --- a/src/m68k_in.c +++ /dev/null @@ -1,9989 +0,0 @@ -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ -/* - * MUSASHI - * Version 3.3 - * - * A portable Motorola M680x0 processor emulation engine. - * Copyright 1998-2001 Karl Stenerud. All rights reserved. - * - * This code may be freely used for non-commercial purposes as long as this - * copyright notice remains unaltered in the source code and any binary files - * containing this code in compiled form. - * - * All other lisencing terms must be negotiated with the author - * (Karl Stenerud). - * - * The latest version of this code can be obtained at: - * http://kstenerud.cjb.net - */ - - - -/* Input file for m68kmake - * ----------------------- - * - * All sections begin with 80 X's in a row followed by an end-of-line - * sequence. - * After this, m68kmake will expect to find one of the following section - * identifiers: - * M68KMAKE_PROTOTYPE_HEADER - header for opcode handler prototypes - * M68KMAKE_PROTOTYPE_FOOTER - footer for opcode handler prototypes - * M68KMAKE_TABLE_HEADER - header for opcode handler jumptable - * M68KMAKE_TABLE_FOOTER - footer for opcode handler jumptable - * M68KMAKE_TABLE_BODY - the table itself - * M68KMAKE_OPCODE_HANDLER_HEADER - header for opcode handler implementation - * M68KMAKE_OPCODE_HANDLER_FOOTER - footer for opcode handler implementation - * M68KMAKE_OPCODE_HANDLER_BODY - body section for opcode handler implementation - * - * NOTE: M68KMAKE_OPCODE_HANDLER_BODY must be last in the file and - * M68KMAKE_TABLE_BODY must be second last in the file. - * - * The M68KMAKE_OPHANDLER_BODY section contains the opcode handler - * primitives themselves. Each opcode handler begins with: - * M68KMAKE_OP(A, B, C, D) - * - * where A is the opcode handler name, B is the size of the operation, - * C denotes any special processing mode, and D denotes a specific - * addressing mode. - * For C and D where nothing is specified, use "." - * - * Example: - * M68KMAKE_OP(abcd, 8, rr, .) abcd, size 8, register to register, default EA - * M68KMAKE_OP(abcd, 8, mm, ax7) abcd, size 8, memory to memory, register X is A7 - * M68KMAKE_OP(tst, 16, ., pcix) tst, size 16, PCIX addressing - * - * All opcode handler primitives end with a closing curly brace "}" at column 1 - * - * NOTE: Do not place a M68KMAKE_OP() directive inside the opcode handler, - * and do not put a closing curly brace at column 1 unless it is - * marking the end of the handler! - * - * Inside the handler, m68kmake will recognize M68KMAKE_GET_OPER_xx_xx, - * M68KMAKE_GET_EA_xx_xx, and M68KMAKE_CC directives, and create multiple - * opcode handlers to handle variations in the opcode handler. - * Note: M68KMAKE_CC will only be interpreted in condition code opcodes. - * As well, M68KMAKE_GET_EA_xx_xx and M68KMAKE_GET_OPER_xx_xx will only - * be interpreted on instructions where the corresponding table entry - * specifies multiple effective addressing modes. - * Example: - * clr 32 . . 0100001010...... A+-DXWL... U U U 12 6 4 - * - * This table entry says that the clr.l opcde has 7 variations (A+-DXWL). - * It is run in user or supervisor mode for all CPUs, and uses 12 cycles for - * 68000, 6 cycles for 68010, and 4 cycles for 68020. - */ - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_PROTOTYPE_HEADER - -#ifndef M68KOPS__HEADER -#define M68KOPS__HEADER - -/* ======================================================================== */ -/* ============================ OPCODE HANDLERS =========================== */ -/* ======================================================================== */ - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_PROTOTYPE_FOOTER - - -/* Build the opcode handler table */ -void m68ki_build_opcode_table(void); - -extern void (*m68ki_instruction_jump_table[0x10000])(void); /* opcode handler jump table */ -extern unsigned char m68ki_cycles[][0x10000]; - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ - -#endif /* M68KOPS__HEADER */ - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_TABLE_HEADER - -/* ======================================================================== */ -/* ========================= OPCODE TABLE BUILDER ========================= */ -/* ======================================================================== */ - -#include "m68kops.h" - -#define NUM_CPU_TYPES 3 - -void (*m68ki_instruction_jump_table[0x10000])(void); /* opcode handler jump table */ -unsigned char m68ki_cycles[NUM_CPU_TYPES][0x10000]; /* Cycles used by CPU type */ - -/* This is used to generate the opcode handler jump table */ -typedef struct -{ - void (*opcode_handler)(void); /* handler function */ - unsigned int mask; /* mask on opcode */ - unsigned int match; /* what to match after masking */ - unsigned char cycles[NUM_CPU_TYPES]; /* cycles each cpu type takes */ -} opcode_handler_struct; - - -/* Opcode handler table */ -static opcode_handler_struct m68k_opcode_handler_table[] = -{ -/* function mask match 000 010 020 */ - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_TABLE_FOOTER - - {0, 0, 0, {0, 0, 0}} -}; - - -/* Build the opcode handler jump table */ -void m68ki_build_opcode_table(void) -{ - opcode_handler_struct *ostruct; - int instr; - int i; - int j; - int k; - - for(i = 0; i < 0x10000; i++) - { - /* default to illegal */ - m68ki_instruction_jump_table[i] = m68k_op_illegal; - for(k=0;kmask != 0xff00) - { - for(i = 0;i < 0x10000;i++) - { - if((i & ostruct->mask) == ostruct->match) - { - m68ki_instruction_jump_table[i] = ostruct->opcode_handler; - for(k=0;kcycles[k]; - } - } - ostruct++; - } - while(ostruct->mask == 0xff00) - { - for(i = 0;i <= 0xff;i++) - { - m68ki_instruction_jump_table[ostruct->match | i] = ostruct->opcode_handler; - for(k=0;kmatch | i] = ostruct->cycles[k]; - } - ostruct++; - } - while(ostruct->mask == 0xf1f8) - { - for(i = 0;i < 8;i++) - { - for(j = 0;j < 8;j++) - { - instr = ostruct->match | (i << 9) | j; - m68ki_instruction_jump_table[instr] = ostruct->opcode_handler; - for(k=0;kcycles[k]; - if((instr & 0xf000) == 0xe000 && (!(instr & 0x20))) - m68ki_cycles[0][instr] = m68ki_cycles[1][instr] = ostruct->cycles[k] + ((((j-1)&7)+1)<<1); - } - } - ostruct++; - } - while(ostruct->mask == 0xfff0) - { - for(i = 0;i <= 0x0f;i++) - { - m68ki_instruction_jump_table[ostruct->match | i] = ostruct->opcode_handler; - for(k=0;kmatch | i] = ostruct->cycles[k]; - } - ostruct++; - } - while(ostruct->mask == 0xf1ff) - { - for(i = 0;i <= 0x07;i++) - { - m68ki_instruction_jump_table[ostruct->match | (i << 9)] = ostruct->opcode_handler; - for(k=0;kmatch | (i << 9)] = ostruct->cycles[k]; - } - ostruct++; - } - while(ostruct->mask == 0xfff8) - { - for(i = 0;i <= 0x07;i++) - { - m68ki_instruction_jump_table[ostruct->match | i] = ostruct->opcode_handler; - for(k=0;kmatch | i] = ostruct->cycles[k]; - } - ostruct++; - } - while(ostruct->mask == 0xffff) - { - m68ki_instruction_jump_table[ostruct->match] = ostruct->opcode_handler; - for(k=0;kmatch] = ostruct->cycles[k]; - ostruct++; - } -} - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_OPCODE_HANDLER_HEADER - -#include "m68kcpu.h" - -/* ======================================================================== */ -/* ========================= INSTRUCTION HANDLERS ========================= */ -/* ======================================================================== */ - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_OPCODE_HANDLER_FOOTER - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_TABLE_BODY - -The following table is arranged as follows: - -name: Opcode mnemonic - -size: Operation size - -spec proc: Special processing mode: - .: normal - s: static operand - r: register operand - rr: register to register - mm: memory to memory - er: effective address to register - re: register to effective address - dd: data register to data register - da: data register to address register - aa: address register to address register - cr: control register to register - rc: register to control register - toc: to condition code register - tos: to status register - tou: to user stack pointer - frc: from condition code register - frs: from status register - fru: from user stack pointer - * for move.x, the special processing mode is a specific - destination effective addressing mode. - -spec ea: Specific effective addressing mode: - .: normal - i: immediate - d: data register - a: address register - ai: address register indirect - pi: address register indirect with postincrement - pd: address register indirect with predecrement - di: address register indirect with displacement - ix: address register indirect with index - aw: absolute word address - al: absolute long address - pcdi: program counter relative with displacement - pcix: program counter relative with index - a7: register specified in instruction is A7 - ax7: register field X of instruction is A7 - ay7: register field Y of instruction is A7 - axy7: register fields X and Y of instruction are A7 - -bit pattern: Pattern to recognize this opcode. "." means don't care. - -allowed ea: List of allowed addressing modes: - .: not present - A: address register indirect - +: ARI (address register indirect) with postincrement - -: ARI with predecrement - D: ARI with displacement - X: ARI with index - W: absolute word address - L: absolute long address - d: program counter indirect with displacement - x: program counter indirect with index - I: immediate -mode: CPU operating mode for each cpu type. U = user or supervisor, - S = supervisor only, "." = opcode not present. - -cpu cycles: Base number of cycles required to execute this opcode on the - specified CPU type. - Use "." if CPU does not have this opcode. - - - - spec spec allowed ea mode cpu cycles -name size proc ea bit pattern A+-DXWLdxI 0 1 2 000 010 020 comments -====== ==== ==== ==== ================ ========== = = = === === === ============= -M68KMAKE_TABLE_START -1010 0 . . 1010............ .......... U U U 4 4 4 -1111 0 . . 1111............ .......... U U U 4 4 4 -abcd 8 rr . 1100...100000... .......... U U U 6 6 4 -abcd 8 mm ax7 1100111100001... .......... U U U 18 18 16 -abcd 8 mm ay7 1100...100001111 .......... U U U 18 18 16 -abcd 8 mm axy7 1100111100001111 .......... U U U 18 18 16 -abcd 8 mm . 1100...100001... .......... U U U 18 18 16 -add 8 er d 1101...000000... .......... U U U 4 4 2 -add 8 er . 1101...000...... A+-DXWLdxI U U U 4 4 2 -add 16 er d 1101...001000... .......... U U U 4 4 2 -add 16 er a 1101...001001... .......... U U U 4 4 2 -add 16 er . 1101...001...... A+-DXWLdxI U U U 4 4 2 -add 32 er d 1101...010000... .......... U U U 6 6 2 -add 32 er a 1101...010001... .......... U U U 6 6 2 -add 32 er . 1101...010...... A+-DXWLdxI U U U 6 6 2 -add 8 re . 1101...100...... A+-DXWL... U U U 8 8 4 -add 16 re . 1101...101...... A+-DXWL... U U U 8 8 4 -add 32 re . 1101...110...... A+-DXWL... U U U 12 12 4 -adda 16 . d 1101...011000... .......... U U U 8 8 2 -adda 16 . a 1101...011001... .......... U U U 8 8 2 -adda 16 . . 1101...011...... A+-DXWLdxI U U U 8 8 2 -adda 32 . d 1101...111000... .......... U U U 6 6 2 -adda 32 . a 1101...111001... .......... U U U 6 6 2 -adda 32 . . 1101...111...... A+-DXWLdxI U U U 6 6 2 -addi 8 . d 0000011000000... .......... U U U 8 8 2 -addi 8 . . 0000011000...... A+-DXWL... U U U 12 12 4 -addi 16 . d 0000011001000... .......... U U U 8 8 2 -addi 16 . . 0000011001...... A+-DXWL... U U U 12 12 4 -addi 32 . d 0000011010000... .......... U U U 16 14 2 -addi 32 . . 0000011010...... A+-DXWL... U U U 20 20 4 -addq 8 . d 0101...000000... .......... U U U 4 4 2 -addq 8 . . 0101...000...... A+-DXWL... U U U 8 8 4 -addq 16 . d 0101...001000... .......... U U U 4 4 2 -addq 16 . a 0101...001001... .......... U U U 4 4 2 -addq 16 . . 0101...001...... A+-DXWL... U U U 8 8 4 -addq 32 . d 0101...010000... .......... U U U 8 8 2 -addq 32 . a 0101...010001... .......... U U U 8 8 2 -addq 32 . . 0101...010...... A+-DXWL... U U U 12 12 4 -addx 8 rr . 1101...100000... .......... U U U 4 4 2 -addx 16 rr . 1101...101000... .......... U U U 4 4 2 -addx 32 rr . 1101...110000... .......... U U U 8 6 2 -addx 8 mm ax7 1101111100001... .......... U U U 18 18 12 -addx 8 mm ay7 1101...100001111 .......... U U U 18 18 12 -addx 8 mm axy7 1101111100001111 .......... U U U 18 18 12 -addx 8 mm . 1101...100001... .......... U U U 18 18 12 -addx 16 mm . 1101...101001... .......... U U U 18 18 12 -addx 32 mm . 1101...110001... .......... U U U 30 30 12 -and 8 er d 1100...000000... .......... U U U 4 4 2 -and 8 er . 1100...000...... A+-DXWLdxI U U U 4 4 2 -and 16 er d 1100...001000... .......... U U U 4 4 2 -and 16 er . 1100...001...... A+-DXWLdxI U U U 4 4 2 -and 32 er d 1100...010000... .......... U U U 6 6 2 -and 32 er . 1100...010...... A+-DXWLdxI U U U 6 6 2 -and 8 re . 1100...100...... A+-DXWL... U U U 8 8 4 -and 16 re . 1100...101...... A+-DXWL... U U U 8 8 4 -and 32 re . 1100...110...... A+-DXWL... U U U 12 12 4 -andi 16 toc . 0000001000111100 .......... U U U 20 16 12 -andi 16 tos . 0000001001111100 .......... S S S 20 16 12 -andi 8 . d 0000001000000... .......... U U U 8 8 2 -andi 8 . . 0000001000...... A+-DXWL... U U U 12 12 4 -andi 16 . d 0000001001000... .......... U U U 8 8 2 -andi 16 . . 0000001001...... A+-DXWL... U U U 12 12 4 -andi 32 . d 0000001010000... .......... U U U 14 14 2 -andi 32 . . 0000001010...... A+-DXWL... U U U 20 20 4 -asr 8 s . 1110...000000... .......... U U U 6 6 6 -asr 16 s . 1110...001000... .......... U U U 6 6 6 -asr 32 s . 1110...010000... .......... U U U 8 8 6 -asr 8 r . 1110...000100... .......... U U U 6 6 6 -asr 16 r . 1110...001100... .......... U U U 6 6 6 -asr 32 r . 1110...010100... .......... U U U 8 8 6 -asr 16 . . 1110000011...... A+-DXWL... U U U 8 8 5 -asl 8 s . 1110...100000... .......... U U U 6 6 8 -asl 16 s . 1110...101000... .......... U U U 6 6 8 -asl 32 s . 1110...110000... .......... U U U 8 8 8 -asl 8 r . 1110...100100... .......... U U U 6 6 8 -asl 16 r . 1110...101100... .......... U U U 6 6 8 -asl 32 r . 1110...110100... .......... U U U 8 8 8 -asl 16 . . 1110000111...... A+-DXWL... U U U 8 8 6 -bcc 8 . . 0110............ .......... U U U 8 8 6 -bcc 16 . . 0110....00000000 .......... U U U 10 10 6 -bcc 32 . . 0110....11111111 .......... . . U . . 6 -bchg 8 r . 0000...101...... A+-DXWL... U U U 8 8 4 -bchg 32 r d 0000...101000... .......... U U U 8 8 4 -bchg 8 s . 0000100001...... A+-DXWL... U U U 12 12 4 -bchg 32 s d 0000100001000... .......... U U U 12 12 4 -bclr 8 r . 0000...110...... A+-DXWL... U U U 8 10 4 -bclr 32 r d 0000...110000... .......... U U U 10 10 4 -bclr 8 s . 0000100010...... A+-DXWL... U U U 12 12 4 -bclr 32 s d 0000100010000... .......... U U U 14 14 4 -bfchg 32 . d 1110101011000... .......... . . U . . 12 timing not quite correct -bfchg 32 . . 1110101011...... A..DXWL... . . U . . 20 -bfclr 32 . d 1110110011000... .......... . . U . . 12 -bfclr 32 . . 1110110011...... A..DXWL... . . U . . 20 -bfexts 32 . d 1110101111000... .......... . . U . . 8 -bfexts 32 . . 1110101111...... A..DXWLdx. . . U . . 15 -bfextu 32 . d 1110100111000... .......... . . U . . 8 -bfextu 32 . . 1110100111...... A..DXWLdx. . . U . . 15 -bfffo 32 . d 1110110111000... .......... . . U . . 18 -bfffo 32 . . 1110110111...... A..DXWLdx. . . U . . 28 -bfins 32 . d 1110111111000... .......... . . U . . 10 -bfins 32 . . 1110111111...... A..DXWL... . . U . . 17 -bfset 32 . d 1110111011000... .......... . . U . . 12 -bfset 32 . . 1110111011...... A..DXWL... . . U . . 20 -bftst 32 . d 1110100011000... .......... . . U . . 6 -bftst 32 . . 1110100011...... A..DXWLdx. . . U . . 13 -bkpt 0 . . 0100100001001... .......... . U U . 10 10 -bra 8 . . 01100000........ .......... U U U 10 10 10 -bra 16 . . 0110000000000000 .......... U U U 10 10 10 -bra 32 . . 0110000011111111 .......... U U U . . 10 -bset 32 r d 0000...111000... .......... U U U 8 8 4 -bset 8 r . 0000...111...... A+-DXWL... U U U 8 8 4 -bset 8 s . 0000100011...... A+-DXWL... U U U 12 12 4 -bset 32 s d 0000100011000... .......... U U U 12 12 4 -bsr 8 . . 01100001........ .......... U U U 18 18 7 -bsr 16 . . 0110000100000000 .......... U U U 18 18 7 -bsr 32 . . 0110000111111111 .......... . . U . . 7 -btst 8 r . 0000...100...... A+-DXWLdxI U U U 4 4 4 -btst 32 r d 0000...100000... .......... U U U 6 6 4 -btst 8 s . 0000100000...... A+-DXWLdx. U U U 8 8 4 -btst 32 s d 0000100000000... .......... U U U 10 10 4 -callm 32 . . 0000011011...... A..DXWLdx. . . U . . 60 not properly emulated -cas 8 . . 0000101011...... A+-DXWL... . . U . . 12 -cas 16 . . 0000110011...... A+-DXWL... . . U . . 12 -cas 32 . . 0000111011...... A+-DXWL... . . U . . 12 -cas2 16 . . 0000110011111100 .......... . . U . . 12 -cas2 32 . . 0000111011111100 .......... . . U . . 12 -chk 16 . d 0100...110000... .......... U U U 10 8 8 -chk 16 . . 0100...110...... A+-DXWLdxI U U U 10 8 8 -chk 32 . d 0100...100000... .......... . . U . . 8 -chk 32 . . 0100...100...... A+-DXWLdxI . . U . . 8 -chk2cmp2 8 . . 0000000011...... A..DXWLdx. . . U . . 18 -chk2cmp2 16 . . 0000001011...... A..DXWLdx. . . U . . 18 -chk2cmp2 32 . . 0000010011...... A..DXWLdx. . . U . . 18 -clr 8 . d 0100001000000... .......... U U U 4 4 2 -clr 8 . . 0100001000...... A+-DXWL... U U U 8 4 4 -clr 16 . d 0100001001000... .......... U U U 4 4 2 -clr 16 . . 0100001001...... A+-DXWL... U U U 8 4 4 -clr 32 . d 0100001010000... .......... U U U 6 6 2 -clr 32 . . 0100001010...... A+-DXWL... U U U 12 6 4 -cmp 8 . d 1011...000000... .......... U U U 4 4 2 -cmp 8 . . 1011...000...... A+-DXWLdxI U U U 4 4 2 -cmp 16 . d 1011...001000... .......... U U U 4 4 2 -cmp 16 . a 1011...001001... .......... U U U 4 4 2 -cmp 16 . . 1011...001...... A+-DXWLdxI U U U 4 4 2 -cmp 32 . d 1011...010000... .......... U U U 6 6 2 -cmp 32 . a 1011...010001... .......... U U U 6 6 2 -cmp 32 . . 1011...010...... A+-DXWLdxI U U U 6 6 2 -cmpa 16 . d 1011...011000... .......... U U U 6 6 4 -cmpa 16 . a 1011...011001... .......... U U U 6 6 4 -cmpa 16 . . 1011...011...... A+-DXWLdxI U U U 6 6 4 -cmpa 32 . d 1011...111000... .......... U U U 6 6 4 -cmpa 32 . a 1011...111001... .......... U U U 6 6 4 -cmpa 32 . . 1011...111...... A+-DXWLdxI U U U 6 6 4 -cmpi 8 . d 0000110000000... .......... U U U 8 8 2 -cmpi 8 . . 0000110000...... A+-DXWL... U U U 8 8 2 -cmpi 8 . pcdi 0000110000111010 .......... . . U . . 7 -cmpi 8 . pcix 0000110000111011 .......... . . U . . 9 -cmpi 16 . d 0000110001000... .......... U U U 8 8 2 -cmpi 16 . . 0000110001...... A+-DXWL... U U U 8 8 2 -cmpi 16 . pcdi 0000110001111010 .......... . . U . . 7 -cmpi 16 . pcix 0000110001111011 .......... . . U . . 9 -cmpi 32 . d 0000110010000... .......... U U U 14 12 2 -cmpi 32 . . 0000110010...... A+-DXWL... U U U 12 12 2 -cmpi 32 . pcdi 0000110010111010 .......... . . U . . 7 -cmpi 32 . pcix 0000110010111011 .......... . . U . . 9 -cmpm 8 . ax7 1011111100001... .......... U U U 12 12 9 -cmpm 8 . ay7 1011...100001111 .......... U U U 12 12 9 -cmpm 8 . axy7 1011111100001111 .......... U U U 12 12 9 -cmpm 8 . . 1011...100001... .......... U U U 12 12 9 -cmpm 16 . . 1011...101001... .......... U U U 12 12 9 -cmpm 32 . . 1011...110001... .......... U U U 20 20 9 -cpbcc 32 . . 1111...01....... .......... . . U . . 4 unemulated -cpdbcc 32 . . 1111...001001... .......... . . U . . 4 unemulated -cpgen 32 . . 1111...000...... .......... . . U . . 4 unemulated -cpscc 32 . . 1111...001...... .......... . . U . . 4 unemulated -cptrapcc 32 . . 1111...001111... .......... . . U . . 4 unemulated -dbt 16 . . 0101000011001... .......... U U U 12 12 6 -dbf 16 . . 0101000111001... .......... U U U 14 14 6 -dbcc 16 . . 0101....11001... .......... U U U 12 12 6 -divs 16 . d 1000...111000... .......... U U U 158 122 56 -divs 16 . . 1000...111...... A+-DXWLdxI U U U 158 122 56 -divu 16 . d 1000...011000... .......... U U U 140 108 44 -divu 16 . . 1000...011...... A+-DXWLdxI U U U 140 108 44 -divl 32 . d 0100110001000... .......... . . U . . 84 -divl 32 . . 0100110001...... A+-DXWLdxI . . U . . 84 -eor 8 . d 1011...100000... .......... U U U 4 4 2 -eor 8 . . 1011...100...... A+-DXWL... U U U 8 8 4 -eor 16 . d 1011...101000... .......... U U U 4 4 2 -eor 16 . . 1011...101...... A+-DXWL... U U U 8 8 4 -eor 32 . d 1011...110000... .......... U U U 8 6 2 -eor 32 . . 1011...110...... A+-DXWL... U U U 12 12 4 -eori 16 toc . 0000101000111100 .......... U U U 20 16 12 -eori 16 tos . 0000101001111100 .......... S S S 20 16 12 -eori 8 . d 0000101000000... .......... U U U 8 8 2 -eori 8 . . 0000101000...... A+-DXWL... U U U 12 12 4 -eori 16 . d 0000101001000... .......... U U U 8 8 2 -eori 16 . . 0000101001...... A+-DXWL... U U U 12 12 4 -eori 32 . d 0000101010000... .......... U U U 16 14 2 -eori 32 . . 0000101010...... A+-DXWL... U U U 20 20 4 -exg 32 dd . 1100...101000... .......... U U U 6 6 2 -exg 32 aa . 1100...101001... .......... U U U 6 6 2 -exg 32 da . 1100...110001... .......... U U U 6 6 2 -ext 16 . . 0100100010000... .......... U U U 4 4 4 -ext 32 . . 0100100011000... .......... U U U 4 4 4 -extb 32 . . 0100100111000... .......... . . U . . 4 -illegal 0 . . 0100101011111100 .......... U U U 4 4 4 -jmp 32 . . 0100111011...... A..DXWLdx. U U U 4 4 0 -jsr 32 . . 0100111010...... A..DXWLdx. U U U 12 12 0 -lea 32 . . 0100...111...... A..DXWLdx. U U U 0 0 2 -link 16 . a7 0100111001010111 .......... U U U 16 16 5 -link 16 . . 0100111001010... .......... U U U 16 16 5 -link 32 . a7 0100100000001111 .......... . . U . . 6 -link 32 . . 0100100000001... .......... . . U . . 6 -lsr 8 s . 1110...000001... .......... U U U 6 6 4 -lsr 16 s . 1110...001001... .......... U U U 6 6 4 -lsr 32 s . 1110...010001... .......... U U U 8 8 4 -lsr 8 r . 1110...000101... .......... U U U 6 6 6 -lsr 16 r . 1110...001101... .......... U U U 6 6 6 -lsr 32 r . 1110...010101... .......... U U U 8 8 6 -lsr 16 . . 1110001011...... A+-DXWL... U U U 8 8 5 -lsl 8 s . 1110...100001... .......... U U U 6 6 4 -lsl 16 s . 1110...101001... .......... U U U 6 6 4 -lsl 32 s . 1110...110001... .......... U U U 8 8 4 -lsl 8 r . 1110...100101... .......... U U U 6 6 6 -lsl 16 r . 1110...101101... .......... U U U 6 6 6 -lsl 32 r . 1110...110101... .......... U U U 8 8 6 -lsl 16 . . 1110001111...... A+-DXWL... U U U 8 8 5 -move 8 d d 0001...000000... .......... U U U 4 4 2 -move 8 d . 0001...000...... A+-DXWLdxI U U U 4 4 2 -move 8 ai d 0001...010000... .......... U U U 8 8 4 -move 8 ai . 0001...010...... A+-DXWLdxI U U U 8 8 4 -move 8 pi d 0001...011000... .......... U U U 8 8 4 -move 8 pi . 0001...011...... A+-DXWLdxI U U U 8 8 4 -move 8 pi7 d 0001111011000... .......... U U U 8 8 4 -move 8 pi7 . 0001111011...... A+-DXWLdxI U U U 8 8 4 -move 8 pd d 0001...100000... .......... U U U 8 8 5 -move 8 pd . 0001...100...... A+-DXWLdxI U U U 8 8 5 -move 8 pd7 d 0001111100000... .......... U U U 8 8 5 -move 8 pd7 . 0001111100...... A+-DXWLdxI U U U 8 8 5 -move 8 di d 0001...101000... .......... U U U 12 12 5 -move 8 di . 0001...101...... A+-DXWLdxI U U U 12 12 5 -move 8 ix d 0001...110000... .......... U U U 14 14 7 -move 8 ix . 0001...110...... A+-DXWLdxI U U U 14 14 7 -move 8 aw d 0001000111000... .......... U U U 12 12 4 -move 8 aw . 0001000111...... A+-DXWLdxI U U U 12 12 4 -move 8 al d 0001001111000... .......... U U U 16 16 6 -move 8 al . 0001001111...... A+-DXWLdxI U U U 16 16 6 -move 16 d d 0011...000000... .......... U U U 4 4 2 -move 16 d a 0011...000001... .......... U U U 4 4 2 -move 16 d . 0011...000...... A+-DXWLdxI U U U 4 4 2 -move 16 ai d 0011...010000... .......... U U U 8 8 4 -move 16 ai a 0011...010001... .......... U U U 8 8 4 -move 16 ai . 0011...010...... A+-DXWLdxI U U U 8 8 4 -move 16 pi d 0011...011000... .......... U U U 8 8 4 -move 16 pi a 0011...011001... .......... U U U 8 8 4 -move 16 pi . 0011...011...... A+-DXWLdxI U U U 8 8 4 -move 16 pd d 0011...100000... .......... U U U 8 8 5 -move 16 pd a 0011...100001... .......... U U U 8 8 5 -move 16 pd . 0011...100...... A+-DXWLdxI U U U 8 8 5 -move 16 di d 0011...101000... .......... U U U 12 12 5 -move 16 di a 0011...101001... .......... U U U 12 12 5 -move 16 di . 0011...101...... A+-DXWLdxI U U U 12 12 5 -move 16 ix d 0011...110000... .......... U U U 14 14 7 -move 16 ix a 0011...110001... .......... U U U 14 14 7 -move 16 ix . 0011...110...... A+-DXWLdxI U U U 14 14 7 -move 16 aw d 0011000111000... .......... U U U 12 12 4 -move 16 aw a 0011000111001... .......... U U U 12 12 4 -move 16 aw . 0011000111...... A+-DXWLdxI U U U 12 12 4 -move 16 al d 0011001111000... .......... U U U 16 16 6 -move 16 al a 0011001111001... .......... U U U 16 16 6 -move 16 al . 0011001111...... A+-DXWLdxI U U U 16 16 6 -move 32 d d 0010...000000... .......... U U U 4 4 2 -move 32 d a 0010...000001... .......... U U U 4 4 2 -move 32 d . 0010...000...... A+-DXWLdxI U U U 4 4 2 -move 32 ai d 0010...010000... .......... U U U 12 12 4 -move 32 ai a 0010...010001... .......... U U U 12 12 4 -move 32 ai . 0010...010...... A+-DXWLdxI U U U 12 12 4 -move 32 pi d 0010...011000... .......... U U U 12 12 4 -move 32 pi a 0010...011001... .......... U U U 12 12 4 -move 32 pi . 0010...011...... A+-DXWLdxI U U U 12 12 4 -move 32 pd d 0010...100000... .......... U U U 12 14 5 -move 32 pd a 0010...100001... .......... U U U 12 14 5 -move 32 pd . 0010...100...... A+-DXWLdxI U U U 12 14 5 -move 32 di d 0010...101000... .......... U U U 16 16 5 -move 32 di a 0010...101001... .......... U U U 16 16 5 -move 32 di . 0010...101...... A+-DXWLdxI U U U 16 16 5 -move 32 ix d 0010...110000... .......... U U U 18 18 7 -move 32 ix a 0010...110001... .......... U U U 18 18 7 -move 32 ix . 0010...110...... A+-DXWLdxI U U U 18 18 7 -move 32 aw d 0010000111000... .......... U U U 16 16 4 -move 32 aw a 0010000111001... .......... U U U 16 16 4 -move 32 aw . 0010000111...... A+-DXWLdxI U U U 16 16 4 -move 32 al d 0010001111000... .......... U U U 20 20 6 -move 32 al a 0010001111001... .......... U U U 20 20 6 -move 32 al . 0010001111...... A+-DXWLdxI U U U 20 20 6 -movea 16 . d 0011...001000... .......... U U U 4 4 2 -movea 16 . a 0011...001001... .......... U U U 4 4 2 -movea 16 . . 0011...001...... A+-DXWLdxI U U U 4 4 2 -movea 32 . d 0010...001000... .......... U U U 4 4 2 -movea 32 . a 0010...001001... .......... U U U 4 4 2 -movea 32 . . 0010...001...... A+-DXWLdxI U U U 4 4 2 -move 16 frc d 0100001011000... .......... . U U . 4 4 -move 16 frc . 0100001011...... A+-DXWL... . U U . 8 4 -move 16 toc d 0100010011000... .......... U U U 12 12 4 -move 16 toc . 0100010011...... A+-DXWLdxI U U U 12 12 4 -move 16 frs d 0100000011000... .......... U S S 6 4 8 U only for 000 -move 16 frs . 0100000011...... A+-DXWL... U S S 8 8 8 U only for 000 -move 16 tos d 0100011011000... .......... S S S 12 12 8 -move 16 tos . 0100011011...... A+-DXWLdxI S S S 12 12 8 -move 32 fru . 0100111001101... .......... S S S 4 6 2 -move 32 tou . 0100111001100... .......... S S S 4 6 2 -movec 32 cr . 0100111001111010 .......... . S S . 12 6 -movec 32 rc . 0100111001111011 .......... . S S . 10 12 -movem 16 re pd 0100100010100... .......... U U U 8 8 4 -movem 16 re . 0100100010...... A..DXWL... U U U 8 8 4 -movem 32 re pd 0100100011100... .......... U U U 8 8 4 -movem 32 re . 0100100011...... A..DXWL... U U U 8 8 4 -movem 16 er pi 0100110010011... .......... U U U 12 12 8 -movem 16 er . 0100110010...... A..DXWLdx. U U U 12 12 8 -movem 32 er pi 0100110011011... .......... U U U 12 12 8 -movem 32 er . 0100110011...... A..DXWLdx. U U U 12 12 8 -movep 16 er . 0000...100001... .......... U U U 16 16 12 -movep 32 er . 0000...101001... .......... U U U 24 24 18 -movep 16 re . 0000...110001... .......... U U U 16 16 11 -movep 32 re . 0000...111001... .......... U U U 24 24 17 -moveq 32 . . 0111...0........ .......... U U U 4 4 2 -moves 8 . . 0000111000...... A+-DXWL... . S S . 14 5 -moves 16 . . 0000111001...... A+-DXWL... . S S . 14 5 -moves 32 . . 0000111010...... A+-DXWL... . S S . 16 5 -muls 16 . d 1100...111000... .......... U U U 54 32 27 -muls 16 . . 1100...111...... A+-DXWLdxI U U U 54 32 27 -mulu 16 . d 1100...011000... .......... U U U 54 30 27 -mulu 16 . . 1100...011...... A+-DXWLdxI U U U 54 30 27 -mull 32 . d 0100110000000... .......... . . U . . 43 -mull 32 . . 0100110000...... A+-DXWLdxI . . U . . 43 -nbcd 8 . d 0100100000000... .......... U U U 6 6 6 -nbcd 8 . . 0100100000...... A+-DXWL... U U U 8 8 6 -neg 8 . d 0100010000000... .......... U U U 4 4 2 -neg 8 . . 0100010000...... A+-DXWL... U U U 8 8 4 -neg 16 . d 0100010001000... .......... U U U 4 4 2 -neg 16 . . 0100010001...... A+-DXWL... U U U 8 8 4 -neg 32 . d 0100010010000... .......... U U U 6 6 2 -neg 32 . . 0100010010...... A+-DXWL... U U U 12 12 4 -negx 8 . d 0100000000000... .......... U U U 4 4 2 -negx 8 . . 0100000000...... A+-DXWL... U U U 8 8 4 -negx 16 . d 0100000001000... .......... U U U 4 4 2 -negx 16 . . 0100000001...... A+-DXWL... U U U 8 8 4 -negx 32 . d 0100000010000... .......... U U U 6 6 2 -negx 32 . . 0100000010...... A+-DXWL... U U U 12 12 4 -nop 0 . . 0100111001110001 .......... U U U 4 4 2 -not 8 . d 0100011000000... .......... U U U 4 4 2 -not 8 . . 0100011000...... A+-DXWL... U U U 8 8 4 -not 16 . d 0100011001000... .......... U U U 4 4 2 -not 16 . . 0100011001...... A+-DXWL... U U U 8 8 4 -not 32 . d 0100011010000... .......... U U U 6 6 2 -not 32 . . 0100011010...... A+-DXWL... U U U 12 12 4 -or 8 er d 1000...000000... .......... U U U 4 4 2 -or 8 er . 1000...000...... A+-DXWLdxI U U U 4 4 2 -or 16 er d 1000...001000... .......... U U U 4 4 2 -or 16 er . 1000...001...... A+-DXWLdxI U U U 4 4 2 -or 32 er d 1000...010000... .......... U U U 6 6 2 -or 32 er . 1000...010...... A+-DXWLdxI U U U 6 6 2 -or 8 re . 1000...100...... A+-DXWL... U U U 8 8 4 -or 16 re . 1000...101...... A+-DXWL... U U U 8 8 4 -or 32 re . 1000...110...... A+-DXWL... U U U 12 12 4 -ori 16 toc . 0000000000111100 .......... U U U 20 16 12 -ori 16 tos . 0000000001111100 .......... S S S 20 16 12 -ori 8 . d 0000000000000... .......... U U U 8 8 2 -ori 8 . . 0000000000...... A+-DXWL... U U U 12 12 4 -ori 16 . d 0000000001000... .......... U U U 8 8 2 -ori 16 . . 0000000001...... A+-DXWL... U U U 12 12 4 -ori 32 . d 0000000010000... .......... U U U 16 14 2 -ori 32 . . 0000000010...... A+-DXWL... U U U 20 20 4 -pack 16 rr . 1000...101000... .......... . . U . . 6 -pack 16 mm ax7 1000111101001... .......... . . U . . 13 -pack 16 mm ay7 1000...101001111 .......... . . U . . 13 -pack 16 mm axy7 1000111101001111 .......... . . U . . 13 -pack 16 mm . 1000...101001... .......... . . U . . 13 -pea 32 . . 0100100001...... A..DXWLdx. U U U 6 6 5 -reset 0 . . 0100111001110000 .......... S S S 0 0 0 -ror 8 s . 1110...000011... .......... U U U 6 6 8 -ror 16 s . 1110...001011... .......... U U U 6 6 8 -ror 32 s . 1110...010011... .......... U U U 8 8 8 -ror 8 r . 1110...000111... .......... U U U 6 6 8 -ror 16 r . 1110...001111... .......... U U U 6 6 8 -ror 32 r . 1110...010111... .......... U U U 8 8 8 -ror 16 . . 1110011011...... A+-DXWL... U U U 8 8 7 -rol 8 s . 1110...100011... .......... U U U 6 6 8 -rol 16 s . 1110...101011... .......... U U U 6 6 8 -rol 32 s . 1110...110011... .......... U U U 8 8 8 -rol 8 r . 1110...100111... .......... U U U 6 6 8 -rol 16 r . 1110...101111... .......... U U U 6 6 8 -rol 32 r . 1110...110111... .......... U U U 8 8 8 -rol 16 . . 1110011111...... A+-DXWL... U U U 8 8 7 -roxr 8 s . 1110...000010... .......... U U U 6 6 12 -roxr 16 s . 1110...001010... .......... U U U 6 6 12 -roxr 32 s . 1110...010010... .......... U U U 8 8 12 -roxr 8 r . 1110...000110... .......... U U U 6 6 12 -roxr 16 r . 1110...001110... .......... U U U 6 6 12 -roxr 32 r . 1110...010110... .......... U U U 8 8 12 -roxr 16 . . 1110010011...... A+-DXWL... U U U 8 8 5 -roxl 8 s . 1110...100010... .......... U U U 6 6 12 -roxl 16 s . 1110...101010... .......... U U U 6 6 12 -roxl 32 s . 1110...110010... .......... U U U 8 8 12 -roxl 8 r . 1110...100110... .......... U U U 6 6 12 -roxl 16 r . 1110...101110... .......... U U U 6 6 12 -roxl 32 r . 1110...110110... .......... U U U 8 8 12 -roxl 16 . . 1110010111...... A+-DXWL... U U U 8 8 5 -rtd 32 . . 0100111001110100 .......... . U U . 16 10 -rte 32 . . 0100111001110011 .......... S S S 20 24 20 bus fault not emulated -rtm 32 . . 000001101100.... .......... . . U . . 19 not properly emulated -rtr 32 . . 0100111001110111 .......... U U U 20 20 14 -rts 32 . . 0100111001110101 .......... U U U 16 16 10 -sbcd 8 rr . 1000...100000... .......... U U U 6 6 4 -sbcd 8 mm ax7 1000111100001... .......... U U U 18 18 16 -sbcd 8 mm ay7 1000...100001111 .......... U U U 18 18 16 -sbcd 8 mm axy7 1000111100001111 .......... U U U 18 18 16 -sbcd 8 mm . 1000...100001... .......... U U U 18 18 16 -st 8 . d 0101000011000... .......... U U U 6 4 4 -st 8 . . 0101000011...... A+-DXWL... U U U 8 8 6 -sf 8 . d 0101000111000... .......... U U U 4 4 4 -sf 8 . . 0101000111...... A+-DXWL... U U U 8 8 6 -scc 8 . d 0101....11000... .......... U U U 4 4 4 -scc 8 . . 0101....11...... A+-DXWL... U U U 8 8 6 -stop 0 . . 0100111001110010 .......... S S S 4 4 8 -sub 8 er d 1001...000000... .......... U U U 4 4 2 -sub 8 er . 1001...000...... A+-DXWLdxI U U U 4 4 2 -sub 16 er d 1001...001000... .......... U U U 4 4 2 -sub 16 er a 1001...001001... .......... U U U 4 4 2 -sub 16 er . 1001...001...... A+-DXWLdxI U U U 4 4 2 -sub 32 er d 1001...010000... .......... U U U 6 6 2 -sub 32 er a 1001...010001... .......... U U U 6 6 2 -sub 32 er . 1001...010...... A+-DXWLdxI U U U 6 6 2 -sub 8 re . 1001...100...... A+-DXWL... U U U 8 8 4 -sub 16 re . 1001...101...... A+-DXWL... U U U 8 8 4 -sub 32 re . 1001...110...... A+-DXWL... U U U 12 12 4 -suba 16 . d 1001...011000... .......... U U U 8 8 2 -suba 16 . a 1001...011001... .......... U U U 8 8 2 -suba 16 . . 1001...011...... A+-DXWLdxI U U U 8 8 2 -suba 32 . d 1001...111000... .......... U U U 6 6 2 -suba 32 . a 1001...111001... .......... U U U 6 6 2 -suba 32 . . 1001...111...... A+-DXWLdxI U U U 6 6 2 -subi 8 . d 0000010000000... .......... U U U 8 8 2 -subi 8 . . 0000010000...... A+-DXWL... U U U 12 12 4 -subi 16 . d 0000010001000... .......... U U U 8 8 2 -subi 16 . . 0000010001...... A+-DXWL... U U U 12 12 4 -subi 32 . d 0000010010000... .......... U U U 16 14 2 -subi 32 . . 0000010010...... A+-DXWL... U U U 20 20 4 -subq 8 . d 0101...100000... .......... U U U 4 4 2 -subq 8 . . 0101...100...... A+-DXWL... U U U 8 8 4 -subq 16 . d 0101...101000... .......... U U U 4 4 2 -subq 16 . a 0101...101001... .......... U U U 8 4 2 -subq 16 . . 0101...101...... A+-DXWL... U U U 8 8 4 -subq 32 . d 0101...110000... .......... U U U 8 8 2 -subq 32 . a 0101...110001... .......... U U U 8 8 2 -subq 32 . . 0101...110...... A+-DXWL... U U U 12 12 4 -subx 8 rr . 1001...100000... .......... U U U 4 4 2 -subx 16 rr . 1001...101000... .......... U U U 4 4 2 -subx 32 rr . 1001...110000... .......... U U U 8 6 2 -subx 8 mm ax7 1001111100001... .......... U U U 18 18 12 -subx 8 mm ay7 1001...100001111 .......... U U U 18 18 12 -subx 8 mm axy7 1001111100001111 .......... U U U 18 18 12 -subx 8 mm . 1001...100001... .......... U U U 18 18 12 -subx 16 mm . 1001...101001... .......... U U U 18 18 12 -subx 32 mm . 1001...110001... .......... U U U 30 30 12 -swap 32 . . 0100100001000... .......... U U U 4 4 4 -tas 8 . d 0100101011000... .......... U U U 4 4 4 -tas 8 . . 0100101011...... A+-DXWL... U U U 14 14 12 -trap 0 . . 010011100100.... .......... U U U 4 4 4 -trapt 0 . . 0101000011111100 .......... . . U . . 4 -trapt 16 . . 0101000011111010 .......... . . U . . 6 -trapt 32 . . 0101000011111011 .......... . . U . . 8 -trapf 0 . . 0101000111111100 .......... . . U . . 4 -trapf 16 . . 0101000111111010 .......... . . U . . 6 -trapf 32 . . 0101000111111011 .......... . . U . . 8 -trapcc 0 . . 0101....11111100 .......... . . U . . 4 -trapcc 16 . . 0101....11111010 .......... . . U . . 6 -trapcc 32 . . 0101....11111011 .......... . . U . . 8 -trapv 0 . . 0100111001110110 .......... U U U 4 4 4 -tst 8 . d 0100101000000... .......... U U U 4 4 2 -tst 8 . . 0100101000...... A+-DXWL... U U U 4 4 2 -tst 8 . pcdi 0100101000111010 .......... . . U . . 7 -tst 8 . pcix 0100101000111011 .......... . . U . . 9 -tst 8 . i 0100101000111100 .......... . . U . . 6 -tst 16 . d 0100101001000... .......... U U U 4 4 2 -tst 16 . a 0100101001001... .......... . . U . . 2 -tst 16 . . 0100101001...... A+-DXWL... U U U 4 4 2 -tst 16 . pcdi 0100101001111010 .......... . . U . . 7 -tst 16 . pcix 0100101001111011 .......... . . U . . 9 -tst 16 . i 0100101001111100 .......... . . U . . 6 -tst 32 . d 0100101010000... .......... U U U 4 4 2 -tst 32 . a 0100101010001... .......... . . U . . 2 -tst 32 . . 0100101010...... A+-DXWL... U U U 4 4 2 -tst 32 . pcdi 0100101010111010 .......... . . U . . 7 -tst 32 . pcix 0100101010111011 .......... . . U . . 9 -tst 32 . i 0100101010111100 .......... . . U . . 6 -unlk 32 . a7 0100111001011111 .......... U U U 12 12 6 -unlk 32 . . 0100111001011... .......... U U U 12 12 6 -unpk 16 rr . 1000...110000... .......... . . U . . 8 -unpk 16 mm ax7 1000111110001... .......... . . U . . 13 -unpk 16 mm ay7 1000...110001111 .......... . . U . . 13 -unpk 16 mm axy7 1000111110001111 .......... . . U . . 13 -unpk 16 mm . 1000...110001... .......... . . U . . 13 - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_OPCODE_HANDLER_BODY - -M68KMAKE_OP(1010, 0, ., .) -{ - m68ki_exception_1010(); -} - - -M68KMAKE_OP(1111, 0, ., .) -{ - m68ki_exception_1111(); -} - - -M68KMAKE_OP(abcd, 8, rr, .) -{ - uint* r_dst = &DX; - uint src = DY; - uint dst = *r_dst; - uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); - - if(res > 9) - res += 6; - res += HIGH_NIBBLE(src) + HIGH_NIBBLE(dst); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res -= 0xa0; - - FLAG_N = NFLAG_8(res); /* officially undefined */ - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; -} - - -M68KMAKE_OP(abcd, 8, mm, ax7) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); - - if(res > 9) - res += 6; - res += HIGH_NIBBLE(src) + HIGH_NIBBLE(dst); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res -= 0xa0; - - FLAG_N = NFLAG_8(res); /* officially undefined */ - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(abcd, 8, mm, ay7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); - - if(res > 9) - res += 6; - res += HIGH_NIBBLE(src) + HIGH_NIBBLE(dst); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res -= 0xa0; - - FLAG_N = NFLAG_8(res); /* officially undefined */ - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(abcd, 8, mm, axy7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); - - if(res > 9) - res += 6; - res += HIGH_NIBBLE(src) + HIGH_NIBBLE(dst); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res -= 0xa0; - - FLAG_N = NFLAG_8(res); /* officially undefined */ - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(abcd, 8, mm, .) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); - - if(res > 9) - res += 6; - res += HIGH_NIBBLE(src) + HIGH_NIBBLE(dst); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res -= 0xa0; - - FLAG_N = NFLAG_8(res); /* officially undefined */ - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(add, 8, er, d) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_8(DY); - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(add, 8, er, .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_8; - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(add, 16, er, d) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(DY); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(add, 16, er, a) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(AY); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(add, 16, er, .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_16; - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(add, 32, er, d) -{ - uint* r_dst = &DX; - uint src = DY; - uint dst = *r_dst; - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(add, 32, er, a) -{ - uint* r_dst = &DX; - uint src = AY; - uint dst = *r_dst; - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(add, 32, er, .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_32; - uint dst = *r_dst; - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(add, 8, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = MASK_OUT_ABOVE_8(DX); - uint dst = m68ki_read_8(ea); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(add, 16, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = MASK_OUT_ABOVE_16(DX); - uint dst = m68ki_read_16(ea); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(add, 32, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint src = DX; - uint dst = m68ki_read_32(ea); - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(adda, 16, ., d) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(DY)); -} - - -M68KMAKE_OP(adda, 16, ., a) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(AY)); -} - - -M68KMAKE_OP(adda, 16, ., .) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(M68KMAKE_GET_OPER_AY_16)); -} - - -M68KMAKE_OP(adda, 32, ., d) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + DY); -} - - -M68KMAKE_OP(adda, 32, ., a) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + AY); -} - - -M68KMAKE_OP(adda, 32, ., .) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + M68KMAKE_GET_OPER_AY_32); -} - - -M68KMAKE_OP(addi, 8, ., d) -{ - uint* r_dst = &DY; - uint src = OPER_I_8(); - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(addi, 8, ., .) -{ - uint src = OPER_I_8(); - uint ea = M68KMAKE_GET_EA_AY_8; - uint dst = m68ki_read_8(ea); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(addi, 16, ., d) -{ - uint* r_dst = &DY; - uint src = OPER_I_16(); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(addi, 16, ., .) -{ - uint src = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - uint dst = m68ki_read_16(ea); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(addi, 32, ., d) -{ - uint* r_dst = &DY; - uint src = OPER_I_32(); - uint dst = *r_dst; - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(addi, 32, ., .) -{ - uint src = OPER_I_32(); - uint ea = M68KMAKE_GET_EA_AY_32; - uint dst = m68ki_read_32(ea); - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(addq, 8, ., d) -{ - uint* r_dst = &DY; - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(addq, 8, ., .) -{ - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint ea = M68KMAKE_GET_EA_AY_8; - uint dst = m68ki_read_8(ea); - uint res = src + dst; - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(addq, 16, ., d) -{ - uint* r_dst = &DY; - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(addq, 16, ., a) -{ - uint* r_dst = &AY; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + (((REG_IR >> 9) - 1) & 7) + 1); -} - - -M68KMAKE_OP(addq, 16, ., .) -{ - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint ea = M68KMAKE_GET_EA_AY_16; - uint dst = m68ki_read_16(ea); - uint res = src + dst; - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(addq, 32, ., d) -{ - uint* r_dst = &DY; - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint dst = *r_dst; - uint res = src + dst; - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(addq, 32, ., a) -{ - uint* r_dst = &AY; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst + (((REG_IR >> 9) - 1) & 7) + 1); -} - - -M68KMAKE_OP(addq, 32, ., .) -{ - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint ea = M68KMAKE_GET_EA_AY_32; - uint dst = m68ki_read_32(ea); - uint res = src + dst; - - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(addx, 8, rr, .) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_8(DY); - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; -} - - -M68KMAKE_OP(addx, 16, rr, .) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(DY); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - - res = MASK_OUT_ABOVE_16(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; -} - - -M68KMAKE_OP(addx, 32, rr, .) -{ - uint* r_dst = &DX; - uint src = DY; - uint dst = *r_dst; - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - - res = MASK_OUT_ABOVE_32(res); - FLAG_Z |= res; - - *r_dst = res; -} - - -M68KMAKE_OP(addx, 8, mm, ax7) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(addx, 8, mm, ay7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(addx, 8, mm, axy7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(addx, 8, mm, .) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_V = VFLAG_ADD_8(src, dst, res); - FLAG_X = FLAG_C = CFLAG_8(res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(addx, 16, mm, .) -{ - uint src = OPER_AY_PD_16(); - uint ea = EA_AX_PD_16(); - uint dst = m68ki_read_16(ea); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_16(res); - FLAG_V = VFLAG_ADD_16(src, dst, res); - FLAG_X = FLAG_C = CFLAG_16(res); - - res = MASK_OUT_ABOVE_16(res); - FLAG_Z |= res; - - m68ki_write_16(ea, res); -} - - -M68KMAKE_OP(addx, 32, mm, .) -{ - uint src = OPER_AY_PD_32(); - uint ea = EA_AX_PD_32(); - uint dst = m68ki_read_32(ea); - uint res = src + dst + XFLAG_AS_1(); - - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_ADD_32(src, dst, res); - FLAG_X = FLAG_C = CFLAG_ADD_32(src, dst, res); - - res = MASK_OUT_ABOVE_32(res); - FLAG_Z |= res; - - m68ki_write_32(ea, res); -} - - -M68KMAKE_OP(and, 8, er, d) -{ - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (DY | 0xffffff00)); - - FLAG_N = NFLAG_8(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(and, 8, er, .) -{ - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (M68KMAKE_GET_OPER_AY_8 | 0xffffff00)); - - FLAG_N = NFLAG_8(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(and, 16, er, d) -{ - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (DY | 0xffff0000)); - - FLAG_N = NFLAG_16(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(and, 16, er, .) -{ - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (M68KMAKE_GET_OPER_AY_16 | 0xffff0000)); - - FLAG_N = NFLAG_16(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(and, 32, er, d) -{ - FLAG_Z = DX &= DY; - - FLAG_N = NFLAG_32(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(and, 32, er, .) -{ - FLAG_Z = DX &= M68KMAKE_GET_OPER_AY_32; - - FLAG_N = NFLAG_32(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(and, 8, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = DX & m68ki_read_8(ea); - - FLAG_N = NFLAG_8(res); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_Z = MASK_OUT_ABOVE_8(res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(and, 16, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = DX & m68ki_read_16(ea); - - FLAG_N = NFLAG_16(res); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_Z = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(and, 32, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = DX & m68ki_read_32(ea); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - - m68ki_write_32(ea, res); -} - - -M68KMAKE_OP(andi, 8, ., d) -{ - FLAG_Z = MASK_OUT_ABOVE_8(DY &= (OPER_I_8() | 0xffffff00)); - - FLAG_N = NFLAG_8(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(andi, 8, ., .) -{ - uint src = OPER_I_8(); - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = src & m68ki_read_8(ea); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(andi, 16, ., d) -{ - FLAG_Z = MASK_OUT_ABOVE_16(DY &= (OPER_I_16() | 0xffff0000)); - - FLAG_N = NFLAG_16(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(andi, 16, ., .) -{ - uint src = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = src & m68ki_read_16(ea); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - - m68ki_write_16(ea, res); -} - - -M68KMAKE_OP(andi, 32, ., d) -{ - FLAG_Z = DY &= (OPER_I_32()); - - FLAG_N = NFLAG_32(FLAG_Z); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(andi, 32, ., .) -{ - uint src = OPER_I_32(); - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = src & m68ki_read_32(ea); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - - m68ki_write_32(ea, res); -} - - -M68KMAKE_OP(andi, 16, toc, .) -{ - m68ki_set_ccr(m68ki_get_ccr() & OPER_I_16()); -} - - -M68KMAKE_OP(andi, 16, tos, .) -{ - if(FLAG_S) - { - uint src = OPER_I_16(); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(m68ki_get_sr() & src); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(asr, 8, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = src >> shift; - - if(GET_MSB_8(src)) - res |= m68ki_shift_8_table[shift]; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_X = FLAG_C = src << (9-shift); -} - - -M68KMAKE_OP(asr, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = src >> shift; - - if(GET_MSB_16(src)) - res |= m68ki_shift_16_table[shift]; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_X = FLAG_C = src << (9-shift); -} - - -M68KMAKE_OP(asr, 32, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = *r_dst; - uint res = src >> shift; - - if(GET_MSB_32(src)) - res |= m68ki_shift_32_table[shift]; - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_X = FLAG_C = src << (9-shift); -} - - -M68KMAKE_OP(asr, 8, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = src >> shift; - - if(shift != 0) - { - USE_CYCLES(shift<> shift; - - if(shift != 0) - { - USE_CYCLES(shift<> (shift - 1))<<8; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - if(GET_MSB_16(src)) - { - *r_dst |= 0xffff; - FLAG_C = CFLAG_SET; - FLAG_X = XFLAG_SET; - FLAG_N = NFLAG_SET; - FLAG_Z = ZFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - return; - } - - *r_dst &= 0xffff0000; - FLAG_C = CFLAG_CLEAR; - FLAG_X = XFLAG_CLEAR; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(asr, 32, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = *r_dst; - uint res = src >> shift; - - if(shift != 0) - { - USE_CYCLES(shift<> (shift - 1))<<8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - if(GET_MSB_32(src)) - { - *r_dst = 0xffffffff; - FLAG_C = CFLAG_SET; - FLAG_X = XFLAG_SET; - FLAG_N = NFLAG_SET; - FLAG_Z = ZFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - return; - } - - *r_dst = 0; - FLAG_C = CFLAG_CLEAR; - FLAG_X = XFLAG_CLEAR; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_32(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(asr, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = src >> 1; - - if(GET_MSB_16(src)) - res |= 0x8000; - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = FLAG_X = src << 8; -} - - -M68KMAKE_OP(asl, 8, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = MASK_OUT_ABOVE_8(src << shift); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_X = FLAG_C = src << shift; - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - src &= m68ki_shift_8_table[shift + 1]; - FLAG_V = (!(src == 0 || (src == m68ki_shift_8_table[shift + 1] && shift < 8)))<<7; -} - - -M68KMAKE_OP(asl, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = MASK_OUT_ABOVE_16(src << shift); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src >> (8-shift); - src &= m68ki_shift_16_table[shift + 1]; - FLAG_V = (!(src == 0 || src == m68ki_shift_16_table[shift + 1]))<<7; -} - - -M68KMAKE_OP(asl, 32, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32(src << shift); - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src >> (24-shift); - src &= m68ki_shift_32_table[shift + 1]; - FLAG_V = (!(src == 0 || src == m68ki_shift_32_table[shift + 1]))<<7; -} - - -M68KMAKE_OP(asl, 8, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = MASK_OUT_ABOVE_8(src << shift); - - if(shift != 0) - { - USE_CYCLES(shift<> 8; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - src &= m68ki_shift_16_table[shift + 1]; - FLAG_V = (!(src == 0 || src == m68ki_shift_16_table[shift + 1]))<<7; - return; - } - - *r_dst &= 0xffff0000; - FLAG_X = FLAG_C = ((shift == 16 ? src & 1 : 0))<<8; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = (!(src == 0))<<7; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(asl, 32, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32(src << shift); - - if(shift != 0) - { - USE_CYCLES(shift<> (32 - shift)) << 8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - src &= m68ki_shift_32_table[shift + 1]; - FLAG_V = (!(src == 0 || src == m68ki_shift_32_table[shift + 1]))<<7; - return; - } - - *r_dst = 0; - FLAG_X = FLAG_C = ((shift == 32 ? src & 1 : 0))<<8; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = (!(src == 0))<<7; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_32(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(asl, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = MASK_OUT_ABOVE_16(src << 1); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src >> 7; - src &= 0xc000; - FLAG_V = (!(src == 0 || src == 0xc000))<<7; -} - - -M68KMAKE_OP(bcc, 8, ., .) -{ - if(M68KMAKE_CC) - { - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); - return; - } - USE_CYCLES(CYC_BCC_NOTAKE_B); -} - - -M68KMAKE_OP(bcc, 16, ., .) -{ - if(M68KMAKE_CC) - { - uint offset = OPER_I_16(); - REG_PC -= 2; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); - return; - } - REG_PC += 2; - USE_CYCLES(CYC_BCC_NOTAKE_W); -} - - -M68KMAKE_OP(bcc, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - if(M68KMAKE_CC) - { - uint offset = OPER_I_32(); - REG_PC -= 4; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); - return; - } - REG_PC += 4; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bchg, 32, r, d) -{ - uint* r_dst = &DY; - uint mask = 1 << (DX & 0x1f); - - FLAG_Z = *r_dst & mask; - *r_dst ^= mask; -} - - -M68KMAKE_OP(bchg, 8, r, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - uint mask = 1 << (DX & 7); - - FLAG_Z = src & mask; - m68ki_write_8(ea, src ^ mask); -} - - -M68KMAKE_OP(bchg, 32, s, d) -{ - uint* r_dst = &DY; - uint mask = 1 << (OPER_I_8() & 0x1f); - - FLAG_Z = *r_dst & mask; - *r_dst ^= mask; -} - - -M68KMAKE_OP(bchg, 8, s, .) -{ - uint mask = 1 << (OPER_I_8() & 7); - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - - FLAG_Z = src & mask; - m68ki_write_8(ea, src ^ mask); -} - - -M68KMAKE_OP(bclr, 32, r, d) -{ - uint* r_dst = &DY; - uint mask = 1 << (DX & 0x1f); - - FLAG_Z = *r_dst & mask; - *r_dst &= ~mask; -} - - -M68KMAKE_OP(bclr, 8, r, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - uint mask = 1 << (DX & 7); - - FLAG_Z = src & mask; - m68ki_write_8(ea, src & ~mask); -} - - -M68KMAKE_OP(bclr, 32, s, d) -{ - uint* r_dst = &DY; - uint mask = 1 << (OPER_I_8() & 0x1f); - - FLAG_Z = *r_dst & mask; - *r_dst &= ~mask; -} - - -M68KMAKE_OP(bclr, 8, s, .) -{ - uint mask = 1 << (OPER_I_8() & 7); - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - - FLAG_Z = src & mask; - m68ki_write_8(ea, src & ~mask); -} - - -M68KMAKE_OP(bfchg, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint* data = &DY; - uint64 mask; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - offset &= 31; - width = ((width-1) & 31) + 1; - - mask = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask = ROR_32(mask, offset); - - FLAG_N = NFLAG_32(*data<>6)&31; - uint width = word2; - uint mask_base; - uint data_long; - uint mask_long; - uint data_byte = 0; - uint mask_byte = 0; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - mask_base = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask_long = mask_base >> offset; - - data_long = m68ki_read_32(ea); - FLAG_N = NFLAG_32(data_long << offset); - FLAG_Z = data_long & mask_long; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - m68ki_write_32(ea, data_long ^ mask_long); - - if((width + offset) > 32) - { - mask_byte = MASK_OUT_ABOVE_8(mask_base); - data_byte = m68ki_read_8(ea+4); - FLAG_Z |= (data_byte & mask_byte); - m68ki_write_8(ea+4, data_byte ^ mask_byte); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfclr, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint* data = &DY; - uint64 mask; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - - offset &= 31; - width = ((width-1) & 31) + 1; - - - mask = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask = ROR_32(mask, offset); - - FLAG_N = NFLAG_32(*data<>6)&31; - uint width = word2; - uint mask_base; - uint data_long; - uint mask_long; - uint data_byte = 0; - uint mask_byte = 0; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - mask_base = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask_long = mask_base >> offset; - - data_long = m68ki_read_32(ea); - FLAG_N = NFLAG_32(data_long << offset); - FLAG_Z = data_long & mask_long; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - m68ki_write_32(ea, data_long & ~mask_long); - - if((width + offset) > 32) - { - mask_byte = MASK_OUT_ABOVE_8(mask_base); - data_byte = m68ki_read_8(ea+4); - FLAG_Z |= (data_byte & mask_byte); - m68ki_write_8(ea+4, data_byte & ~mask_byte); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfexts, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint64 data = DY; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - offset &= 31; - width = ((width-1) & 31) + 1; - - data = ROL_32(data, offset); - FLAG_N = NFLAG_32(data); - data = MAKE_INT_32(data) >> (32 - width); - - FLAG_Z = data; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - REG_D[(word2>>12)&7] = data; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfexts, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - sint offset = (word2>>6)&31; - uint width = word2; - uint data; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - data = m68ki_read_32(ea); - - data = MASK_OUT_ABOVE_32(data< 32) - data |= (m68ki_read_8(ea+4) << offset) >> 8; - - FLAG_N = NFLAG_32(data); - data = MAKE_INT_32(data) >> (32 - width); - - FLAG_Z = data; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - REG_D[(word2 >> 12) & 7] = data; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfextu, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint64 data = DY; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - offset &= 31; - width = ((width-1) & 31) + 1; - - data = ROL_32(data, offset); - FLAG_N = NFLAG_32(data); - data >>= 32 - width; - - FLAG_Z = data; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - REG_D[(word2>>12)&7] = data; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfextu, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - sint offset = (word2>>6)&31; - uint width = word2; - uint data; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - data = m68ki_read_32(ea); - data = MASK_OUT_ABOVE_32(data< 32) - data |= (m68ki_read_8(ea+4) << offset) >> 8; - - FLAG_N = NFLAG_32(data); - data >>= (32 - width); - - FLAG_Z = data; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - REG_D[(word2 >> 12) & 7] = data; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfffo, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint64 data = DY; - uint bit; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - offset &= 31; - width = ((width-1) & 31) + 1; - - data = ROL_32(data, offset); - FLAG_N = NFLAG_32(data); - data >>= 32 - width; - - FLAG_Z = data; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - for(bit = 1<<(width-1);bit && !(data & bit);bit>>= 1) - offset++; - - REG_D[(word2>>12)&7] = offset; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfffo, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - sint offset = (word2>>6)&31; - sint local_offset; - uint width = word2; - uint data; - uint bit; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - local_offset = offset % 8; - if(local_offset < 0) - { - local_offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - data = m68ki_read_32(ea); - data = MASK_OUT_ABOVE_32(data< 32) - data |= (m68ki_read_8(ea+4) << local_offset) >> 8; - - FLAG_N = NFLAG_32(data); - data >>= (32 - width); - - FLAG_Z = data; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - for(bit = 1<<(width-1);bit && !(data & bit);bit>>= 1) - offset++; - - REG_D[(word2>>12)&7] = offset; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfins, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint* data = &DY; - uint64 mask; - uint64 insert = REG_D[(word2>>12)&7]; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - - offset &= 31; - width = ((width-1) & 31) + 1; - - - mask = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask = ROR_32(mask, offset); - - insert = MASK_OUT_ABOVE_32(insert << (32 - width)); - FLAG_N = NFLAG_32(insert); - FLAG_Z = insert; - insert = ROR_32(insert, offset); - - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - *data &= ~mask; - *data |= insert; - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfins, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - sint offset = (word2>>6)&31; - uint width = word2; - uint insert_base = REG_D[(word2>>12)&7]; - uint insert_long; - uint insert_byte; - uint mask_base; - uint data_long; - uint mask_long; - uint data_byte = 0; - uint mask_byte = 0; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - mask_base = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask_long = mask_base >> offset; - - insert_base = MASK_OUT_ABOVE_32(insert_base << (32 - width)); - FLAG_N = NFLAG_32(insert_base); - FLAG_Z = insert_base; - insert_long = insert_base >> offset; - - data_long = m68ki_read_32(ea); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - m68ki_write_32(ea, (data_long & ~mask_long) | insert_long); - - if((width + offset) > 32) - { - mask_byte = MASK_OUT_ABOVE_8(mask_base); - insert_byte = MASK_OUT_ABOVE_8(insert_base); - data_byte = m68ki_read_8(ea+4); - FLAG_Z |= (data_byte & mask_byte); - m68ki_write_8(ea+4, (data_byte & ~mask_byte) | insert_byte); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bfset, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint* data = &DY; - uint64 mask; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - - offset &= 31; - width = ((width-1) & 31) + 1; - - - mask = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask = ROR_32(mask, offset); - - FLAG_N = NFLAG_32(*data<>6)&31; - uint width = word2; - uint mask_base; - uint data_long; - uint mask_long; - uint data_byte = 0; - uint mask_byte = 0; - uint ea = M68KMAKE_GET_EA_AY_8; - - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - - mask_base = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask_long = mask_base >> offset; - - data_long = m68ki_read_32(ea); - FLAG_N = NFLAG_32(data_long << offset); - FLAG_Z = data_long & mask_long; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - m68ki_write_32(ea, data_long | mask_long); - - if((width + offset) > 32) - { - mask_byte = MASK_OUT_ABOVE_8(mask_base); - data_byte = m68ki_read_8(ea+4); - FLAG_Z |= (data_byte & mask_byte); - m68ki_write_8(ea+4, data_byte | mask_byte); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bftst, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint offset = (word2>>6)&31; - uint width = word2; - uint* data = &DY; - uint64 mask; - - - if(BIT_B(word2)) - offset = REG_D[offset&7]; - if(BIT_5(word2)) - width = REG_D[width&7]; - - - offset &= 31; - width = ((width-1) & 31) + 1; - - - mask = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask = ROR_32(mask, offset); - - FLAG_N = NFLAG_32(*data<>6)&31; - uint width = word2; - uint mask_base; - uint data_long; - uint mask_long; - uint data_byte = 0; - uint mask_byte = 0; - uint ea = M68KMAKE_GET_EA_AY_8; - - if(BIT_B(word2)) - offset = MAKE_INT_32(REG_D[offset&7]); - if(BIT_5(word2)) - width = REG_D[width&7]; - - /* Offset is signed so we have to use ugly math =( */ - ea += offset / 8; - offset %= 8; - if(offset < 0) - { - offset += 8; - ea--; - } - width = ((width-1) & 31) + 1; - - - mask_base = MASK_OUT_ABOVE_32(0xffffffff << (32 - width)); - mask_long = mask_base >> offset; - - data_long = m68ki_read_32(ea); - FLAG_N = ((data_long & (0x80000000 >> offset))<>24; - FLAG_Z = data_long & mask_long; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - - if((width + offset) > 32) - { - mask_byte = MASK_OUT_ABOVE_8(mask_base); - data_byte = m68ki_read_8(ea+4); - FLAG_Z |= (data_byte & mask_byte); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bkpt, 0, ., .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - m68ki_bkpt_ack(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE) ? REG_IR & 7 : 0); /* auto-disable (see m68kcpu.h) */ - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bra, 8, ., .) -{ - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); - if(REG_PC == REG_PPC) - USE_ALL_CYCLES(); -} - - -M68KMAKE_OP(bra, 16, ., .) -{ - uint offset = OPER_I_16(); - REG_PC -= 2; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); - if(REG_PC == REG_PPC) - USE_ALL_CYCLES(); -} - - -M68KMAKE_OP(bra, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint offset = OPER_I_32(); - REG_PC -= 4; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); - if(REG_PC == REG_PPC) - USE_ALL_CYCLES(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(bset, 32, r, d) -{ - uint* r_dst = &DY; - uint mask = 1 << (DX & 0x1f); - - FLAG_Z = *r_dst & mask; - *r_dst |= mask; -} - - -M68KMAKE_OP(bset, 8, r, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - uint mask = 1 << (DX & 7); - - FLAG_Z = src & mask; - m68ki_write_8(ea, src | mask); -} - - -M68KMAKE_OP(bset, 32, s, d) -{ - uint* r_dst = &DY; - uint mask = 1 << (OPER_I_8() & 0x1f); - - FLAG_Z = *r_dst & mask; - *r_dst |= mask; -} - - -M68KMAKE_OP(bset, 8, s, .) -{ - uint mask = 1 << (OPER_I_8() & 7); - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - - FLAG_Z = src & mask; - m68ki_write_8(ea, src | mask); -} - - -M68KMAKE_OP(bsr, 8, ., .) -{ - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); -} - - -M68KMAKE_OP(bsr, 16, ., .) -{ - uint offset = OPER_I_16(); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - REG_PC -= 2; - m68ki_branch_16(offset); -} - - -M68KMAKE_OP(bsr, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint offset = OPER_I_32(); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - REG_PC -= 4; - m68ki_branch_32(offset); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(btst, 32, r, d) -{ - FLAG_Z = DY & (1 << (DX & 0x1f)); -} - - -M68KMAKE_OP(btst, 8, r, .) -{ - FLAG_Z = M68KMAKE_GET_OPER_AY_8 & (1 << (DX & 7)); -} - - -M68KMAKE_OP(btst, 32, s, d) -{ - FLAG_Z = DY & (1 << (OPER_I_8() & 0x1f)); -} - - -M68KMAKE_OP(btst, 8, s, .) -{ - uint bit = OPER_I_8() & 7; - - FLAG_Z = M68KMAKE_GET_OPER_AY_8 & (1 << bit); -} - - -M68KMAKE_OP(callm, 32, ., .) -{ - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - { - uint ea = M68KMAKE_GET_EA_AY_32; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cas, 8, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_8; - uint dest = m68ki_read_8(ea); - uint* compare = ®_D[word2 & 7]; - uint res = dest - MASK_OUT_ABOVE_8(*compare); - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(*compare, dest, res); - FLAG_C = CFLAG_8(res); - - if(COND_NE()) - *compare = MASK_OUT_BELOW_8(*compare) | dest; - else - { - USE_CYCLES(3); - m68ki_write_8(ea, MASK_OUT_ABOVE_8(REG_D[(word2 >> 6) & 7])); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cas, 16, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - uint dest = m68ki_read_16(ea); - uint* compare = ®_D[word2 & 7]; - uint res = dest - MASK_OUT_ABOVE_16(*compare); - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(*compare, dest, res); - FLAG_C = CFLAG_16(res); - - if(COND_NE()) - *compare = MASK_OUT_BELOW_16(*compare) | dest; - else - { - USE_CYCLES(3); - m68ki_write_16(ea, MASK_OUT_ABOVE_16(REG_D[(word2 >> 6) & 7])); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cas, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_32; - uint dest = m68ki_read_32(ea); - uint* compare = ®_D[word2 & 7]; - uint res = dest - *compare; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(*compare, dest, res); - FLAG_C = CFLAG_SUB_32(*compare, dest, res); - - if(COND_NE()) - *compare = dest; - else - { - USE_CYCLES(3); - m68ki_write_32(ea, REG_D[(word2 >> 6) & 7]); - } - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cas2, 16, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_32(); - uint* compare1 = ®_D[(word2 >> 16) & 7]; - uint ea1 = REG_DA[(word2 >> 28) & 15]; - uint dest1 = m68ki_read_16(ea1); - uint res1 = dest1 - MASK_OUT_ABOVE_16(*compare1); - uint* compare2 = ®_D[word2 & 7]; - uint ea2 = REG_DA[(word2 >> 12) & 15]; - uint dest2 = m68ki_read_16(ea2); - uint res2; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - FLAG_N = NFLAG_16(res1); - FLAG_Z = MASK_OUT_ABOVE_16(res1); - FLAG_V = VFLAG_SUB_16(*compare1, dest1, res1); - FLAG_C = CFLAG_16(res1); - - if(COND_EQ()) - { - res2 = dest2 - MASK_OUT_ABOVE_16(*compare2); - - FLAG_N = NFLAG_16(res2); - FLAG_Z = MASK_OUT_ABOVE_16(res2); - FLAG_V = VFLAG_SUB_16(*compare2, dest2, res2); - FLAG_C = CFLAG_16(res2); - - if(COND_EQ()) - { - USE_CYCLES(3); - m68ki_write_16(ea1, REG_D[(word2 >> 22) & 7]); - m68ki_write_16(ea2, REG_D[(word2 >> 6) & 7]); - return; - } - } - *compare1 = BIT_1F(word2) ? MAKE_INT_16(dest1) : MASK_OUT_BELOW_16(*compare1) | dest1; - *compare2 = BIT_F(word2) ? MAKE_INT_16(dest2) : MASK_OUT_BELOW_16(*compare2) | dest2; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cas2, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_32(); - uint* compare1 = ®_D[(word2 >> 16) & 7]; - uint ea1 = REG_DA[(word2 >> 28) & 15]; - uint dest1 = m68ki_read_32(ea1); - uint res1 = dest1 - *compare1; - uint* compare2 = ®_D[word2 & 7]; - uint ea2 = REG_DA[(word2 >> 12) & 15]; - uint dest2 = m68ki_read_32(ea2); - uint res2; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - FLAG_N = NFLAG_32(res1); - FLAG_Z = MASK_OUT_ABOVE_32(res1); - FLAG_V = VFLAG_SUB_32(*compare1, dest1, res1); - FLAG_C = CFLAG_SUB_32(*compare1, dest1, res1); - - if(COND_EQ()) - { - res2 = dest2 - *compare2; - - FLAG_N = NFLAG_32(res2); - FLAG_Z = MASK_OUT_ABOVE_32(res2); - FLAG_V = VFLAG_SUB_32(*compare2, dest2, res2); - FLAG_C = CFLAG_SUB_32(*compare2, dest2, res2); - - if(COND_EQ()) - { - USE_CYCLES(3); - m68ki_write_32(ea1, REG_D[(word2 >> 22) & 7]); - m68ki_write_32(ea2, REG_D[(word2 >> 6) & 7]); - return; - } - } - *compare1 = dest1; - *compare2 = dest2; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(chk, 16, ., d) -{ - sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(DY); - - if(src >= 0 && src <= bound) - { - return; - } - FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); -} - - -M68KMAKE_OP(chk, 16, ., .) -{ - sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16); - - if(src >= 0 && src <= bound) - { - return; - } - FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); -} - - -M68KMAKE_OP(chk, 32, ., d) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(DY); - - if(src >= 0 && src <= bound) - { - return; - } - FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(chk, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(M68KMAKE_GET_OPER_AY_32); - - if(src >= 0 && src <= bound) - { - return; - } - FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(chk2cmp2, 8, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint compare = REG_DA[(word2 >> 12) & 15]; - uint ea = M68KMAKE_GET_EA_AY_8; - uint lower_bound = m68ki_read_8(ea); - uint upper_bound = m68ki_read_8(ea + 1); - - if(!BIT_F(word2)) - compare = MAKE_INT_8(compare); - - FLAG_C = compare - lower_bound; - FLAG_Z = MASK_OUT_ABOVE_8(FLAG_C); - if(COND_CS()) - { - if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); - return; - } - - FLAG_C = upper_bound - compare; - FLAG_Z = MASK_OUT_ABOVE_8(FLAG_C); - if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(chk2cmp2, 16, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint compare = REG_DA[(word2 >> 12) & 15]; - uint ea = M68KMAKE_GET_EA_AY_16; - uint lower_bound = m68ki_read_16(ea); - uint upper_bound = m68ki_read_16(ea + 1); - - if(!BIT_F(word2)) - compare = MAKE_INT_16(compare); - - FLAG_C = compare - lower_bound; - FLAG_Z = MASK_OUT_ABOVE_16(FLAG_C); - FLAG_C = CFLAG_16(FLAG_C); - if(COND_CS()) - { - if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); - return; - } - - FLAG_C = upper_bound - compare; - FLAG_Z = MASK_OUT_ABOVE_16(FLAG_C); - FLAG_C = CFLAG_16(FLAG_C); - if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(chk2cmp2, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint compare = REG_DA[(word2 >> 12) & 15]; - uint ea = M68KMAKE_GET_EA_AY_32; - uint lower_bound = m68ki_read_32(ea); - uint upper_bound = m68ki_read_32(ea + 1); - - FLAG_C = compare - lower_bound; - FLAG_Z = MASK_OUT_ABOVE_32(FLAG_C); - FLAG_C = CFLAG_SUB_32(lower_bound, compare, FLAG_C); - if(COND_CS()) - { - if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); - return; - } - - FLAG_C = upper_bound - compare; - FLAG_Z = MASK_OUT_ABOVE_32(FLAG_C); - FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); - if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); - - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(clr, 8, ., d) -{ - DY &= 0xffffff00; - - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; -} - - -M68KMAKE_OP(clr, 8, ., .) -{ - m68ki_write_8(M68KMAKE_GET_EA_AY_8, 0); - - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; -} - - -M68KMAKE_OP(clr, 16, ., d) -{ - DY &= 0xffff0000; - - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; -} - - -M68KMAKE_OP(clr, 16, ., .) -{ - m68ki_write_16(M68KMAKE_GET_EA_AY_16, 0); - - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; -} - - -M68KMAKE_OP(clr, 32, ., d) -{ - DY = 0; - - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; -} - - -M68KMAKE_OP(clr, 32, ., .) -{ - m68ki_write_32(M68KMAKE_GET_EA_AY_32, 0); - - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; -} - - -M68KMAKE_OP(cmp, 8, ., d) -{ - uint src = MASK_OUT_ABOVE_8(DY); - uint dst = MASK_OUT_ABOVE_8(DX); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmp, 8, ., .) -{ - uint src = M68KMAKE_GET_OPER_AY_8; - uint dst = MASK_OUT_ABOVE_8(DX); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmp, 16, ., d) -{ - uint src = MASK_OUT_ABOVE_16(DY); - uint dst = MASK_OUT_ABOVE_16(DX); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); -} - - -M68KMAKE_OP(cmp, 16, ., a) -{ - uint src = MASK_OUT_ABOVE_16(AY); - uint dst = MASK_OUT_ABOVE_16(DX); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); -} - - -M68KMAKE_OP(cmp, 16, ., .) -{ - uint src = M68KMAKE_GET_OPER_AY_16; - uint dst = MASK_OUT_ABOVE_16(DX); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); -} - - -M68KMAKE_OP(cmp, 32, ., d) -{ - uint src = DY; - uint dst = DX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmp, 32, ., a) -{ - uint src = AY; - uint dst = DX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmp, 32, ., .) -{ - uint src = M68KMAKE_GET_OPER_AY_32; - uint dst = DX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpa, 16, ., d) -{ - uint src = MAKE_INT_16(DY); - uint dst = AX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpa, 16, ., a) -{ - uint src = MAKE_INT_16(AY); - uint dst = AX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpa, 16, ., .) -{ - uint src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16); - uint dst = AX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpa, 32, ., d) -{ - uint src = DY; - uint dst = AX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpa, 32, ., a) -{ - uint src = AY; - uint dst = AX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpa, 32, ., .) -{ - uint src = M68KMAKE_GET_OPER_AY_32; - uint dst = AX; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpi, 8, ., d) -{ - uint src = OPER_I_8(); - uint dst = MASK_OUT_ABOVE_8(DY); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmpi, 8, ., .) -{ - uint src = OPER_I_8(); - uint dst = M68KMAKE_GET_OPER_AY_8; - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmpi, 8, ., pcdi) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_I_8(); - uint dst = OPER_PCDI_8(); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cmpi, 8, ., pcix) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_I_8(); - uint dst = OPER_PCIX_8(); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cmpi, 16, ., d) -{ - uint src = OPER_I_16(); - uint dst = MASK_OUT_ABOVE_16(DY); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); -} - - -M68KMAKE_OP(cmpi, 16, ., .) -{ - uint src = OPER_I_16(); - uint dst = M68KMAKE_GET_OPER_AY_16; - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); -} - - -M68KMAKE_OP(cmpi, 16, ., pcdi) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_I_16(); - uint dst = OPER_PCDI_16(); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cmpi, 16, ., pcix) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_I_16(); - uint dst = OPER_PCIX_16(); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cmpi, 32, ., d) -{ - uint src = OPER_I_32(); - uint dst = DY; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpi, 32, ., .) -{ - uint src = OPER_I_32(); - uint dst = M68KMAKE_GET_OPER_AY_32; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cmpi, 32, ., pcdi) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_I_32(); - uint dst = OPER_PCDI_32(); - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cmpi, 32, ., pcix) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_I_32(); - uint dst = OPER_PCIX_32(); - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(cmpm, 8, ., ax7) -{ - uint src = OPER_AY_PI_8(); - uint dst = OPER_A7_PI_8(); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmpm, 8, ., ay7) -{ - uint src = OPER_A7_PI_8(); - uint dst = OPER_AX_PI_8(); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmpm, 8, ., axy7) -{ - uint src = OPER_A7_PI_8(); - uint dst = OPER_A7_PI_8(); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmpm, 8, ., .) -{ - uint src = OPER_AY_PI_8(); - uint dst = OPER_AX_PI_8(); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_C = CFLAG_8(res); -} - - -M68KMAKE_OP(cmpm, 16, ., .) -{ - uint src = OPER_AY_PI_16(); - uint dst = OPER_AX_PI_16(); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_C = CFLAG_16(res); -} - - -M68KMAKE_OP(cmpm, 32, ., .) -{ - uint src = OPER_AY_PI_32(); - uint dst = OPER_AX_PI_32(); - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_C = CFLAG_SUB_32(src, dst, res); -} - - -M68KMAKE_OP(cpbcc, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_1111(); -} - - -M68KMAKE_OP(cpdbcc, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_1111(); -} - - -M68KMAKE_OP(cpgen, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_1111(); -} - - -M68KMAKE_OP(cpscc, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_1111(); -} - - -M68KMAKE_OP(cptrapcc, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_1111(); -} - - -M68KMAKE_OP(dbt, 16, ., .) -{ - REG_PC += 2; -} - - -M68KMAKE_OP(dbf, 16, ., .) -{ - uint* r_dst = &DY; - uint res = MASK_OUT_ABOVE_16(*r_dst - 1); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - if(res != 0xffff) - { - uint offset = OPER_I_16(); - REG_PC -= 2; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); - return; - } - REG_PC += 2; -} - - -M68KMAKE_OP(dbcc, 16, ., .) -{ - if(M68KMAKE_NOT_CC) - { - uint* r_dst = &DY; - uint res = MASK_OUT_ABOVE_16(*r_dst - 1); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - if(res != 0xffff) - { - uint offset = OPER_I_16(); - REG_PC -= 2; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); - USE_CYCLES(CYC_DBCC_F_NOEXP); - return; - } - REG_PC += 2; - USE_CYCLES(CYC_DBCC_F_EXP); - return; - } - REG_PC += 2; -} - - -M68KMAKE_OP(divs, 16, ., d) -{ - uint* r_dst = &DX; - sint src = MAKE_INT_16(DY); - sint quotient; - sint remainder; - - if(src != 0) - { - if((uint32)*r_dst == 0x80000000 && src == -1) - { - FLAG_Z = 0; - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst = 0; - return; - } - - quotient = MAKE_INT_32(*r_dst) / src; - remainder = MAKE_INT_32(*r_dst) % src; - - if(quotient == MAKE_INT_16(quotient)) - { - FLAG_Z = quotient; - FLAG_N = NFLAG_16(quotient); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst = MASK_OUT_ABOVE_32(MASK_OUT_ABOVE_16(quotient) | (remainder << 16)); - return; - } - FLAG_V = VFLAG_SET; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); -} - - -M68KMAKE_OP(divs, 16, ., .) -{ - uint* r_dst = &DX; - sint src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16); - sint quotient; - sint remainder; - - if(src != 0) - { - if((uint32)*r_dst == 0x80000000 && src == -1) - { - FLAG_Z = 0; - FLAG_N = NFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst = 0; - return; - } - - quotient = MAKE_INT_32(*r_dst) / src; - remainder = MAKE_INT_32(*r_dst) % src; - - if(quotient == MAKE_INT_16(quotient)) - { - FLAG_Z = quotient; - FLAG_N = NFLAG_16(quotient); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst = MASK_OUT_ABOVE_32(MASK_OUT_ABOVE_16(quotient) | (remainder << 16)); - return; - } - FLAG_V = VFLAG_SET; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); -} - - -M68KMAKE_OP(divu, 16, ., d) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(DY); - - if(src != 0) - { - uint quotient = *r_dst / src; - uint remainder = *r_dst % src; - - if(quotient < 0x10000) - { - FLAG_Z = quotient; - FLAG_N = NFLAG_16(quotient); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst = MASK_OUT_ABOVE_32(MASK_OUT_ABOVE_16(quotient) | (remainder << 16)); - return; - } - FLAG_V = VFLAG_SET; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); -} - - -M68KMAKE_OP(divu, 16, ., .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_16; - - if(src != 0) - { - uint quotient = *r_dst / src; - uint remainder = *r_dst % src; - - if(quotient < 0x10000) - { - FLAG_Z = quotient; - FLAG_N = NFLAG_16(quotient); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst = MASK_OUT_ABOVE_32(MASK_OUT_ABOVE_16(quotient) | (remainder << 16)); - return; - } - FLAG_V = VFLAG_SET; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); -} - - -M68KMAKE_OP(divl, 32, ., d) -{ -#if M68K_USE_64_BIT - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint64 divisor = DY; - uint64 dividend = 0; - uint64 quotient = 0; - uint64 remainder = 0; - - if(divisor != 0) - { - if(BIT_A(word2)) /* 64 bit */ - { - dividend = REG_D[word2 & 7]; - dividend <<= 32; - dividend |= REG_D[(word2 >> 12) & 7]; - - if(BIT_B(word2)) /* signed */ - { - quotient = (uint64)((sint64)dividend / (sint64)((sint32)divisor)); - remainder = (uint64)((sint64)dividend % (sint64)((sint32)divisor)); - if((sint64)quotient != (sint64)((sint32)quotient)) - { - FLAG_V = VFLAG_SET; - return; - } - } - else /* unsigned */ - { - quotient = dividend / divisor; - if(quotient > 0xffffffff) - { - FLAG_V = VFLAG_SET; - return; - } - remainder = dividend % divisor; - } - } - else /* 32 bit */ - { - dividend = REG_D[(word2 >> 12) & 7]; - if(BIT_B(word2)) /* signed */ - { - quotient = (uint64)((sint64)((sint32)dividend) / (sint64)((sint32)divisor)); - remainder = (uint64)((sint64)((sint32)dividend) % (sint64)((sint32)divisor)); - } - else /* unsigned */ - { - quotient = dividend / divisor; - remainder = dividend % divisor; - } - } - - REG_D[word2 & 7] = remainder; - REG_D[(word2 >> 12) & 7] = quotient; - - FLAG_N = NFLAG_32(quotient); - FLAG_Z = quotient; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); - return; - } - m68ki_exception_illegal(); - -#else - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint divisor = DY; - uint dividend_hi = REG_D[word2 & 7]; - uint dividend_lo = REG_D[(word2 >> 12) & 7]; - uint quotient = 0; - uint remainder = 0; - uint dividend_neg = 0; - uint divisor_neg = 0; - sint i; - uint overflow; - - if(divisor != 0) - { - /* quad / long : long quotient, long remainder */ - if(BIT_A(word2)) - { - if(BIT_B(word2)) /* signed */ - { - /* special case in signed divide */ - if(dividend_hi == 0 && dividend_lo == 0x80000000 && divisor == 0xffffffff) - { - REG_D[word2 & 7] = 0; - REG_D[(word2 >> 12) & 7] = 0x80000000; - - FLAG_N = NFLAG_SET; - FLAG_Z = ZFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - if(GET_MSB_32(dividend_hi)) - { - dividend_neg = 1; - dividend_hi = (uint)MASK_OUT_ABOVE_32((-(sint)dividend_hi) - (dividend_lo != 0)); - dividend_lo = (uint)MASK_OUT_ABOVE_32(-(sint)dividend_lo); - } - if(GET_MSB_32(divisor)) - { - divisor_neg = 1; - divisor = (uint)MASK_OUT_ABOVE_32(-(sint)divisor); - - } - } - - /* if the upper long is greater than the divisor, we're overflowing. */ - if(dividend_hi >= divisor) - { - FLAG_V = VFLAG_SET; - return; - } - - for(i = 31; i >= 0; i--) - { - quotient <<= 1; - remainder = (remainder << 1) + ((dividend_hi >> i) & 1); - if(remainder >= divisor) - { - remainder -= divisor; - quotient++; - } - } - for(i = 31; i >= 0; i--) - { - quotient <<= 1; - overflow = GET_MSB_32(remainder); - remainder = (remainder << 1) + ((dividend_lo >> i) & 1); - if(remainder >= divisor || overflow) - { - remainder -= divisor; - quotient++; - } - } - - if(BIT_B(word2)) /* signed */ - { - if(quotient > 0x7fffffff) - { - FLAG_V = VFLAG_SET; - return; - } - if(dividend_neg) - { - remainder = (uint)MASK_OUT_ABOVE_32(-(sint)remainder); - quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient); - } - if(divisor_neg) - quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient); - } - - REG_D[word2 & 7] = remainder; - REG_D[(word2 >> 12) & 7] = quotient; - - FLAG_N = NFLAG_32(quotient); - FLAG_Z = quotient; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - - /* long / long: long quotient, maybe long remainder */ - if(BIT_B(word2)) /* signed */ - { - /* Special case in divide */ - if(dividend_lo == 0x80000000 && divisor == 0xffffffff) - { - FLAG_N = NFLAG_SET; - FLAG_Z = ZFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - REG_D[(word2 >> 12) & 7] = 0x80000000; - REG_D[word2 & 7] = 0; - return; - } - REG_D[word2 & 7] = MAKE_INT_32(dividend_lo) % MAKE_INT_32(divisor); - quotient = REG_D[(word2 >> 12) & 7] = MAKE_INT_32(dividend_lo) / MAKE_INT_32(divisor); - } - else - { - REG_D[word2 & 7] = MASK_OUT_ABOVE_32(dividend_lo) % MASK_OUT_ABOVE_32(divisor); - quotient = REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(dividend_lo) / MASK_OUT_ABOVE_32(divisor); - } - - FLAG_N = NFLAG_32(quotient); - FLAG_Z = quotient; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); - return; - } - m68ki_exception_illegal(); - -#endif -} - - -M68KMAKE_OP(divl, 32, ., .) -{ -#if M68K_USE_64_BIT - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint64 divisor = M68KMAKE_GET_OPER_AY_32; - uint64 dividend = 0; - uint64 quotient = 0; - uint64 remainder = 0; - - if(divisor != 0) - { - if(BIT_A(word2)) /* 64 bit */ - { - dividend = REG_D[word2 & 7]; - dividend <<= 32; - dividend |= REG_D[(word2 >> 12) & 7]; - - if(BIT_B(word2)) /* signed */ - { - quotient = (uint64)((sint64)dividend / (sint64)((sint32)divisor)); - remainder = (uint64)((sint64)dividend % (sint64)((sint32)divisor)); - if((sint64)quotient != (sint64)((sint32)quotient)) - { - FLAG_V = VFLAG_SET; - return; - } - } - else /* unsigned */ - { - quotient = dividend / divisor; - if(quotient > 0xffffffff) - { - FLAG_V = VFLAG_SET; - return; - } - remainder = dividend % divisor; - } - } - else /* 32 bit */ - { - dividend = REG_D[(word2 >> 12) & 7]; - if(BIT_B(word2)) /* signed */ - { - quotient = (uint64)((sint64)((sint32)dividend) / (sint64)((sint32)divisor)); - remainder = (uint64)((sint64)((sint32)dividend) % (sint64)((sint32)divisor)); - } - else /* unsigned */ - { - quotient = dividend / divisor; - remainder = dividend % divisor; - } - } - - REG_D[word2 & 7] = remainder; - REG_D[(word2 >> 12) & 7] = quotient; - - FLAG_N = NFLAG_32(quotient); - FLAG_Z = quotient; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); - return; - } - m68ki_exception_illegal(); - -#else - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint divisor = M68KMAKE_GET_OPER_AY_32; - uint dividend_hi = REG_D[word2 & 7]; - uint dividend_lo = REG_D[(word2 >> 12) & 7]; - uint quotient = 0; - uint remainder = 0; - uint dividend_neg = 0; - uint divisor_neg = 0; - sint i; - uint overflow; - - if(divisor != 0) - { - /* quad / long : long quotient, long remainder */ - if(BIT_A(word2)) - { - if(BIT_B(word2)) /* signed */ - { - /* special case in signed divide */ - if(dividend_hi == 0 && dividend_lo == 0x80000000 && divisor == 0xffffffff) - { - REG_D[word2 & 7] = 0; - REG_D[(word2 >> 12) & 7] = 0x80000000; - - FLAG_N = NFLAG_SET; - FLAG_Z = ZFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - if(GET_MSB_32(dividend_hi)) - { - dividend_neg = 1; - dividend_hi = (uint)MASK_OUT_ABOVE_32((-(sint)dividend_hi) - (dividend_lo != 0)); - dividend_lo = (uint)MASK_OUT_ABOVE_32(-(sint)dividend_lo); - } - if(GET_MSB_32(divisor)) - { - divisor_neg = 1; - divisor = (uint)MASK_OUT_ABOVE_32(-(sint)divisor); - - } - } - - /* if the upper long is greater than the divisor, we're overflowing. */ - if(dividend_hi >= divisor) - { - FLAG_V = VFLAG_SET; - return; - } - - for(i = 31; i >= 0; i--) - { - quotient <<= 1; - remainder = (remainder << 1) + ((dividend_hi >> i) & 1); - if(remainder >= divisor) - { - remainder -= divisor; - quotient++; - } - } - for(i = 31; i >= 0; i--) - { - quotient <<= 1; - overflow = GET_MSB_32(remainder); - remainder = (remainder << 1) + ((dividend_lo >> i) & 1); - if(remainder >= divisor || overflow) - { - remainder -= divisor; - quotient++; - } - } - - if(BIT_B(word2)) /* signed */ - { - if(quotient > 0x7fffffff) - { - FLAG_V = VFLAG_SET; - return; - } - if(dividend_neg) - { - remainder = (uint)MASK_OUT_ABOVE_32(-(sint)remainder); - quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient); - } - if(divisor_neg) - quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient); - } - - REG_D[word2 & 7] = remainder; - REG_D[(word2 >> 12) & 7] = quotient; - - FLAG_N = NFLAG_32(quotient); - FLAG_Z = quotient; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - - /* long / long: long quotient, maybe long remainder */ - if(BIT_B(word2)) /* signed */ - { - /* Special case in divide */ - if(dividend_lo == 0x80000000 && divisor == 0xffffffff) - { - FLAG_N = NFLAG_SET; - FLAG_Z = ZFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - REG_D[(word2 >> 12) & 7] = 0x80000000; - REG_D[word2 & 7] = 0; - return; - } - REG_D[word2 & 7] = MAKE_INT_32(dividend_lo) % MAKE_INT_32(divisor); - quotient = REG_D[(word2 >> 12) & 7] = MAKE_INT_32(dividend_lo) / MAKE_INT_32(divisor); - } - else - { - REG_D[word2 & 7] = MASK_OUT_ABOVE_32(dividend_lo) % MASK_OUT_ABOVE_32(divisor); - quotient = REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(dividend_lo) / MASK_OUT_ABOVE_32(divisor); - } - - FLAG_N = NFLAG_32(quotient); - FLAG_Z = quotient; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); - return; - } - m68ki_exception_illegal(); - -#endif -} - - -M68KMAKE_OP(eor, 8, ., d) -{ - uint res = MASK_OUT_ABOVE_8(DY ^= MASK_OUT_ABOVE_8(DX)); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eor, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eor, 16, ., d) -{ - uint res = MASK_OUT_ABOVE_16(DY ^= MASK_OUT_ABOVE_16(DX)); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eor, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eor, 32, ., d) -{ - uint res = DY ^= DX; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eor, 32, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = DX ^ m68ki_read_32(ea); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 8, ., d) -{ - uint res = MASK_OUT_ABOVE_8(DY ^= OPER_I_8()); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 8, ., .) -{ - uint src = OPER_I_8(); - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = src ^ m68ki_read_8(ea); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 16, ., d) -{ - uint res = MASK_OUT_ABOVE_16(DY ^= OPER_I_16()); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 16, ., .) -{ - uint src = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = src ^ m68ki_read_16(ea); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 32, ., d) -{ - uint res = DY ^= OPER_I_32(); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 32, ., .) -{ - uint src = OPER_I_32(); - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = src ^ m68ki_read_32(ea); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(eori, 16, toc, .) -{ - m68ki_set_ccr(m68ki_get_ccr() ^ OPER_I_16()); -} - - -M68KMAKE_OP(eori, 16, tos, .) -{ - if(FLAG_S) - { - uint src = OPER_I_16(); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(m68ki_get_sr() ^ src); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(exg, 32, dd, .) -{ - uint* reg_a = &DX; - uint* reg_b = &DY; - uint tmp = *reg_a; - *reg_a = *reg_b; - *reg_b = tmp; -} - - -M68KMAKE_OP(exg, 32, aa, .) -{ - uint* reg_a = &AX; - uint* reg_b = &AY; - uint tmp = *reg_a; - *reg_a = *reg_b; - *reg_b = tmp; -} - - -M68KMAKE_OP(exg, 32, da, .) -{ - uint* reg_a = &DX; - uint* reg_b = &AY; - uint tmp = *reg_a; - *reg_a = *reg_b; - *reg_b = tmp; -} - - -M68KMAKE_OP(ext, 16, ., .) -{ - uint* r_dst = &DY; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | MASK_OUT_ABOVE_8(*r_dst) | (GET_MSB_8(*r_dst) ? 0xff00 : 0); - - FLAG_N = NFLAG_16(*r_dst); - FLAG_Z = MASK_OUT_ABOVE_16(*r_dst); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(ext, 32, ., .) -{ - uint* r_dst = &DY; - - *r_dst = MASK_OUT_ABOVE_16(*r_dst) | (GET_MSB_16(*r_dst) ? 0xffff0000 : 0); - - FLAG_N = NFLAG_32(*r_dst); - FLAG_Z = *r_dst; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(extb, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint* r_dst = &DY; - - *r_dst = MASK_OUT_ABOVE_8(*r_dst) | (GET_MSB_8(*r_dst) ? 0xffffff00 : 0); - - FLAG_N = NFLAG_32(*r_dst); - FLAG_Z = *r_dst; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(illegal, 0, ., .) -{ - m68ki_exception_illegal(); -} - -M68KMAKE_OP(jmp, 32, ., .) -{ - m68ki_jump(M68KMAKE_GET_EA_AY_32); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - if(REG_PC == REG_PPC) - USE_ALL_CYCLES(); -} - - -M68KMAKE_OP(jsr, 32, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); -} - - -M68KMAKE_OP(lea, 32, ., .) -{ - AX = M68KMAKE_GET_EA_AY_32; -} - - -M68KMAKE_OP(link, 16, ., a7) -{ - REG_A[7] -= 4; - m68ki_write_32(REG_A[7], REG_A[7]); - REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + MAKE_INT_16(OPER_I_16())); -} - - -M68KMAKE_OP(link, 16, ., .) -{ - uint* r_dst = &AY; - - m68ki_push_32(*r_dst); - *r_dst = REG_A[7]; - REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + MAKE_INT_16(OPER_I_16())); -} - - -M68KMAKE_OP(link, 32, ., a7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_A[7] -= 4; - m68ki_write_32(REG_A[7], REG_A[7]); - REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + OPER_I_32()); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(link, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint* r_dst = &AY; - - m68ki_push_32(*r_dst); - *r_dst = REG_A[7]; - REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + OPER_I_32()); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(lsr, 8, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = src >> shift; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_CLEAR; - FLAG_Z = res; - FLAG_X = FLAG_C = src << (9-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsr, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = src >> shift; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_CLEAR; - FLAG_Z = res; - FLAG_X = FLAG_C = src << (9-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsr, 32, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = *r_dst; - uint res = src >> shift; - - *r_dst = res; - - FLAG_N = NFLAG_CLEAR; - FLAG_Z = res; - FLAG_X = FLAG_C = src << (9-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsr, 8, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = src >> shift; - - if(shift != 0) - { - USE_CYCLES(shift<> shift; - - if(shift != 0) - { - USE_CYCLES(shift<> (shift - 1))<<8; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - *r_dst &= 0xffff0000; - FLAG_X = XFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsr, 32, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = *r_dst; - uint res = src >> shift; - - if(shift != 0) - { - USE_CYCLES(shift<> (shift - 1))<<8; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - *r_dst = 0; - FLAG_X = FLAG_C = (shift == 32 ? GET_MSB_32(src)>>23 : 0); - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_32(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsr, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = src >> 1; - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_CLEAR; - FLAG_Z = res; - FLAG_C = FLAG_X = src << 8; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsl, 8, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = MASK_OUT_ABOVE_8(src << shift); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src << shift; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsl, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = MASK_OUT_ABOVE_16(src << shift); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src >> (8-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsl, 32, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32(src << shift); - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src >> (24-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsl, 8, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = MASK_OUT_ABOVE_8(src << shift); - - if(shift != 0) - { - USE_CYCLES(shift<> 8; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - *r_dst &= 0xffff0000; - FLAG_X = XFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsl, 32, r, .) -{ - uint* r_dst = &DY; - uint shift = DX & 0x3f; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32(src << shift); - - if(shift != 0) - { - USE_CYCLES(shift<> (32 - shift)) << 8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - *r_dst = 0; - FLAG_X = FLAG_C = ((shift == 32 ? src & 1 : 0))<<8; - FLAG_N = NFLAG_CLEAR; - FLAG_Z = ZFLAG_SET; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_32(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(lsl, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = MASK_OUT_ABOVE_16(src << 1); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_X = FLAG_C = src >> 7; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, d, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, d, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, ai, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AX_AI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, ai, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AX_AI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pi7, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_A7_PI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pi, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AX_PI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pi7, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_A7_PI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pi, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AX_PI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pd7, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_A7_PD_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pd, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AX_PD_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pd7, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_A7_PD_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, pd, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AX_PD_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, di, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AX_DI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, di, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AX_DI_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, ix, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AX_IX_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, ix, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AX_IX_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, aw, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AW_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, aw, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AW_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, al, d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - uint ea = EA_AL_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 8, al, .) -{ - uint res = M68KMAKE_GET_OPER_AY_8; - uint ea = EA_AL_8(); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, d, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, d, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, d, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, ai, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AX_AI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, ai, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AX_AI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, ai, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AX_AI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, pi, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AX_PI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, pi, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AX_PI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, pi, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AX_PI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, pd, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AX_PD_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, pd, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AX_PD_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, pd, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AX_PD_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, di, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AX_DI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, di, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AX_DI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, di, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AX_DI_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, ix, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AX_IX_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, ix, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AX_IX_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, ix, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AX_IX_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, aw, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AW_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, aw, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AW_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, aw, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AW_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, al, d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - uint ea = EA_AL_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, al, a) -{ - uint res = MASK_OUT_ABOVE_16(AY); - uint ea = EA_AL_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 16, al, .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - uint ea = EA_AL_16(); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, d, d) -{ - uint res = DY; - uint* r_dst = &DX; - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, d, a) -{ - uint res = AY; - uint* r_dst = &DX; - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, d, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint* r_dst = &DX; - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, ai, d) -{ - uint res = DY; - uint ea = EA_AX_AI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, ai, a) -{ - uint res = AY; - uint ea = EA_AX_AI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, ai, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AX_AI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, pi, d) -{ - uint res = DY; - uint ea = EA_AX_PI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, pi, a) -{ - uint res = AY; - uint ea = EA_AX_PI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, pi, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AX_PI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, pd, d) -{ - uint res = DY; - uint ea = EA_AX_PD_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, pd, a) -{ - uint res = AY; - uint ea = EA_AX_PD_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, pd, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AX_PD_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, di, d) -{ - uint res = DY; - uint ea = EA_AX_DI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, di, a) -{ - uint res = AY; - uint ea = EA_AX_DI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, di, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AX_DI_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, ix, d) -{ - uint res = DY; - uint ea = EA_AX_IX_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, ix, a) -{ - uint res = AY; - uint ea = EA_AX_IX_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, ix, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AX_IX_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, aw, d) -{ - uint res = DY; - uint ea = EA_AW_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, aw, a) -{ - uint res = AY; - uint ea = EA_AW_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, aw, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AW_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, al, d) -{ - uint res = DY; - uint ea = EA_AL_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, al, a) -{ - uint res = AY; - uint ea = EA_AL_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(move, 32, al, .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - uint ea = EA_AL_32(); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(movea, 16, ., d) -{ - AX = MAKE_INT_16(DY); -} - - -M68KMAKE_OP(movea, 16, ., a) -{ - AX = MAKE_INT_16(AY); -} - - -M68KMAKE_OP(movea, 16, ., .) -{ - AX = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16); -} - - -M68KMAKE_OP(movea, 32, ., d) -{ - AX = DY; -} - - -M68KMAKE_OP(movea, 32, ., a) -{ - AX = AY; -} - - -M68KMAKE_OP(movea, 32, ., .) -{ - AX = M68KMAKE_GET_OPER_AY_32; -} - - -M68KMAKE_OP(move, 16, frc, d) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - DY = MASK_OUT_BELOW_16(DY) | m68ki_get_ccr(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(move, 16, frc, .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - m68ki_write_16(M68KMAKE_GET_EA_AY_16, m68ki_get_ccr()); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(move, 16, toc, d) -{ - m68ki_set_ccr(DY); -} - - -M68KMAKE_OP(move, 16, toc, .) -{ - m68ki_set_ccr(M68KMAKE_GET_OPER_AY_16); -} - - -M68KMAKE_OP(move, 16, frs, d) -{ - if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ - { - DY = MASK_OUT_BELOW_16(DY) | m68ki_get_sr(); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(move, 16, frs, .) -{ - if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ - { - uint ea = M68KMAKE_GET_EA_AY_16; - m68ki_write_16(ea, m68ki_get_sr()); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(move, 16, tos, d) -{ - if(FLAG_S) - { - m68ki_set_sr(DY); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(move, 16, tos, .) -{ - if(FLAG_S) - { - uint new_sr = M68KMAKE_GET_OPER_AY_16; - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(move, 32, fru, .) -{ - if(FLAG_S) - { - AY = REG_USP; - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(move, 32, tou, .) -{ - if(FLAG_S) - { - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - REG_USP = AY; - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(movec, 32, cr, .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - if(FLAG_S) - { - uint word2 = OPER_I_16(); - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - switch (word2 & 0xfff) - { - case 0x000: /* SFC */ - REG_DA[(word2 >> 12) & 15] = REG_SFC; - return; - case 0x001: /* DFC */ - REG_DA[(word2 >> 12) & 15] = REG_DFC; - return; - case 0x002: /* CACR */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_DA[(word2 >> 12) & 15] = REG_CACR; - return; - } - return; - case 0x800: /* USP */ - REG_DA[(word2 >> 12) & 15] = REG_USP; - return; - case 0x801: /* VBR */ - REG_DA[(word2 >> 12) & 15] = REG_VBR; - return; - case 0x802: /* CAAR */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_DA[(word2 >> 12) & 15] = REG_CAAR; - return; - } - m68ki_exception_illegal(); - break; - case 0x803: /* MSP */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_DA[(word2 >> 12) & 15] = FLAG_M ? REG_SP : REG_MSP; - return; - } - m68ki_exception_illegal(); - return; - case 0x804: /* ISP */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_DA[(word2 >> 12) & 15] = FLAG_M ? REG_ISP : REG_SP; - return; - } - m68ki_exception_illegal(); - return; - default: - m68ki_exception_illegal(); - return; - } - } - m68ki_exception_privilege_violation(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(movec, 32, rc, .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - if(FLAG_S) - { - uint word2 = OPER_I_16(); - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - switch (word2 & 0xfff) - { - case 0x000: /* SFC */ - REG_SFC = REG_DA[(word2 >> 12) & 15] & 7; - return; - case 0x001: /* DFC */ - REG_DFC = REG_DA[(word2 >> 12) & 15] & 7; - return; - case 0x002: /* CACR */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_CACR = REG_DA[(word2 >> 12) & 15]; - return; - } - m68ki_exception_illegal(); - return; - case 0x800: /* USP */ - REG_USP = REG_DA[(word2 >> 12) & 15]; - return; - case 0x801: /* VBR */ - REG_VBR = REG_DA[(word2 >> 12) & 15]; - return; - case 0x802: /* CAAR */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_CAAR = REG_DA[(word2 >> 12) & 15]; - return; - } - m68ki_exception_illegal(); - return; - case 0x803: /* MSP */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* we are in supervisor mode so just check for M flag */ - if(!FLAG_M) - { - REG_MSP = REG_DA[(word2 >> 12) & 15]; - return; - } - REG_SP = REG_DA[(word2 >> 12) & 15]; - return; - } - m68ki_exception_illegal(); - return; - case 0x804: /* ISP */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - if(!FLAG_M) - { - REG_SP = REG_DA[(word2 >> 12) & 15]; - return; - } - REG_ISP = REG_DA[(word2 >> 12) & 15]; - return; - } - m68ki_exception_illegal(); - return; - default: - m68ki_exception_illegal(); - return; - } - } - m68ki_exception_privilege_violation(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(movem, 16, re, pd) -{ - uint i = 0; - uint register_list = OPER_I_16(); - uint ea = AY; - uint count = 0; - - for(; i < 16; i++) - if(register_list & (1 << i)) - { - ea -= 2; - m68ki_write_16(ea, MASK_OUT_ABOVE_16(REG_DA[15-i])); - count++; - } - AY = ea; - - USE_CYCLES(count<> 8)); - m68ki_write_8(ea += 2, MASK_OUT_ABOVE_8(src)); -} - - -M68KMAKE_OP(movep, 32, re, .) -{ - uint ea = EA_AY_DI_32(); - uint src = DX; - - m68ki_write_8(ea, MASK_OUT_ABOVE_8(src >> 24)); - m68ki_write_8(ea += 2, MASK_OUT_ABOVE_8(src >> 16)); - m68ki_write_8(ea += 2, MASK_OUT_ABOVE_8(src >> 8)); - m68ki_write_8(ea += 2, MASK_OUT_ABOVE_8(src)); -} - - -M68KMAKE_OP(movep, 16, er, .) -{ - uint ea = EA_AY_DI_16(); - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | ((m68ki_read_8(ea) << 8) + m68ki_read_8(ea + 2)); -} - - -M68KMAKE_OP(movep, 32, er, .) -{ - uint ea = EA_AY_DI_32(); - - DX = (m68ki_read_8(ea) << 24) + (m68ki_read_8(ea + 2) << 16) - + (m68ki_read_8(ea + 4) << 8) + m68ki_read_8(ea + 6); -} - - -M68KMAKE_OP(moves, 8, ., .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - if(FLAG_S) - { - uint word2 = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_8; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - if(BIT_B(word2)) /* Register to memory */ - { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); - return; - } - if(BIT_F(word2)) /* Memory to address register */ - { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - USE_CYCLES(2); - return; - } - /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - USE_CYCLES(2); - return; - } - m68ki_exception_privilege_violation(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(moves, 16, ., .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - if(FLAG_S) - { - uint word2 = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - if(BIT_B(word2)) /* Register to memory */ - { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); - return; - } - if(BIT_F(word2)) /* Memory to address register */ - { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - USE_CYCLES(2); - return; - } - /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - USE_CYCLES(2); - return; - } - m68ki_exception_privilege_violation(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(moves, 32, ., .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - if(FLAG_S) - { - uint word2 = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_32; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - if(BIT_B(word2)) /* Register to memory */ - { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - USE_CYCLES(2); - return; - } - /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - USE_CYCLES(2); - return; - } - m68ki_exception_privilege_violation(); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(moveq, 32, ., .) -{ - uint res = DX = MAKE_INT_8(MASK_OUT_ABOVE_8(REG_IR)); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(muls, 16, ., d) -{ - uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(DY) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); - - *r_dst = res; - - FLAG_Z = res; - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(muls, 16, ., .) -{ - uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(M68KMAKE_GET_OPER_AY_16) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); - - *r_dst = res; - - FLAG_Z = res; - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(mulu, 16, ., d) -{ - uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_16(DY) * MASK_OUT_ABOVE_16(*r_dst); - - *r_dst = res; - - FLAG_Z = res; - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(mulu, 16, ., .) -{ - uint* r_dst = &DX; - uint res = M68KMAKE_GET_OPER_AY_16 * MASK_OUT_ABOVE_16(*r_dst); - - *r_dst = res; - - FLAG_Z = res; - FLAG_N = NFLAG_32(res); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(mull, 32, ., d) -{ -#if M68K_USE_64_BIT - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint64 src = DY; - uint64 dst = REG_D[(word2 >> 12) & 7]; - uint64 res; - - FLAG_C = CFLAG_CLEAR; - - if(BIT_B(word2)) /* signed */ - { - res = (sint64)((sint32)src) * (sint64)((sint32)dst); - if(!BIT_A(word2)) - { - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_N = NFLAG_32(res); - FLAG_V = ((sint64)res != (sint32)res)<<7; - REG_D[(word2 >> 12) & 7] = FLAG_Z; - return; - } - FLAG_Z = MASK_OUT_ABOVE_32(res) | (res>>32); - FLAG_N = NFLAG_64(res); - FLAG_V = VFLAG_CLEAR; - REG_D[word2 & 7] = (res >> 32); - REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); - return; - } - - res = src * dst; - if(!BIT_A(word2)) - { - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_N = NFLAG_32(res); - FLAG_V = (res > 0xffffffff)<<7; - REG_D[(word2 >> 12) & 7] = FLAG_Z; - return; - } - FLAG_Z = MASK_OUT_ABOVE_32(res) | (res>>32); - FLAG_N = NFLAG_64(res); - FLAG_V = VFLAG_CLEAR; - REG_D[word2 & 7] = (res >> 32); - REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); - return; - } - m68ki_exception_illegal(); - -#else - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint src = DY; - uint dst = REG_D[(word2 >> 12) & 7]; - uint neg = GET_MSB_32(src ^ dst); - uint src1; - uint src2; - uint dst1; - uint dst2; - uint r1; - uint r2; - uint r3; - uint r4; - uint lo; - uint hi; - - FLAG_C = CFLAG_CLEAR; - - if(BIT_B(word2)) /* signed */ - { - if(GET_MSB_32(src)) - src = (uint)MASK_OUT_ABOVE_32(-(sint)src); - if(GET_MSB_32(dst)) - dst = (uint)MASK_OUT_ABOVE_32(-(sint)dst); - } - - src1 = MASK_OUT_ABOVE_16(src); - src2 = src>>16; - dst1 = MASK_OUT_ABOVE_16(dst); - dst2 = dst>>16; - - - r1 = src1 * dst1; - r2 = src1 * dst2; - r3 = src2 * dst1; - r4 = src2 * dst2; - - lo = r1 + (MASK_OUT_ABOVE_16(r2)<<16) + (MASK_OUT_ABOVE_16(r3)<<16); - hi = r4 + (r2>>16) + (r3>>16) + (((r1>>16) + MASK_OUT_ABOVE_16(r2) + MASK_OUT_ABOVE_16(r3)) >> 16); - - if(BIT_B(word2) && neg) - { - hi = (uint)MASK_OUT_ABOVE_32((-(sint)hi) - (lo != 0)); - lo = (uint)MASK_OUT_ABOVE_32(-(sint)lo); - } - - if(BIT_A(word2)) - { - REG_D[word2 & 7] = hi; - REG_D[(word2 >> 12) & 7] = lo; - FLAG_N = NFLAG_32(hi); - FLAG_Z = hi | lo; - FLAG_V = VFLAG_CLEAR; - return; - } - - REG_D[(word2 >> 12) & 7] = lo; - FLAG_N = NFLAG_32(lo); - FLAG_Z = lo; - if(BIT_B(word2)) - FLAG_V = (!((GET_MSB_32(lo) && hi == 0xffffffff) || (!GET_MSB_32(lo) && !hi)))<<7; - else - FLAG_V = (hi != 0) << 7; - return; - } - m68ki_exception_illegal(); - -#endif -} - - -M68KMAKE_OP(mull, 32, ., .) -{ -#if M68K_USE_64_BIT - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint64 src = M68KMAKE_GET_OPER_AY_32; - uint64 dst = REG_D[(word2 >> 12) & 7]; - uint64 res; - - FLAG_C = CFLAG_CLEAR; - - if(BIT_B(word2)) /* signed */ - { - res = (sint64)((sint32)src) * (sint64)((sint32)dst); - if(!BIT_A(word2)) - { - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_N = NFLAG_32(res); - FLAG_V = ((sint64)res != (sint32)res)<<7; - REG_D[(word2 >> 12) & 7] = FLAG_Z; - return; - } - FLAG_Z = MASK_OUT_ABOVE_32(res) | (res>>32); - FLAG_N = NFLAG_64(res); - FLAG_V = VFLAG_CLEAR; - REG_D[word2 & 7] = (res >> 32); - REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); - return; - } - - res = src * dst; - if(!BIT_A(word2)) - { - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_N = NFLAG_32(res); - FLAG_V = (res > 0xffffffff)<<7; - REG_D[(word2 >> 12) & 7] = FLAG_Z; - return; - } - FLAG_Z = MASK_OUT_ABOVE_32(res) | (res>>32); - FLAG_N = NFLAG_64(res); - FLAG_V = VFLAG_CLEAR; - REG_D[word2 & 7] = (res >> 32); - REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); - return; - } - m68ki_exception_illegal(); - -#else - - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint word2 = OPER_I_16(); - uint src = M68KMAKE_GET_OPER_AY_32; - uint dst = REG_D[(word2 >> 12) & 7]; - uint neg = GET_MSB_32(src ^ dst); - uint src1; - uint src2; - uint dst1; - uint dst2; - uint r1; - uint r2; - uint r3; - uint r4; - uint lo; - uint hi; - - FLAG_C = CFLAG_CLEAR; - - if(BIT_B(word2)) /* signed */ - { - if(GET_MSB_32(src)) - src = (uint)MASK_OUT_ABOVE_32(-(sint)src); - if(GET_MSB_32(dst)) - dst = (uint)MASK_OUT_ABOVE_32(-(sint)dst); - } - - src1 = MASK_OUT_ABOVE_16(src); - src2 = src>>16; - dst1 = MASK_OUT_ABOVE_16(dst); - dst2 = dst>>16; - - - r1 = src1 * dst1; - r2 = src1 * dst2; - r3 = src2 * dst1; - r4 = src2 * dst2; - - lo = r1 + (MASK_OUT_ABOVE_16(r2)<<16) + (MASK_OUT_ABOVE_16(r3)<<16); - hi = r4 + (r2>>16) + (r3>>16) + (((r1>>16) + MASK_OUT_ABOVE_16(r2) + MASK_OUT_ABOVE_16(r3)) >> 16); - - if(BIT_B(word2) && neg) - { - hi = (uint)MASK_OUT_ABOVE_32((-(sint)hi) - (lo != 0)); - lo = (uint)MASK_OUT_ABOVE_32(-(sint)lo); - } - - if(BIT_A(word2)) - { - REG_D[word2 & 7] = hi; - REG_D[(word2 >> 12) & 7] = lo; - FLAG_N = NFLAG_32(hi); - FLAG_Z = hi | lo; - FLAG_V = VFLAG_CLEAR; - return; - } - - REG_D[(word2 >> 12) & 7] = lo; - FLAG_N = NFLAG_32(lo); - FLAG_Z = lo; - if(BIT_B(word2)) - FLAG_V = (!((GET_MSB_32(lo) && hi == 0xffffffff) || (!GET_MSB_32(lo) && !hi)))<<7; - else - FLAG_V = (hi != 0) << 7; - return; - } - m68ki_exception_illegal(); - -#endif -} - - -M68KMAKE_OP(nbcd, 8, ., d) -{ - uint* r_dst = &DY; - uint dst = *r_dst; - uint res = MASK_OUT_ABOVE_8(0x9a - dst - XFLAG_AS_1()); - - if(res != 0x9a) - { - if((res & 0x0f) == 0xa) - res = (res & 0xf0) + 0x10; - - res = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_Z |= res; - FLAG_C = CFLAG_SET; - FLAG_X = XFLAG_SET; - } - else - { - FLAG_C = CFLAG_CLEAR; - FLAG_X = XFLAG_CLEAR; - } - FLAG_N = NFLAG_8(res); /* officially undefined */ -} - - -M68KMAKE_OP(nbcd, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint dst = m68ki_read_8(ea); - uint res = MASK_OUT_ABOVE_8(0x9a - dst - XFLAG_AS_1()); - - if(res != 0x9a) - { - if((res & 0x0f) == 0xa) - res = (res & 0xf0) + 0x10; - - res = MASK_OUT_ABOVE_8(res); - - m68ki_write_8(ea, MASK_OUT_ABOVE_8(res)); - - FLAG_Z |= res; - FLAG_C = CFLAG_SET; - FLAG_X = XFLAG_SET; - } - else - { - FLAG_C = CFLAG_CLEAR; - FLAG_X = XFLAG_CLEAR; - } - FLAG_N = NFLAG_8(res); /* officially undefined */ -} - - -M68KMAKE_OP(neg, 8, ., d) -{ - uint* r_dst = &DY; - uint res = 0 - MASK_OUT_ABOVE_8(*r_dst); - - FLAG_N = NFLAG_8(res); - FLAG_C = FLAG_X = CFLAG_8(res); - FLAG_V = *r_dst & res; - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(neg, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - uint res = 0 - src; - - FLAG_N = NFLAG_8(res); - FLAG_C = FLAG_X = CFLAG_8(res); - FLAG_V = src & res; - FLAG_Z = MASK_OUT_ABOVE_8(res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(neg, 16, ., d) -{ - uint* r_dst = &DY; - uint res = 0 - MASK_OUT_ABOVE_16(*r_dst); - - FLAG_N = NFLAG_16(res); - FLAG_C = FLAG_X = CFLAG_16(res); - FLAG_V = (*r_dst & res)>>8; - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(neg, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = 0 - src; - - FLAG_N = NFLAG_16(res); - FLAG_C = FLAG_X = CFLAG_16(res); - FLAG_V = (src & res)>>8; - FLAG_Z = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(neg, 32, ., d) -{ - uint* r_dst = &DY; - uint res = 0 - *r_dst; - - FLAG_N = NFLAG_32(res); - FLAG_C = FLAG_X = CFLAG_SUB_32(*r_dst, 0, res); - FLAG_V = (*r_dst & res)>>24; - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(neg, 32, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint src = m68ki_read_32(ea); - uint res = 0 - src; - - FLAG_N = NFLAG_32(res); - FLAG_C = FLAG_X = CFLAG_SUB_32(src, 0, res); - FLAG_V = (src & res)>>24; - FLAG_Z = MASK_OUT_ABOVE_32(res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(negx, 8, ., d) -{ - uint* r_dst = &DY; - uint res = 0 - MASK_OUT_ABOVE_8(*r_dst) - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = *r_dst & res; - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; -} - - -M68KMAKE_OP(negx, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = m68ki_read_8(ea); - uint res = 0 - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = src & res; - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(negx, 16, ., d) -{ - uint* r_dst = &DY; - uint res = 0 - MASK_OUT_ABOVE_16(*r_dst) - XFLAG_AS_1(); - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = (*r_dst & res)>>8; - - res = MASK_OUT_ABOVE_16(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; -} - - -M68KMAKE_OP(negx, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = 0 - MASK_OUT_ABOVE_16(src) - XFLAG_AS_1(); - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = (src & res)>>8; - - res = MASK_OUT_ABOVE_16(res); - FLAG_Z |= res; - - m68ki_write_16(ea, res); -} - - -M68KMAKE_OP(negx, 32, ., d) -{ - uint* r_dst = &DY; - uint res = 0 - MASK_OUT_ABOVE_32(*r_dst) - XFLAG_AS_1(); - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(*r_dst, 0, res); - FLAG_V = (*r_dst & res)>>24; - - res = MASK_OUT_ABOVE_32(res); - FLAG_Z |= res; - - *r_dst = res; -} - - -M68KMAKE_OP(negx, 32, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint src = m68ki_read_32(ea); - uint res = 0 - MASK_OUT_ABOVE_32(src) - XFLAG_AS_1(); - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, 0, res); - FLAG_V = (src & res)>>24; - - res = MASK_OUT_ABOVE_32(res); - FLAG_Z |= res; - - m68ki_write_32(ea, res); -} - - -M68KMAKE_OP(nop, 0, ., .) -{ - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ -} - - -M68KMAKE_OP(not, 8, ., d) -{ - uint* r_dst = &DY; - uint res = MASK_OUT_ABOVE_8(~*r_dst); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(not, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(not, 16, ., d) -{ - uint* r_dst = &DY; - uint res = MASK_OUT_ABOVE_16(~*r_dst); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(not, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(not, 32, ., d) -{ - uint* r_dst = &DY; - uint res = *r_dst = MASK_OUT_ABOVE_32(~*r_dst); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(not, 32, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 8, er, d) -{ - uint res = MASK_OUT_ABOVE_8((DX |= MASK_OUT_ABOVE_8(DY))); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 8, er, .) -{ - uint res = MASK_OUT_ABOVE_8((DX |= M68KMAKE_GET_OPER_AY_8)); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 16, er, d) -{ - uint res = MASK_OUT_ABOVE_16((DX |= MASK_OUT_ABOVE_16(DY))); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 16, er, .) -{ - uint res = MASK_OUT_ABOVE_16((DX |= M68KMAKE_GET_OPER_AY_16)); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 32, er, d) -{ - uint res = DX |= DY; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 32, er, .) -{ - uint res = DX |= M68KMAKE_GET_OPER_AY_32; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 8, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 16, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(or, 32, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = DX | m68ki_read_32(ea); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 8, ., d) -{ - uint res = MASK_OUT_ABOVE_8((DY |= OPER_I_8())); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 8, ., .) -{ - uint src = OPER_I_8(); - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = MASK_OUT_ABOVE_8(src | m68ki_read_8(ea)); - - m68ki_write_8(ea, res); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 16, ., d) -{ - uint res = MASK_OUT_ABOVE_16(DY |= OPER_I_16()); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 16, ., .) -{ - uint src = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - uint res = MASK_OUT_ABOVE_16(src | m68ki_read_16(ea)); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 32, ., d) -{ - uint res = DY |= OPER_I_32(); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 32, ., .) -{ - uint src = OPER_I_32(); - uint ea = M68KMAKE_GET_EA_AY_32; - uint res = src | m68ki_read_32(ea); - - m68ki_write_32(ea, res); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ori, 16, toc, .) -{ - m68ki_set_ccr(m68ki_get_ccr() | OPER_I_16()); -} - - -M68KMAKE_OP(ori, 16, tos, .) -{ - if(FLAG_S) - { - uint src = OPER_I_16(); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(m68ki_get_sr() | src); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(pack, 16, rr, .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: DX and DY are reversed in Motorola's docs */ - uint src = DY + OPER_I_16(); - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | ((src >> 4) & 0x00f0) | (src & 0x000f); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(pack, 16, mm, ax7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: AX and AY are reversed in Motorola's docs */ - uint ea_src = EA_AY_PD_8(); - uint src = m68ki_read_8(ea_src); - ea_src = EA_AY_PD_8(); - src = ((src << 8) | m68ki_read_8(ea_src)) + OPER_I_16(); - - m68ki_write_8(EA_A7_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(pack, 16, mm, ay7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: AX and AY are reversed in Motorola's docs */ - uint ea_src = EA_A7_PD_8(); - uint src = m68ki_read_8(ea_src); - ea_src = EA_A7_PD_8(); - src = ((src << 8) | m68ki_read_8(ea_src)) + OPER_I_16(); - - m68ki_write_8(EA_AX_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(pack, 16, mm, axy7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint ea_src = EA_A7_PD_8(); - uint src = m68ki_read_8(ea_src); - ea_src = EA_A7_PD_8(); - src = ((src << 8) | m68ki_read_8(ea_src)) + OPER_I_16(); - - m68ki_write_8(EA_A7_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(pack, 16, mm, .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: AX and AY are reversed in Motorola's docs */ - uint ea_src = EA_AY_PD_8(); - uint src = m68ki_read_8(ea_src); - ea_src = EA_AY_PD_8(); - src = ((src << 8) | m68ki_read_8(ea_src)) + OPER_I_16(); - - m68ki_write_8(EA_AX_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(pea, 32, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - - m68ki_push_32(ea); -} - - -M68KMAKE_OP(reset, 0, ., .) -{ - if(FLAG_S) - { - m68ki_output_reset(); /* auto-disable (see m68kcpu.h) */ - USE_CYCLES(CYC_RESET); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(ror, 8, s, .) -{ - uint* r_dst = &DY; - uint orig_shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint shift = orig_shift & 7; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROR_8(src, shift); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = src << (9-orig_shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ror, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = ROR_16(src, shift); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = src << (9-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ror, 32, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint64 src = *r_dst; - uint res = ROR_32(src, shift); - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = src << (9-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ror, 8, r, .) -{ - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - uint shift = orig_shift & 7; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROR_8(src, shift); - - if(orig_shift != 0) - { - USE_CYCLES(orig_shift<> ((shift - 1) & 15)) << 8; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ror, 32, r, .) -{ - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - uint shift = orig_shift & 31; - uint64 src = *r_dst; - uint res = ROR_32(src, shift); - - if(orig_shift != 0) - { - USE_CYCLES(orig_shift<> ((shift - 1) & 31)) << 8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_32(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(ror, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = ROR_16(src, 1); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = src << 8; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rol, 8, s, .) -{ - uint* r_dst = &DY; - uint orig_shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint shift = orig_shift & 7; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROL_8(src, shift); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_C = src << orig_shift; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rol, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = ROL_16(src, shift); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = src >> (8-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rol, 32, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint64 src = *r_dst; - uint res = ROL_32(src, shift); - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_C = src >> (24-shift); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rol, 8, r, .) -{ - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - uint shift = orig_shift & 7; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROL_8(src, shift); - - if(orig_shift != 0) - { - USE_CYCLES(orig_shift<> 8; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - FLAG_C = (src & 1)<<8; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_16(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rol, 32, r, .) -{ - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - uint shift = orig_shift & 31; - uint64 src = *r_dst; - uint res = ROL_32(src, shift); - - if(orig_shift != 0) - { - USE_CYCLES(orig_shift<> (32 - shift)) << 8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = CFLAG_CLEAR; - FLAG_N = NFLAG_32(src); - FLAG_Z = src; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rol, 16, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = m68ki_read_16(ea); - uint res = MASK_OUT_ABOVE_16(ROL_16(src, 1)); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_C = src >> 7; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxr, 8, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROR_9(src | (XFLAG_AS_1() << 8), shift); - - FLAG_C = FLAG_X = res; - res = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxr, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = ROR_17(src | (XFLAG_AS_1() << 16), shift); - - FLAG_C = FLAG_X = res >> 8; - res = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxr, 32, s, .) -{ -#if M68K_USE_64_BIT - - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint64 src = *r_dst; - uint64 res = src | (((uint64)XFLAG_AS_1()) << 32); - - res = ROR_33_64(res, shift); - - FLAG_C = FLAG_X = res >> 24; - res = MASK_OUT_ABOVE_32(res); - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - -#else - - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32((ROR_33(src, shift) & ~(1 << (32 - shift))) | (XFLAG_AS_1() << (32 - shift))); - uint new_x_flag = src & (1 << (shift - 1)); - - *r_dst = res; - - FLAG_C = FLAG_X = (new_x_flag != 0)<<8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - -#endif -} - - -M68KMAKE_OP(roxr, 8, r, .) -{ - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - - if(orig_shift != 0) - { - uint shift = orig_shift % 9; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROR_9(src | (XFLAG_AS_1() << 8), shift); - - USE_CYCLES(orig_shift<> 8; - res = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = FLAG_X; - FLAG_N = NFLAG_16(*r_dst); - FLAG_Z = MASK_OUT_ABOVE_16(*r_dst); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxr, 32, r, .) -{ -#if M68K_USE_64_BIT - - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - - if(orig_shift != 0) - { - uint shift = orig_shift % 33; - uint64 src = *r_dst; - uint64 res = src | (((uint64)XFLAG_AS_1()) << 32); - - res = ROR_33_64(res, shift); - - USE_CYCLES(orig_shift<> 24; - res = MASK_OUT_ABOVE_32(res); - - *r_dst = res; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = FLAG_X; - FLAG_N = NFLAG_32(*r_dst); - FLAG_Z = *r_dst; - FLAG_V = VFLAG_CLEAR; - -#else - - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - uint shift = orig_shift % 33; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32((ROR_33(src, shift) & ~(1 << (32 - shift))) | (XFLAG_AS_1() << (32 - shift))); - uint new_x_flag = src & (1 << (shift - 1)); - - if(orig_shift != 0) - USE_CYCLES(orig_shift<> 8; - res = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxl, 8, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROL_9(src | (XFLAG_AS_1() << 8), shift); - - FLAG_C = FLAG_X = res; - res = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxl, 16, s, .) -{ - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = MASK_OUT_ABOVE_16(*r_dst); - uint res = ROL_17(src | (XFLAG_AS_1() << 16), shift); - - FLAG_C = FLAG_X = res >> 8; - res = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxl, 32, s, .) -{ -#if M68K_USE_64_BIT - - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint64 src = *r_dst; - uint64 res = src | (((uint64)XFLAG_AS_1()) << 32); - - res = ROL_33_64(res, shift); - - FLAG_C = FLAG_X = res >> 24; - res = MASK_OUT_ABOVE_32(res); - - *r_dst = res; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - -#else - - uint* r_dst = &DY; - uint shift = (((REG_IR >> 9) - 1) & 7) + 1; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32((ROL_33(src, shift) & ~(1 << (shift - 1))) | (XFLAG_AS_1() << (shift - 1))); - uint new_x_flag = src & (1 << (32 - shift)); - - *r_dst = res; - - FLAG_C = FLAG_X = (new_x_flag != 0)<<8; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - -#endif -} - - -M68KMAKE_OP(roxl, 8, r, .) -{ - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - - - if(orig_shift != 0) - { - uint shift = orig_shift % 9; - uint src = MASK_OUT_ABOVE_8(*r_dst); - uint res = ROL_9(src | (XFLAG_AS_1() << 8), shift); - - USE_CYCLES(orig_shift<> 8; - res = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = FLAG_X; - FLAG_N = NFLAG_16(*r_dst); - FLAG_Z = MASK_OUT_ABOVE_16(*r_dst); - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(roxl, 32, r, .) -{ -#if M68K_USE_64_BIT - - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - - if(orig_shift != 0) - { - uint shift = orig_shift % 33; - uint64 src = *r_dst; - uint64 res = src | (((uint64)XFLAG_AS_1()) << 32); - - res = ROL_33_64(res, shift); - - USE_CYCLES(orig_shift<> 24; - res = MASK_OUT_ABOVE_32(res); - - *r_dst = res; - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - return; - } - - FLAG_C = FLAG_X; - FLAG_N = NFLAG_32(*r_dst); - FLAG_Z = *r_dst; - FLAG_V = VFLAG_CLEAR; - -#else - - uint* r_dst = &DY; - uint orig_shift = DX & 0x3f; - uint shift = orig_shift % 33; - uint src = *r_dst; - uint res = MASK_OUT_ABOVE_32((ROL_33(src, shift) & ~(1 << (shift - 1))) | (XFLAG_AS_1() << (shift - 1))); - uint new_x_flag = src & (1 << (32 - shift)); - - if(orig_shift != 0) - USE_CYCLES(orig_shift<> 8; - res = MASK_OUT_ABOVE_16(res); - - m68ki_write_16(ea, res); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(rtd, 32, ., .) -{ - if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) - { - uint new_pc = m68ki_pull_32(); - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + MAKE_INT_16(OPER_I_16())); - m68ki_jump(new_pc); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(rte, 32, ., .) -{ - if(FLAG_S) - { - uint new_sr; - uint new_pc; - uint format_word; - - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - - if(CPU_TYPE_IS_000(CPU_TYPE)) - { - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); - return; - } - - if(CPU_TYPE_IS_010(CPU_TYPE)) - { - format_word = m68ki_read_16(REG_A[7]+6) >> 12; - if(format_word == 0) - { - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_fake_pull_16(); /* format word */ - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); - return; - } - /* Not handling bus fault (9) */ - m68ki_exception_format_error(); - return; - } - - /* Otherwise it's 020 */ -rte_loop: - format_word = m68ki_read_16(REG_A[7]+6) >> 12; - switch(format_word) - { - case 0: /* Normal */ - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_fake_pull_16(); /* format word */ - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); - return; - case 1: /* Throwaway */ - new_sr = m68ki_pull_16(); - m68ki_fake_pull_32(); /* program counter */ - m68ki_fake_pull_16(); /* format word */ - m68ki_set_sr_noint(new_sr); - goto rte_loop; - case 2: /* Trap */ - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_fake_pull_16(); /* format word */ - m68ki_fake_pull_32(); /* address */ - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); - return; - } - /* Not handling long or short bus fault */ - m68ki_exception_format_error(); - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(rtm, 32, ., .) -{ - if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) - { - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR, - m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(rtr, 32, ., .) -{ - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_ccr(m68ki_pull_16()); - m68ki_jump(m68ki_pull_32()); -} - - -M68KMAKE_OP(rts, 32, ., .) -{ - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_jump(m68ki_pull_32()); -} - - -M68KMAKE_OP(sbcd, 8, rr, .) -{ - uint* r_dst = &DX; - uint src = DY; - uint dst = *r_dst; - uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); - - if(res > 9) - res -= 6; - res += HIGH_NIBBLE(dst) - HIGH_NIBBLE(src); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res += 0xa0; - - res = MASK_OUT_ABOVE_8(res); - - FLAG_N = NFLAG_8(res); /* officially undefined */ - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; -} - - -M68KMAKE_OP(sbcd, 8, mm, ax7) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); - - if(res > 9) - res -= 6; - res += HIGH_NIBBLE(dst) - HIGH_NIBBLE(src); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res += 0xa0; - - res = MASK_OUT_ABOVE_8(res); - - FLAG_N = NFLAG_8(res); /* officially undefined */ - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(sbcd, 8, mm, ay7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); - - if(res > 9) - res -= 6; - res += HIGH_NIBBLE(dst) - HIGH_NIBBLE(src); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res += 0xa0; - - res = MASK_OUT_ABOVE_8(res); - - FLAG_N = NFLAG_8(res); /* officially undefined */ - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(sbcd, 8, mm, axy7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); - - if(res > 9) - res -= 6; - res += HIGH_NIBBLE(dst) - HIGH_NIBBLE(src); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res += 0xa0; - - res = MASK_OUT_ABOVE_8(res); - - FLAG_N = NFLAG_8(res); /* officially undefined */ - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(sbcd, 8, mm, .) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); - - if(res > 9) - res -= 6; - res += HIGH_NIBBLE(dst) - HIGH_NIBBLE(src); - FLAG_X = FLAG_C = (res > 0x99) << 8; - if(FLAG_C) - res += 0xa0; - - res = MASK_OUT_ABOVE_8(res); - - FLAG_N = NFLAG_8(res); /* officially undefined */ - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(st, 8, ., d) -{ - DY |= 0xff; -} - - -M68KMAKE_OP(st, 8, ., .) -{ - m68ki_write_8(M68KMAKE_GET_EA_AY_8, 0xff); -} - - -M68KMAKE_OP(sf, 8, ., d) -{ - DY &= 0xffffff00; -} - - -M68KMAKE_OP(sf, 8, ., .) -{ - m68ki_write_8(M68KMAKE_GET_EA_AY_8, 0); -} - - -M68KMAKE_OP(scc, 8, ., d) -{ - if(M68KMAKE_CC) - { - DY |= 0xff; - return; - } - DY &= 0xffffff00; -} - - -M68KMAKE_OP(scc, 8, ., .) -{ - m68ki_write_8(M68KMAKE_GET_EA_AY_8, M68KMAKE_CC ? 0xff : 0); -} - - -M68KMAKE_OP(stop, 0, ., .) -{ - if(FLAG_S) - { - uint new_sr = OPER_I_16(); - m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - CPU_STOPPED |= STOP_LEVEL_STOP; - m68ki_set_sr(new_sr); - m68ki_remaining_cycles = 0; - return; - } - m68ki_exception_privilege_violation(); -} - - -M68KMAKE_OP(sub, 8, er, d) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_8(DY); - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(sub, 8, er, .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_8; - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(sub, 16, er, d) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(DY); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(sub, 16, er, a) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(AY); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(sub, 16, er, .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_16; - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(sub, 32, er, d) -{ - uint* r_dst = &DX; - uint src = DY; - uint dst = *r_dst; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(sub, 32, er, a) -{ - uint* r_dst = &DX; - uint src = AY; - uint dst = *r_dst; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(sub, 32, er, .) -{ - uint* r_dst = &DX; - uint src = M68KMAKE_GET_OPER_AY_32; - uint dst = *r_dst; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(sub, 8, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint src = MASK_OUT_ABOVE_8(DX); - uint dst = m68ki_read_8(ea); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(sub, 16, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_16; - uint src = MASK_OUT_ABOVE_16(DX); - uint dst = m68ki_read_16(ea); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(sub, 32, re, .) -{ - uint ea = M68KMAKE_GET_EA_AY_32; - uint src = DX; - uint dst = m68ki_read_32(ea); - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(suba, 16, ., d) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(DY)); -} - - -M68KMAKE_OP(suba, 16, ., a) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(AY)); -} - - -M68KMAKE_OP(suba, 16, ., .) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(M68KMAKE_GET_OPER_AY_16)); -} - - -M68KMAKE_OP(suba, 32, ., d) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - DY); -} - - -M68KMAKE_OP(suba, 32, ., a) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - AY); -} - - -M68KMAKE_OP(suba, 32, ., .) -{ - uint* r_dst = &AX; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - M68KMAKE_GET_OPER_AY_32); -} - - -M68KMAKE_OP(subi, 8, ., d) -{ - uint* r_dst = &DY; - uint src = OPER_I_8(); - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(subi, 8, ., .) -{ - uint src = OPER_I_8(); - uint ea = M68KMAKE_GET_EA_AY_8; - uint dst = m68ki_read_8(ea); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(subi, 16, ., d) -{ - uint* r_dst = &DY; - uint src = OPER_I_16(); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(subi, 16, ., .) -{ - uint src = OPER_I_16(); - uint ea = M68KMAKE_GET_EA_AY_16; - uint dst = m68ki_read_16(ea); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(subi, 32, ., d) -{ - uint* r_dst = &DY; - uint src = OPER_I_32(); - uint dst = *r_dst; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(subi, 32, ., .) -{ - uint src = OPER_I_32(); - uint ea = M68KMAKE_GET_EA_AY_32; - uint dst = m68ki_read_32(ea); - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(subq, 8, ., d) -{ - uint* r_dst = &DY; - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(subq, 8, ., .) -{ - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint ea = M68KMAKE_GET_EA_AY_8; - uint dst = m68ki_read_8(ea); - uint res = dst - src; - - FLAG_N = NFLAG_8(res); - FLAG_Z = MASK_OUT_ABOVE_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - m68ki_write_8(ea, FLAG_Z); -} - - -M68KMAKE_OP(subq, 16, ., d) -{ - uint* r_dst = &DY; - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | FLAG_Z; -} - - -M68KMAKE_OP(subq, 16, ., a) -{ - uint* r_dst = &AY; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - ((((REG_IR >> 9) - 1) & 7) + 1)); -} - - -M68KMAKE_OP(subq, 16, ., .) -{ - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint ea = M68KMAKE_GET_EA_AY_16; - uint dst = m68ki_read_16(ea); - uint res = dst - src; - - FLAG_N = NFLAG_16(res); - FLAG_Z = MASK_OUT_ABOVE_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - m68ki_write_16(ea, FLAG_Z); -} - - -M68KMAKE_OP(subq, 32, ., d) -{ - uint* r_dst = &DY; - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint dst = *r_dst; - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - *r_dst = FLAG_Z; -} - - -M68KMAKE_OP(subq, 32, ., a) -{ - uint* r_dst = &AY; - - *r_dst = MASK_OUT_ABOVE_32(*r_dst - ((((REG_IR >> 9) - 1) & 7) + 1)); -} - - -M68KMAKE_OP(subq, 32, ., .) -{ - uint src = (((REG_IR >> 9) - 1) & 7) + 1; - uint ea = M68KMAKE_GET_EA_AY_32; - uint dst = m68ki_read_32(ea); - uint res = dst - src; - - FLAG_N = NFLAG_32(res); - FLAG_Z = MASK_OUT_ABOVE_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - m68ki_write_32(ea, FLAG_Z); -} - - -M68KMAKE_OP(subx, 8, rr, .) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_8(DY); - uint dst = MASK_OUT_ABOVE_8(*r_dst); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; -} - - -M68KMAKE_OP(subx, 16, rr, .) -{ - uint* r_dst = &DX; - uint src = MASK_OUT_ABOVE_16(DY); - uint dst = MASK_OUT_ABOVE_16(*r_dst); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - res = MASK_OUT_ABOVE_16(res); - FLAG_Z |= res; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; -} - - -M68KMAKE_OP(subx, 32, rr, .) -{ - uint* r_dst = &DX; - uint src = DY; - uint dst = *r_dst; - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - res = MASK_OUT_ABOVE_32(res); - FLAG_Z |= res; - - *r_dst = res; -} - - -M68KMAKE_OP(subx, 8, mm, ax7) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(subx, 8, mm, ay7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(subx, 8, mm, axy7) -{ - uint src = OPER_A7_PD_8(); - uint ea = EA_A7_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(subx, 8, mm, .) -{ - uint src = OPER_AY_PD_8(); - uint ea = EA_AX_PD_8(); - uint dst = m68ki_read_8(ea); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_8(res); - FLAG_X = FLAG_C = CFLAG_8(res); - FLAG_V = VFLAG_SUB_8(src, dst, res); - - res = MASK_OUT_ABOVE_8(res); - FLAG_Z |= res; - - m68ki_write_8(ea, res); -} - - -M68KMAKE_OP(subx, 16, mm, .) -{ - uint src = OPER_AY_PD_16(); - uint ea = EA_AX_PD_16(); - uint dst = m68ki_read_16(ea); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_16(res); - FLAG_X = FLAG_C = CFLAG_16(res); - FLAG_V = VFLAG_SUB_16(src, dst, res); - - res = MASK_OUT_ABOVE_16(res); - FLAG_Z |= res; - - m68ki_write_16(ea, res); -} - - -M68KMAKE_OP(subx, 32, mm, .) -{ - uint src = OPER_AY_PD_32(); - uint ea = EA_AX_PD_32(); - uint dst = m68ki_read_32(ea); - uint res = dst - src - XFLAG_AS_1(); - - FLAG_N = NFLAG_32(res); - FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res); - FLAG_V = VFLAG_SUB_32(src, dst, res); - - res = MASK_OUT_ABOVE_32(res); - FLAG_Z |= res; - - m68ki_write_32(ea, res); -} - - -M68KMAKE_OP(swap, 32, ., .) -{ - uint* r_dst = &DY; - - FLAG_Z = MASK_OUT_ABOVE_32(*r_dst<<16); - *r_dst = (*r_dst>>16) | FLAG_Z; - - FLAG_Z = *r_dst; - FLAG_N = NFLAG_32(*r_dst); - FLAG_C = CFLAG_CLEAR; - FLAG_V = VFLAG_CLEAR; -} - - -M68KMAKE_OP(tas, 8, ., d) -{ - uint* r_dst = &DY; - - FLAG_Z = MASK_OUT_ABOVE_8(*r_dst); - FLAG_N = NFLAG_8(*r_dst); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - *r_dst |= 0x80; -} - - -M68KMAKE_OP(tas, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint dst = m68ki_read_8(ea); - - FLAG_Z = dst; - FLAG_N = NFLAG_8(dst); - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - m68ki_write_8(ea, dst | 0x80); -} - - -M68KMAKE_OP(trap, 0, ., .) -{ - /* Trap#n stacks exception frame type 0 */ - m68ki_exception_trapN(EXCEPTION_TRAP_BASE + (REG_IR & 0xf)); /* HJB 990403 */ -} - - -M68KMAKE_OP(trapt, 0, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapt, 16, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapt, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapf, 0, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapf, 16, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_PC += 2; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapf, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - REG_PC += 4; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapcc, 0, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - if(M68KMAKE_CC) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapcc, 16, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - if(M68KMAKE_CC) - { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ - return; - } - REG_PC += 2; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapcc, 32, ., .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - if(M68KMAKE_CC) - { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ - return; - } - REG_PC += 4; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(trapv, 0, ., .) -{ - if(COND_VC()) - { - return; - } - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ -} - - -M68KMAKE_OP(tst, 8, ., d) -{ - uint res = MASK_OUT_ABOVE_8(DY); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(tst, 8, ., .) -{ - uint ea = M68KMAKE_GET_EA_AY_8; - uint res = m68ki_read_8(ea); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(tst, 8, ., pcdi) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_PCDI_8(); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 8, ., pcix) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_PCIX_8(); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 8, ., i) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_I_8(); - - FLAG_N = NFLAG_8(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 16, ., d) -{ - uint res = MASK_OUT_ABOVE_16(DY); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(tst, 16, ., a) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = MAKE_INT_16(AY); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 16, ., .) -{ - uint res = M68KMAKE_GET_OPER_AY_16; - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(tst, 16, ., pcdi) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_PCDI_16(); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 16, ., pcix) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_PCIX_16(); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 16, ., i) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_I_16(); - - FLAG_N = NFLAG_16(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 32, ., d) -{ - uint res = DY; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(tst, 32, ., a) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = AY; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 32, ., .) -{ - uint res = M68KMAKE_GET_OPER_AY_32; - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; -} - - -M68KMAKE_OP(tst, 32, ., pcdi) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_PCDI_32(); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 32, ., pcix) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_PCIX_32(); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(tst, 32, ., i) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint res = OPER_I_32(); - - FLAG_N = NFLAG_32(res); - FLAG_Z = res; - FLAG_V = VFLAG_CLEAR; - FLAG_C = CFLAG_CLEAR; - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(unlk, 32, ., a7) -{ - REG_A[7] = m68ki_read_32(REG_A[7]); -} - - -M68KMAKE_OP(unlk, 32, ., .) -{ - uint* r_dst = &AY; - - REG_A[7] = *r_dst; - *r_dst = m68ki_pull_32(); -} - - -M68KMAKE_OP(unpk, 16, rr, .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: DX and DY are reversed in Motorola's docs */ - uint src = DY; - uint* r_dst = &DX; - - *r_dst = MASK_OUT_BELOW_16(*r_dst) | (((((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16()) & 0xffff); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(unpk, 16, mm, ax7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: AX and AY are reversed in Motorola's docs */ - uint src = OPER_AY_PD_8(); - uint ea_dst; - - src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); - ea_dst = EA_A7_PD_8(); - m68ki_write_8(ea_dst, (src >> 8) & 0xff); - ea_dst = EA_A7_PD_8(); - m68ki_write_8(ea_dst, src & 0xff); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(unpk, 16, mm, ay7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: AX and AY are reversed in Motorola's docs */ - uint src = OPER_A7_PD_8(); - uint ea_dst; - - src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); - ea_dst = EA_AX_PD_8(); - m68ki_write_8(ea_dst, (src >> 8) & 0xff); - ea_dst = EA_AX_PD_8(); - m68ki_write_8(ea_dst, src & 0xff); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(unpk, 16, mm, axy7) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - uint src = OPER_A7_PD_8(); - uint ea_dst; - - src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); - ea_dst = EA_A7_PD_8(); - m68ki_write_8(ea_dst, (src >> 8) & 0xff); - ea_dst = EA_A7_PD_8(); - m68ki_write_8(ea_dst, src & 0xff); - return; - } - m68ki_exception_illegal(); -} - - -M68KMAKE_OP(unpk, 16, mm, .) -{ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Note: AX and AY are reversed in Motorola's docs */ - uint src = OPER_AY_PD_8(); - uint ea_dst; - - src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); - ea_dst = EA_AX_PD_8(); - m68ki_write_8(ea_dst, (src >> 8) & 0xff); - ea_dst = EA_AX_PD_8(); - m68ki_write_8(ea_dst, src & 0xff); - return; - } - m68ki_exception_illegal(); -} - - - -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -M68KMAKE_END diff --git a/src/m68kconf.h b/src/m68kconf.h deleted file mode 100644 index 4d16121..0000000 --- a/src/m68kconf.h +++ /dev/null @@ -1,190 +0,0 @@ -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ -/* - * MUSASHI - * Version 3.3 - * - * A portable Motorola M680x0 processor emulation engine. - * Copyright 1998-2001 Karl Stenerud. All rights reserved. - * - * This code may be freely used for non-commercial purposes as long as this - * copyright notice remains unaltered in the source code and any binary files - * containing this code in compiled form. - * - * All other lisencing terms must be negotiated with the author - * (Karl Stenerud). - * - * The latest version of this code can be obtained at: - * http://kstenerud.cjb.net - */ - - - -#ifndef M68KCONF__HEADER -#define M68KCONF__HEADER - - -/* Configuration switches. - * Use OPT_SPECIFY_HANDLER for configuration options that allow callbacks. - * OPT_SPECIFY_HANDLER causes the core to link directly to the function - * or macro you specify, rather than using callback functions whose pointer - * must be passed in using m68k_set_xxx_callback(). - */ -#define OPT_OFF 0 -#define OPT_ON 1 -#define OPT_SPECIFY_HANDLER 2 - - -/* ======================================================================== */ -/* ============================== MAME STUFF ============================== */ -/* ======================================================================== */ - -/* If you're compiling this for MAME, only change M68K_COMPILE_FOR_MAME - * to OPT_ON and use m68kmame.h to configure the 68k core. - */ -#ifndef M68K_COMPILE_FOR_MAME -#define M68K_COMPILE_FOR_MAME OPT_OFF -#endif /* M68K_COMPILE_FOR_MAME */ - -#if M68K_COMPILE_FOR_MAME == OPT_ON -#include "m68kmame.h" -#else - - - -/* ======================================================================== */ -/* ============================= CONFIGURATION ============================ */ -/* ======================================================================== */ - -/* Turn on if you want to use the following M68K variants */ -#define M68K_EMULATE_010 OPT_OFF -#define M68K_EMULATE_EC020 OPT_OFF -#define M68K_EMULATE_020 OPT_OFF - - -/* If on, the CPU will call m68k_read_immediate_xx() for immediate addressing - * and m68k_read_pcrelative_xx() for PC-relative addressing. - * If off, all read requests from the CPU will be redirected to m68k_read_xx() - */ -#define M68K_SEPARATE_READS OPT_OFF - - -/* If on, CPU will call the interrupt acknowledge callback when it services an - * interrupt. - * If off, all interrupts will be autovectored and all interrupt requests will - * auto-clear when the interrupt is serviced. - */ -int irq_ack_handler(int); -#define M68K_EMULATE_INT_ACK OPT_SPECIFY_HANDLER -#define M68K_INT_ACK_CALLBACK(A) irq_ack_handler(A) - - -/* If on, CPU will call the breakpoint acknowledge callback when it encounters - * a breakpoint instruction and it is running a 68010+. - */ -#define M68K_EMULATE_BKPT_ACK OPT_OFF -#define M68K_BKPT_ACK_CALLBACK() your_bkpt_ack_handler_function() - - -/* If on, the CPU will monitor the trace flags and take trace exceptions - */ -#define M68K_EMULATE_TRACE OPT_OFF - - -/* If on, CPU will call the output reset callback when it encounters a reset - * instruction. - */ -#define M68K_EMULATE_RESET OPT_OFF -#define M68K_RESET_CALLBACK() your_reset_handler_function() - - -/* If on, CPU will call the set fc callback on every memory access to - * differentiate between user/supervisor, program/data access like a real - * 68000 would. This should be enabled and the callback should be set if you - * want to properly emulate the m68010 or higher. (moves uses function codes - * to read/write data from different address spaces) - */ -#define M68K_EMULATE_FC OPT_OFF -#define M68K_SET_FC_CALLBACK(A) your_set_fc_handler_function(A) - - -/* If on, CPU will call the pc changed callback when it changes the PC by a - * large value. This allows host programs to be nicer when it comes to - * fetching immediate data and instructions on a banked memory system. - */ -#define M68K_MONITOR_PC OPT_OFF -#define M68K_SET_PC_CALLBACK(A) your_pc_changed_handler_function(A) - - -/* If on, CPU will call the instruction hook callback before every - * instruction. - */ -#if 0 -void M68KInstructionHook(void); -#define M68K_INSTRUCTION_HOOK OPT_SPECIFY_HANDLER -#define M68K_INSTRUCTION_CALLBACK() M68KInstructionHook() -#else -#define M68K_INSTRUCTION_HOOK OPT_OFF -#define M68K_INSTRUCTION_CALLBACK() M68KInstructionHook() -#endif - -/* If on, the CPU will emulate the 4-byte prefetch queue of a real 68000 */ -#define M68K_EMULATE_PREFETCH OPT_OFF - - -/* If on, the CPU will generate address error exceptions if it tries to - * access a word or longword at an odd address. - * NOTE: Do not enable this! It is not working! - */ -#define M68K_EMULATE_ADDRESS_ERROR OPT_OFF - - -/* Turn on to enable logging of illegal instruction calls. - * M68K_LOG_FILEHANDLE must be #defined to a stdio file stream. - * Turn on M68K_LOG_1010_1111 to log all 1010 and 1111 calls. - */ -#define M68K_LOG_ENABLE OPT_OFF -#define M68K_LOG_1010_1111 OPT_OFF -#define M68K_LOG_FILEHANDLE some_file_handle - - -/* ----------------------------- COMPATIBILITY ---------------------------- */ - -/* The following options set optimizations that violate the current ANSI - * standard, but will be compliant under the forthcoming C9X standard. - */ - - -/* If on, the enulation core will use 64-bit integers to speed up some - * operations. -*/ -#define M68K_USE_64_BIT OPT_ON - - -/* Set to your compiler's static inline keyword to enable it, or - * set it to blank to disable it. - * If you define INLINE in the makefile, it will override this value. - * NOTE: not enabling inline functions will SEVERELY slow down emulation. - */ -#ifndef INLINE -#define INLINE static __inline__ -#endif /* INLINE */ - - -/* If your environment requires special prefixes for system callback functions - * such as the argument to qsort(), then set them here or in the makefile. - */ -#ifndef DECL_SPEC -#define DECL_SPEC -#endif - -#endif /* M68K_COMPILE_FOR_MAME */ - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ - -#endif /* M68KCONF__HEADER */ - diff --git a/src/m68kcpu.c b/src/m68kcpu.c deleted file mode 100644 index 1daadfe..0000000 --- a/src/m68kcpu.c +++ /dev/null @@ -1,894 +0,0 @@ -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ - -#if 0 -static const char* copyright_notice = -"MUSASHI\n" -"Version 3.3 (2001-01-29)\n" -"A portable Motorola M680x0 processor emulation engine.\n" -"Copyright 1998-2001 Karl Stenerud. All rights reserved.\n" -"\n" -"This code may be freely used for non-commercial purpooses as long as this\n" -"copyright notice remains unaltered in the source code and any binary files\n" -"containing this code in compiled form.\n" -"\n" -"All other lisencing terms must be negotiated with the author\n" -"(Karl Stenerud).\n" -"\n" -"The latest version of this code can be obtained at:\n" -"http://kstenerud.cjb.net\n" -; -#endif - - -/* ======================================================================== */ -/* ================================= NOTES ================================ */ -/* ======================================================================== */ - - - -/* ======================================================================== */ -/* ================================ INCLUDES ============================== */ -/* ======================================================================== */ - -#include "m68kops.h" -#include "m68kcpu.h" - -/* ======================================================================== */ -/* ================================= DATA ================================= */ -/* ======================================================================== */ - -int m68ki_initial_cycles; -int m68ki_remaining_cycles = 0; /* Number of clocks remaining */ -uint m68ki_tracing = 0; -uint m68ki_address_space; - -#ifdef M68K_LOG_ENABLE -char* m68ki_cpu_names[9] = -{ - "Invalid CPU", - "M68000", - "M68010", - "Invalid CPU", - "M68EC020" - "Invalid CPU", - "Invalid CPU", - "Invalid CPU", - "M68020" -}; -#endif /* M68K_LOG_ENABLE */ - -/* The CPU core */ -m68ki_cpu_core m68ki_cpu = {0}; - -#if M68K_EMULATE_ADDRESS_ERROR -jmp_buf m68ki_address_error_trap; -#endif /* M68K_EMULATE_ADDRESS_ERROR */ - -/* Used by shift & rotate instructions */ -uint8 m68ki_shift_8_table[65] = -{ - 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff -}; -uint16 m68ki_shift_16_table[65] = -{ - 0x0000, 0x8000, 0xc000, 0xe000, 0xf000, 0xf800, 0xfc00, 0xfe00, 0xff00, - 0xff80, 0xffc0, 0xffe0, 0xfff0, 0xfff8, 0xfffc, 0xfffe, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff -}; -uint m68ki_shift_32_table[65] = -{ - 0x00000000, 0x80000000, 0xc0000000, 0xe0000000, 0xf0000000, 0xf8000000, - 0xfc000000, 0xfe000000, 0xff000000, 0xff800000, 0xffc00000, 0xffe00000, - 0xfff00000, 0xfff80000, 0xfffc0000, 0xfffe0000, 0xffff0000, 0xffff8000, - 0xffffc000, 0xffffe000, 0xfffff000, 0xfffff800, 0xfffffc00, 0xfffffe00, - 0xffffff00, 0xffffff80, 0xffffffc0, 0xffffffe0, 0xfffffff0, 0xfffffff8, - 0xfffffffc, 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff -}; - - -/* Number of clock cycles to use for exception processing. - * I used 4 for any vectors that are undocumented for processing times. - */ -uint8 m68ki_exception_cycle_table[3][256] = -{ - { /* 000 */ - 4, /* 0: Reset - Initial Stack Pointer */ - 4, /* 1: Reset - Initial Program Counter */ - 50, /* 2: Bus Error (unemulated) */ - 50, /* 3: Address Error (unemulated) */ - 34, /* 4: Illegal Instruction */ - 38, /* 5: Divide by Zero -- ASG: changed from 42 */ - 40, /* 6: CHK -- ASG: chanaged from 44 */ - 34, /* 7: TRAPV */ - 34, /* 8: Privilege Violation */ - 34, /* 9: Trace */ - 4, /* 10: 1010 */ - 4, /* 11: 1111 */ - 4, /* 12: RESERVED */ - 4, /* 13: Coprocessor Protocol Violation (unemulated) */ - 4, /* 14: Format Error */ - 44, /* 15: Uninitialized Interrupt */ - 4, /* 16: RESERVED */ - 4, /* 17: RESERVED */ - 4, /* 18: RESERVED */ - 4, /* 19: RESERVED */ - 4, /* 20: RESERVED */ - 4, /* 21: RESERVED */ - 4, /* 22: RESERVED */ - 4, /* 23: RESERVED */ - 44, /* 24: Spurious Interrupt */ - 44, /* 25: Level 1 Interrupt Autovector */ - 44, /* 26: Level 2 Interrupt Autovector */ - 44, /* 27: Level 3 Interrupt Autovector */ - 44, /* 28: Level 4 Interrupt Autovector */ - 44, /* 29: Level 5 Interrupt Autovector */ - 44, /* 30: Level 6 Interrupt Autovector */ - 44, /* 31: Level 7 Interrupt Autovector */ - 34, /* 32: TRAP #0 -- ASG: chanaged from 38 */ - 34, /* 33: TRAP #1 */ - 34, /* 34: TRAP #2 */ - 34, /* 35: TRAP #3 */ - 34, /* 36: TRAP #4 */ - 34, /* 37: TRAP #5 */ - 34, /* 38: TRAP #6 */ - 34, /* 39: TRAP #7 */ - 34, /* 40: TRAP #8 */ - 34, /* 41: TRAP #9 */ - 34, /* 42: TRAP #10 */ - 34, /* 43: TRAP #11 */ - 34, /* 44: TRAP #12 */ - 34, /* 45: TRAP #13 */ - 34, /* 46: TRAP #14 */ - 34, /* 47: TRAP #15 */ - 4, /* 48: FP Branch or Set on Unknown Condition (unemulated) */ - 4, /* 49: FP Inexact Result (unemulated) */ - 4, /* 50: FP Divide by Zero (unemulated) */ - 4, /* 51: FP Underflow (unemulated) */ - 4, /* 52: FP Operand Error (unemulated) */ - 4, /* 53: FP Overflow (unemulated) */ - 4, /* 54: FP Signaling NAN (unemulated) */ - 4, /* 55: FP Unimplemented Data Type (unemulated) */ - 4, /* 56: MMU Configuration Error (unemulated) */ - 4, /* 57: MMU Illegal Operation Error (unemulated) */ - 4, /* 58: MMU Access Level Violation Error (unemulated) */ - 4, /* 59: RESERVED */ - 4, /* 60: RESERVED */ - 4, /* 61: RESERVED */ - 4, /* 62: RESERVED */ - 4, /* 63: RESERVED */ - /* 64-255: User Defined */ - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 - }, - { /* 010 */ - 4, /* 0: Reset - Initial Stack Pointer */ - 4, /* 1: Reset - Initial Program Counter */ - 126, /* 2: Bus Error (unemulated) */ - 126, /* 3: Address Error (unemulated) */ - 38, /* 4: Illegal Instruction */ - 44, /* 5: Divide by Zero */ - 44, /* 6: CHK */ - 34, /* 7: TRAPV */ - 38, /* 8: Privilege Violation */ - 38, /* 9: Trace */ - 4, /* 10: 1010 */ - 4, /* 11: 1111 */ - 4, /* 12: RESERVED */ - 4, /* 13: Coprocessor Protocol Violation (unemulated) */ - 4, /* 14: Format Error */ - 44, /* 15: Uninitialized Interrupt */ - 4, /* 16: RESERVED */ - 4, /* 17: RESERVED */ - 4, /* 18: RESERVED */ - 4, /* 19: RESERVED */ - 4, /* 20: RESERVED */ - 4, /* 21: RESERVED */ - 4, /* 22: RESERVED */ - 4, /* 23: RESERVED */ - 46, /* 24: Spurious Interrupt */ - 46, /* 25: Level 1 Interrupt Autovector */ - 46, /* 26: Level 2 Interrupt Autovector */ - 46, /* 27: Level 3 Interrupt Autovector */ - 46, /* 28: Level 4 Interrupt Autovector */ - 46, /* 29: Level 5 Interrupt Autovector */ - 46, /* 30: Level 6 Interrupt Autovector */ - 46, /* 31: Level 7 Interrupt Autovector */ - 38, /* 32: TRAP #0 */ - 38, /* 33: TRAP #1 */ - 38, /* 34: TRAP #2 */ - 38, /* 35: TRAP #3 */ - 38, /* 36: TRAP #4 */ - 38, /* 37: TRAP #5 */ - 38, /* 38: TRAP #6 */ - 38, /* 39: TRAP #7 */ - 38, /* 40: TRAP #8 */ - 38, /* 41: TRAP #9 */ - 38, /* 42: TRAP #10 */ - 38, /* 43: TRAP #11 */ - 38, /* 44: TRAP #12 */ - 38, /* 45: TRAP #13 */ - 38, /* 46: TRAP #14 */ - 38, /* 47: TRAP #15 */ - 4, /* 48: FP Branch or Set on Unknown Condition (unemulated) */ - 4, /* 49: FP Inexact Result (unemulated) */ - 4, /* 50: FP Divide by Zero (unemulated) */ - 4, /* 51: FP Underflow (unemulated) */ - 4, /* 52: FP Operand Error (unemulated) */ - 4, /* 53: FP Overflow (unemulated) */ - 4, /* 54: FP Signaling NAN (unemulated) */ - 4, /* 55: FP Unimplemented Data Type (unemulated) */ - 4, /* 56: MMU Configuration Error (unemulated) */ - 4, /* 57: MMU Illegal Operation Error (unemulated) */ - 4, /* 58: MMU Access Level Violation Error (unemulated) */ - 4, /* 59: RESERVED */ - 4, /* 60: RESERVED */ - 4, /* 61: RESERVED */ - 4, /* 62: RESERVED */ - 4, /* 63: RESERVED */ - /* 64-255: User Defined */ - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 - }, - { /* 020 */ - 4, /* 0: Reset - Initial Stack Pointer */ - 4, /* 1: Reset - Initial Program Counter */ - 50, /* 2: Bus Error (unemulated) */ - 50, /* 3: Address Error (unemulated) */ - 20, /* 4: Illegal Instruction */ - 38, /* 5: Divide by Zero */ - 40, /* 6: CHK */ - 20, /* 7: TRAPV */ - 34, /* 8: Privilege Violation */ - 25, /* 9: Trace */ - 20, /* 10: 1010 */ - 20, /* 11: 1111 */ - 4, /* 12: RESERVED */ - 4, /* 13: Coprocessor Protocol Violation (unemulated) */ - 4, /* 14: Format Error */ - 30, /* 15: Uninitialized Interrupt */ - 4, /* 16: RESERVED */ - 4, /* 17: RESERVED */ - 4, /* 18: RESERVED */ - 4, /* 19: RESERVED */ - 4, /* 20: RESERVED */ - 4, /* 21: RESERVED */ - 4, /* 22: RESERVED */ - 4, /* 23: RESERVED */ - 30, /* 24: Spurious Interrupt */ - 30, /* 25: Level 1 Interrupt Autovector */ - 30, /* 26: Level 2 Interrupt Autovector */ - 30, /* 27: Level 3 Interrupt Autovector */ - 30, /* 28: Level 4 Interrupt Autovector */ - 30, /* 29: Level 5 Interrupt Autovector */ - 30, /* 30: Level 6 Interrupt Autovector */ - 30, /* 31: Level 7 Interrupt Autovector */ - 20, /* 32: TRAP #0 */ - 20, /* 33: TRAP #1 */ - 20, /* 34: TRAP #2 */ - 20, /* 35: TRAP #3 */ - 20, /* 36: TRAP #4 */ - 20, /* 37: TRAP #5 */ - 20, /* 38: TRAP #6 */ - 20, /* 39: TRAP #7 */ - 20, /* 40: TRAP #8 */ - 20, /* 41: TRAP #9 */ - 20, /* 42: TRAP #10 */ - 20, /* 43: TRAP #11 */ - 20, /* 44: TRAP #12 */ - 20, /* 45: TRAP #13 */ - 20, /* 46: TRAP #14 */ - 20, /* 47: TRAP #15 */ - 4, /* 48: FP Branch or Set on Unknown Condition (unemulated) */ - 4, /* 49: FP Inexact Result (unemulated) */ - 4, /* 50: FP Divide by Zero (unemulated) */ - 4, /* 51: FP Underflow (unemulated) */ - 4, /* 52: FP Operand Error (unemulated) */ - 4, /* 53: FP Overflow (unemulated) */ - 4, /* 54: FP Signaling NAN (unemulated) */ - 4, /* 55: FP Unimplemented Data Type (unemulated) */ - 4, /* 56: MMU Configuration Error (unemulated) */ - 4, /* 57: MMU Illegal Operation Error (unemulated) */ - 4, /* 58: MMU Access Level Violation Error (unemulated) */ - 4, /* 59: RESERVED */ - 4, /* 60: RESERVED */ - 4, /* 61: RESERVED */ - 4, /* 62: RESERVED */ - 4, /* 63: RESERVED */ - /* 64-255: User Defined */ - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 - } -}; - -uint8 m68ki_ea_idx_cycle_table[64] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, /* ..01.000 no memory indirect, base NULL */ - 5, /* ..01..01 memory indirect, base NULL, outer NULL */ - 7, /* ..01..10 memory indirect, base NULL, outer 16 */ - 7, /* ..01..11 memory indirect, base NULL, outer 32 */ - 0, 5, 7, 7, 0, 5, 7, 7, 0, 5, 7, 7, - 2, /* ..10.000 no memory indirect, base 16 */ - 7, /* ..10..01 memory indirect, base 16, outer NULL */ - 9, /* ..10..10 memory indirect, base 16, outer 16 */ - 9, /* ..10..11 memory indirect, base 16, outer 32 */ - 0, 7, 9, 9, 0, 7, 9, 9, 0, 7, 9, 9, - 6, /* ..11.000 no memory indirect, base 32 */ - 11, /* ..11..01 memory indirect, base 32, outer NULL */ - 13, /* ..11..10 memory indirect, base 32, outer 16 */ - 13, /* ..11..11 memory indirect, base 32, outer 32 */ - 0, 11, 13, 13, 0, 11, 13, 13, 0, 11, 13, 13 -}; - - - -/* ======================================================================== */ -/* =============================== CALLBACKS ============================== */ -/* ======================================================================== */ - -/* Default callbacks used if the callback hasn't been set yet, or if the - * callback is set to NULL - */ - -/* Interrupt acknowledge */ -static int default_int_ack_callback_data; -static int default_int_ack_callback(int int_level) -{ - default_int_ack_callback_data = int_level; - CPU_INT_LEVEL = 0; - return M68K_INT_ACK_AUTOVECTOR; -} - -/* Breakpoint acknowledge */ -static unsigned int default_bkpt_ack_callback_data; -static void default_bkpt_ack_callback(unsigned int data) -{ - default_bkpt_ack_callback_data = data; -} - -/* Called when a reset instruction is executed */ -static void default_reset_instr_callback(void) -{ -} - -/* Called when the program counter changed by a large value */ -static unsigned int default_pc_changed_callback_data; -static void default_pc_changed_callback(unsigned int new_pc) -{ - default_pc_changed_callback_data = new_pc; -} - -/* Called every time there's bus activity (read/write to/from memory */ -static unsigned int default_set_fc_callback_data; -static void default_set_fc_callback(unsigned int new_fc) -{ - default_set_fc_callback_data = new_fc; -} - -/* Called every instruction cycle prior to execution */ -static void default_instr_hook_callback(void) -{ -} - - - -/* ======================================================================== */ -/* ================================= API ================================== */ -/* ======================================================================== */ - -/* Access the internals of the CPU */ -unsigned int m68k_get_reg(void* context, m68k_register_t regnum) -{ - m68ki_cpu_core* cpu = context != NULL ?(m68ki_cpu_core*)context : &m68ki_cpu; - - switch(regnum) - { - case M68K_REG_D0: return cpu->dar[0]; - case M68K_REG_D1: return cpu->dar[1]; - case M68K_REG_D2: return cpu->dar[2]; - case M68K_REG_D3: return cpu->dar[3]; - case M68K_REG_D4: return cpu->dar[4]; - case M68K_REG_D5: return cpu->dar[5]; - case M68K_REG_D6: return cpu->dar[6]; - case M68K_REG_D7: return cpu->dar[7]; - case M68K_REG_A0: return cpu->dar[8]; - case M68K_REG_A1: return cpu->dar[9]; - case M68K_REG_A2: return cpu->dar[10]; - case M68K_REG_A3: return cpu->dar[11]; - case M68K_REG_A4: return cpu->dar[12]; - case M68K_REG_A5: return cpu->dar[13]; - case M68K_REG_A6: return cpu->dar[14]; - case M68K_REG_A7: return cpu->dar[15]; - case M68K_REG_PC: return MASK_OUT_ABOVE_32(cpu->pc); - case M68K_REG_SR: return cpu->t1_flag | - cpu->t0_flag | - (cpu->s_flag << 11) | - (cpu->m_flag << 11) | - cpu->int_mask | - ((cpu->x_flag & XFLAG_SET) >> 4) | - ((cpu->n_flag & NFLAG_SET) >> 4) | - ((!cpu->not_z_flag) << 2) | - ((cpu->v_flag & VFLAG_SET) >> 6) | - ((cpu->c_flag & CFLAG_SET) >> 8); - case M68K_REG_SP: return cpu->dar[15]; - case M68K_REG_USP: return cpu->s_flag ? cpu->sp[0] : cpu->dar[15]; - case M68K_REG_ISP: return cpu->s_flag && !cpu->m_flag ? cpu->dar[15] : cpu->sp[4]; - case M68K_REG_MSP: return cpu->s_flag && cpu->m_flag ? cpu->dar[15] : cpu->sp[6]; - case M68K_REG_SFC: return cpu->sfc; - case M68K_REG_DFC: return cpu->dfc; - case M68K_REG_VBR: return cpu->vbr; - case M68K_REG_CACR: return cpu->cacr; - case M68K_REG_CAAR: return cpu->caar; - case M68K_REG_PREF_ADDR: return cpu->pref_addr; - case M68K_REG_PREF_DATA: return cpu->pref_data; - case M68K_REG_PPC: return MASK_OUT_ABOVE_32(cpu->ppc); - case M68K_REG_IR: return cpu->ir; - case M68K_REG_CPU_TYPE: - switch(cpu->cpu_type) - { - case CPU_TYPE_000: return (unsigned int)M68K_CPU_TYPE_68000; - case CPU_TYPE_010: return (unsigned int)M68K_CPU_TYPE_68010; - case CPU_TYPE_EC020: return (unsigned int)M68K_CPU_TYPE_68EC020; - case CPU_TYPE_020: return (unsigned int)M68K_CPU_TYPE_68020; - } - return M68K_CPU_TYPE_INVALID; - default: return 0; - } - return 0; -} - -void m68k_set_reg(m68k_register_t regnum, unsigned int value) -{ - switch(regnum) - { - case M68K_REG_D0: REG_D[0] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D1: REG_D[1] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D2: REG_D[2] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D3: REG_D[3] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D4: REG_D[4] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D5: REG_D[5] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D6: REG_D[6] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_D7: REG_D[7] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A0: REG_A[0] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A1: REG_A[1] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A2: REG_A[2] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A3: REG_A[3] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A4: REG_A[4] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A5: REG_A[5] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A6: REG_A[6] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_A7: REG_A[7] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_PC: m68ki_jump(MASK_OUT_ABOVE_32(value)); return; - case M68K_REG_SR: m68ki_set_sr(value); return; - case M68K_REG_SP: REG_SP = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_USP: if(FLAG_S) - REG_USP = MASK_OUT_ABOVE_32(value); - else - REG_SP = MASK_OUT_ABOVE_32(value); - return; - case M68K_REG_ISP: if(FLAG_S && !FLAG_M) - REG_SP = MASK_OUT_ABOVE_32(value); - else - REG_ISP = MASK_OUT_ABOVE_32(value); - return; - case M68K_REG_MSP: if(FLAG_S && FLAG_M) - REG_SP = MASK_OUT_ABOVE_32(value); - else - REG_MSP = MASK_OUT_ABOVE_32(value); - return; - case M68K_REG_VBR: REG_VBR = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_SFC: REG_SFC = value & 7; return; - case M68K_REG_DFC: REG_DFC = value & 7; return; - case M68K_REG_CACR: REG_CACR = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_CAAR: REG_CAAR = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_PPC: REG_PPC = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_IR: REG_IR = MASK_OUT_ABOVE_16(value); return; - case M68K_REG_CPU_TYPE: m68k_set_cpu_type(value); return; - default: return; - } -} - -/* Set the callbacks */ -void m68k_set_int_ack_callback(int (*callback)(int int_level)) -{ - CALLBACK_INT_ACK = callback ? callback : default_int_ack_callback; -} - -void m68k_set_bkpt_ack_callback(void (*callback)(unsigned int data)) -{ - CALLBACK_BKPT_ACK = callback ? callback : default_bkpt_ack_callback; -} - -void m68k_set_reset_instr_callback(void (*callback)(void)) -{ - CALLBACK_RESET_INSTR = callback ? callback : default_reset_instr_callback; -} - -void m68k_set_pc_changed_callback(void (*callback)(unsigned int new_pc)) -{ - CALLBACK_PC_CHANGED = callback ? callback : default_pc_changed_callback; -} - -void m68k_set_fc_callback(void (*callback)(unsigned int new_fc)) -{ - CALLBACK_SET_FC = callback ? callback : default_set_fc_callback; -} - -void m68k_set_instr_hook_callback(void (*callback)(void)) -{ - CALLBACK_INSTR_HOOK = callback ? callback : default_instr_hook_callback; -} - -#include -/* Set the CPU type. */ -void m68k_set_cpu_type(unsigned int cpu_type) -{ - switch(cpu_type) - { - case M68K_CPU_TYPE_68000: - CPU_TYPE = CPU_TYPE_000; - CPU_ADDRESS_MASK = 0x00ffffff; - CPU_SR_MASK = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */ - CYC_INSTRUCTION = m68ki_cycles[0]; - CYC_EXCEPTION = m68ki_exception_cycle_table[0]; - CYC_BCC_NOTAKE_B = -2; - CYC_BCC_NOTAKE_W = 2; - CYC_DBCC_F_NOEXP = -2; - CYC_DBCC_F_EXP = 2; - CYC_SCC_R_FALSE = 2; - CYC_MOVEM_W = 2; - CYC_MOVEM_L = 3; - CYC_SHIFT = 1; - CYC_RESET = 132; - return; - case M68K_CPU_TYPE_68010: - CPU_TYPE = CPU_TYPE_010; - CPU_ADDRESS_MASK = 0x00ffffff; - CPU_SR_MASK = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */ - CYC_INSTRUCTION = m68ki_cycles[1]; - CYC_EXCEPTION = m68ki_exception_cycle_table[1]; - CYC_BCC_NOTAKE_B = -4; - CYC_BCC_NOTAKE_W = 0; - CYC_DBCC_F_NOEXP = 0; - CYC_DBCC_F_EXP = 6; - CYC_SCC_R_FALSE = 0; - CYC_MOVEM_W = 2; - CYC_MOVEM_L = 3; - CYC_SHIFT = 1; - CYC_RESET = 130; - return; - case M68K_CPU_TYPE_68EC020: - CPU_TYPE = CPU_TYPE_EC020; - CPU_ADDRESS_MASK = 0x00ffffff; - CPU_SR_MASK = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */ - CYC_INSTRUCTION = m68ki_cycles[2]; - CYC_EXCEPTION = m68ki_exception_cycle_table[2]; - CYC_BCC_NOTAKE_B = -2; - CYC_BCC_NOTAKE_W = 0; - CYC_DBCC_F_NOEXP = 0; - CYC_DBCC_F_EXP = 4; - CYC_SCC_R_FALSE = 0; - CYC_MOVEM_W = 2; - CYC_MOVEM_L = 2; - CYC_SHIFT = 0; - CYC_RESET = 518; - return; - case M68K_CPU_TYPE_68020: - CPU_TYPE = CPU_TYPE_020; - CPU_ADDRESS_MASK = 0xffffffff; - CPU_SR_MASK = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */ - CYC_INSTRUCTION = m68ki_cycles[2]; - CYC_EXCEPTION = m68ki_exception_cycle_table[2]; - CYC_BCC_NOTAKE_B = -2; - CYC_BCC_NOTAKE_W = 0; - CYC_DBCC_F_NOEXP = 0; - CYC_DBCC_F_EXP = 4; - CYC_SCC_R_FALSE = 0; - CYC_MOVEM_W = 2; - CYC_MOVEM_L = 2; - CYC_SHIFT = 0; - CYC_RESET = 518; - return; - } -} - -/* Execute some instructions until we use up num_cycles clock cycles */ -/* ASG: removed per-instruction interrupt checks */ -int m68k_execute(int num_cycles) -{ - /* Make sure we're not stopped */ - if(!CPU_STOPPED) - { - /* Set our pool of clock cycles available */ - SET_CYCLES(num_cycles); - m68ki_initial_cycles = num_cycles; - - /* ASG: update cycles */ - USE_CYCLES(CPU_INT_CYCLES); - CPU_INT_CYCLES = 0; - - /* Return point if we had an address error */ - m68ki_set_address_error_trap(); /* auto-disable (see m68kcpu.h) */ - - /* Main loop. Keep going until we run out of clock cycles */ - do - { - /* Set tracing accodring to T1. (T0 is done inside instruction) */ - m68ki_trace_t1(); /* auto-disable (see m68kcpu.h) */ - - /* Set the address space for reads */ - m68ki_use_data_space(); /* auto-disable (see m68kcpu.h) */ - - /* Call external hook to peek at CPU */ - m68ki_instr_hook(); /* auto-disable (see m68kcpu.h) */ - - /* Record previous program counter */ - REG_PPC = REG_PC; - - /* Read an instruction and call its handler */ - REG_IR = m68ki_read_imm_16(); - m68ki_instruction_jump_table[REG_IR](); - USE_CYCLES(CYC_INSTRUCTION[REG_IR]); - - /* Trace m68k_exception, if necessary */ - m68ki_exception_if_trace(); /* auto-disable (see m68kcpu.h) */ - } while(GET_CYCLES() > 0); - - /* set previous PC to current PC for the next entry into the loop */ - REG_PPC = REG_PC; - - /* ASG: update cycles */ - USE_CYCLES(CPU_INT_CYCLES); - CPU_INT_CYCLES = 0; - - /* return how many clocks we used */ - return m68ki_initial_cycles - GET_CYCLES(); - } - - /* We get here if the CPU is stopped or halted */ - SET_CYCLES(0); - CPU_INT_CYCLES = 0; - - return num_cycles; -} - - -int m68k_cycles_run(void) -{ - return m68ki_initial_cycles - GET_CYCLES(); -} - -int m68k_cycles_remaining(void) -{ - return GET_CYCLES(); -} - -/* Change the timeslice */ -void m68k_modify_timeslice(int cycles) -{ - m68ki_initial_cycles += cycles; - ADD_CYCLES(cycles); -} - - -void m68k_end_timeslice(void) -{ - m68ki_initial_cycles = GET_CYCLES(); - SET_CYCLES(0); -} - - -/* ASG: rewrote so that the int_level is a mask of the IPL0/IPL1/IPL2 bits */ -/* KS: Modified so that IPL* bits match with mask positions in the SR - * and cleaned out remenants of the interrupt controller. - */ -void m68k_set_irq(unsigned int int_level) -{ - uint old_level = CPU_INT_LEVEL; - CPU_INT_LEVEL = int_level << 8; - - /* A transition from < 7 to 7 always interrupts (NMI) */ - /* Note: Level 7 can also level trigger like a normal IRQ */ - if(old_level != 0x0700 && CPU_INT_LEVEL == 0x0700) - m68ki_exception_interrupt(7); /* Edge triggered level 7 (NMI) */ - else - m68ki_check_interrupts(); /* Level triggered (IRQ) */ -} - - -/* Pulse the RESET line on the CPU */ -void m68k_pulse_reset(void) -{ - static uint emulation_initialized = 0; - - /* The first call to this function initializes the opcode handler jump table */ - if(!emulation_initialized) - { - m68ki_build_opcode_table(); - m68k_set_int_ack_callback(NULL); - m68k_set_bkpt_ack_callback(NULL); - m68k_set_reset_instr_callback(NULL); - m68k_set_pc_changed_callback(NULL); - m68k_set_fc_callback(NULL); - m68k_set_instr_hook_callback(NULL); - - emulation_initialized = 1; - } - - - if(CPU_TYPE == 0) /* KW 990319 */ - m68k_set_cpu_type(M68K_CPU_TYPE_68000); - - /* Clear all stop levels and eat up all remaining cycles */ - CPU_STOPPED = 0; - SET_CYCLES(0); - - /* Turn off tracing */ - FLAG_T1 = FLAG_T0 = 0; - m68ki_clear_trace(); - /* Interrupt mask to level 7 */ - FLAG_INT_MASK = 0x0700; - /* Reset VBR */ - REG_VBR = 0; - /* Go to supervisor mode */ - m68ki_set_sm_flag(SFLAG_SET | MFLAG_CLEAR); - - /* Invalidate the prefetch queue */ -#if M68K_EMULATE_PREFETCH - /* Set to arbitrary number since our first fetch is from 0 */ - CPU_PREF_ADDR = 0x1000; -#endif /* M68K_EMULATE_PREFETCH */ - - /* Read the initial stack pointer and program counter */ - m68ki_jump(0); - REG_SP = m68ki_read_imm_32(); - REG_PC = m68ki_read_imm_32(); - m68ki_jump(REG_PC); -} - -/* Pulse the HALT line on the CPU */ -void m68k_pulse_halt(void) -{ - CPU_STOPPED |= STOP_LEVEL_HALT; -} - - -/* Get and set the current CPU context */ -/* This is to allow for multiple CPUs */ -unsigned int m68k_context_size() -{ - return sizeof(m68ki_cpu_core); -} - -unsigned int m68k_get_context(void* dst) -{ - if(dst) *(m68ki_cpu_core*)dst = m68ki_cpu; - return sizeof(m68ki_cpu_core); -} - -void m68k_set_context(void* src) -{ - if(src) m68ki_cpu = *(m68ki_cpu_core*)src; -} - -void m68k_save_context( void (*save_value)(char*, unsigned int)) -{ - if(!save_value) - return; - - save_value("CPU_TYPE" , m68k_get_reg(NULL, M68K_REG_CPU_TYPE)); - save_value("D0" , REG_D[0]); - save_value("D1" , REG_D[1]); - save_value("D2" , REG_D[2]); - save_value("D3" , REG_D[3]); - save_value("D4" , REG_D[4]); - save_value("D5" , REG_D[5]); - save_value("D6" , REG_D[6]); - save_value("D7" , REG_D[7]); - save_value("A0" , REG_A[0]); - save_value("A1" , REG_A[1]); - save_value("A2" , REG_A[2]); - save_value("A3" , REG_A[3]); - save_value("A4" , REG_A[4]); - save_value("A5" , REG_A[5]); - save_value("A6" , REG_A[6]); - save_value("A7" , REG_A[7]); - save_value("PPC" , REG_PPC); - save_value("PC" , REG_PC); - save_value("USP" , REG_USP); - save_value("ISP" , REG_ISP); - save_value("MSP" , REG_MSP); - save_value("VBR" , REG_VBR); - save_value("SFC" , REG_SFC); - save_value("DFC" , REG_DFC); - save_value("CACR" , REG_CACR); - save_value("CAAR" , REG_CAAR); - save_value("SR" , m68ki_get_sr()); - save_value("INT_LEVEL" , CPU_INT_LEVEL); - save_value("INT_CYCLES", CPU_INT_CYCLES); - save_value("STOPPED" , (CPU_STOPPED & STOP_LEVEL_STOP) != 0); - save_value("HALTED" , (CPU_STOPPED & STOP_LEVEL_HALT) != 0); - save_value("PREF_ADDR" , CPU_PREF_ADDR); - save_value("PREF_DATA" , CPU_PREF_DATA); -} - -void m68k_load_context(unsigned int (*load_value)(char*)) -{ - unsigned int temp; - - m68k_set_cpu_type(load_value("CPU_TYPE")); - REG_PPC = load_value("PPC"); - REG_PC = load_value("PC"); - m68ki_jump(REG_PC); - CPU_INT_LEVEL = 0; - m68ki_set_sr_noint(load_value("SR")); - REG_D[0] = load_value("D0"); - REG_D[1] = load_value("D1"); - REG_D[2] = load_value("D2"); - REG_D[3] = load_value("D3"); - REG_D[4] = load_value("D4"); - REG_D[5] = load_value("D5"); - REG_D[6] = load_value("D6"); - REG_D[7] = load_value("D7"); - REG_A[0] = load_value("A0"); - REG_A[1] = load_value("A1"); - REG_A[2] = load_value("A2"); - REG_A[3] = load_value("A3"); - REG_A[4] = load_value("A4"); - REG_A[5] = load_value("A5"); - REG_A[6] = load_value("A6"); - REG_A[7] = load_value("A7"); - REG_USP = load_value("USP"); - REG_ISP = load_value("ISP"); - REG_MSP = load_value("MSP"); - REG_VBR = load_value("VBR"); - REG_SFC = load_value("SFC"); - REG_DFC = load_value("DFC"); - REG_CACR = load_value("CACR"); - REG_CAAR = load_value("CAAR"); - CPU_INT_LEVEL = load_value("INT_LEVEL"); - CPU_INT_CYCLES = load_value("INT_CYCLES"); - - CPU_STOPPED = 0; - temp = load_value("STOPPED"); - if(temp) CPU_STOPPED |= STOP_LEVEL_STOP; - temp = load_value("HALTED"); - if(temp) CPU_STOPPED |= STOP_LEVEL_HALT; - - CPU_PREF_ADDR = load_value("PREF_ADDR"); - CPU_PREF_DATA = load_value("PREF_DATA"); -} - - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ diff --git a/src/m68kcpu.h b/src/m68kcpu.h deleted file mode 100644 index eca5167..0000000 --- a/src/m68kcpu.h +++ /dev/null @@ -1,1838 +0,0 @@ -#include -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ -/* - * MUSASHI - * Version 3.3 - * - * A portable Motorola M680x0 processor emulation engine. - * Copyright 1998-2001 Karl Stenerud. All rights reserved. - * - * This code may be freely used for non-commercial purposes as long as this - * copyright notice remains unaltered in the source code and any binary files - * containing this code in compiled form. - * - * All other lisencing terms must be negotiated with the author - * (Karl Stenerud). - * - * The latest version of this code can be obtained at: - * http://kstenerud.cjb.net - */ - - - - -#ifndef M68KCPU__HEADER -#define M68KCPU__HEADER - -#include "m68k.h" -#include - -#if M68K_EMULATE_ADDRESS_ERROR -#include -#endif /* M68K_EMULATE_ADDRESS_ERROR */ - -/* ======================================================================== */ -/* ==================== ARCHITECTURE-DEPENDANT DEFINES ==================== */ -/* ======================================================================== */ - -/* Check for > 32bit sizes */ -#if UINT_MAX > 0xffffffff - #define M68K_INT_GT_32_BIT 1 -#endif - -/* Data types used in this emulation core */ -#undef sint8 -#undef sint16 -#undef sint32 -#undef sint64 -#undef uint8 -#undef uint16 -#undef uint32 -#undef uint64 -#undef sint -#undef uint - -#define sint8 signed char /* ASG: changed from char to signed char */ -#define sint16 signed short -#define sint32 signed long -#define uint8 unsigned char -#define uint16 unsigned short -#define uint32 unsigned long - -/* signed and unsigned int must be at least 32 bits wide */ -#define sint signed int -#define uint unsigned int - - -#if M68K_USE_64_BIT -#define sint64 signed long long -#define uint64 unsigned long long -#else -#define sint64 sint32 -#define uint64 uint32 -#endif /* M68K_USE_64_BIT */ - - - -/* Allow for architectures that don't have 8-bit sizes */ -#if UCHAR_MAX == 0xff - #define MAKE_INT_8(A) (sint8)(A) -#else - #undef sint8 - #define sint8 signed int - #undef uint8 - #define uint8 unsigned int - INLINE sint MAKE_INT_8(uint value) - { - return (value & 0x80) ? value | ~0xff : value & 0xff; - } -#endif /* UCHAR_MAX == 0xff */ - - -/* Allow for architectures that don't have 16-bit sizes */ -#if USHRT_MAX == 0xffff - #define MAKE_INT_16(A) (sint16)(A) -#else - #undef sint16 - #define sint16 signed int - #undef uint16 - #define uint16 unsigned int - INLINE sint MAKE_INT_16(uint value) - { - return (value & 0x8000) ? value | ~0xffff : value & 0xffff; - } -#endif /* USHRT_MAX == 0xffff */ - - -/* Allow for architectures that don't have 32-bit sizes */ -#if ULONG_MAX == 0xffffffff - #define MAKE_INT_32(A) (sint32)(A) -#else - #undef sint32 - #define sint32 signed int - #undef uint32 - #define uint32 unsigned int - INLINE sint MAKE_INT_32(uint value) - { - return (value & 0x80000000) ? value | ~0xffffffff : value & 0xffffffff; - } -#endif /* ULONG_MAX == 0xffffffff */ - - - - -/* ======================================================================== */ -/* ============================ GENERAL DEFINES =========================== */ -/* ======================================================================== */ - -/* Exception Vectors handled by emulation */ -#define EXCEPTION_BUS_ERROR 2 /* This one is not emulated! */ -#define EXCEPTION_ADDRESS_ERROR 3 /* This one is partially emulated (doesn't stack a proper frame yet) */ -#define EXCEPTION_ILLEGAL_INSTRUCTION 4 -#define EXCEPTION_ZERO_DIVIDE 5 -#define EXCEPTION_CHK 6 -#define EXCEPTION_TRAPV 7 -#define EXCEPTION_PRIVILEGE_VIOLATION 8 -#define EXCEPTION_TRACE 9 -#define EXCEPTION_1010 10 -#define EXCEPTION_1111 11 -#define EXCEPTION_FORMAT_ERROR 14 -#define EXCEPTION_UNINITIALIZED_INTERRUPT 15 -#define EXCEPTION_SPURIOUS_INTERRUPT 24 -#define EXCEPTION_INTERRUPT_AUTOVECTOR 24 -#define EXCEPTION_TRAP_BASE 32 - -/* Function codes set by CPU during data/address bus activity */ -#define FUNCTION_CODE_USER_DATA 1 -#define FUNCTION_CODE_USER_PROGRAM 2 -#define FUNCTION_CODE_SUPERVISOR_DATA 5 -#define FUNCTION_CODE_SUPERVISOR_PROGRAM 6 -#define FUNCTION_CODE_CPU_SPACE 7 - -/* CPU types for deciding what to emulate */ -#define CPU_TYPE_000 1 -#define CPU_TYPE_010 2 -#define CPU_TYPE_EC020 4 -#define CPU_TYPE_020 8 - -/* Different ways to stop the CPU */ -#define STOP_LEVEL_STOP 1 -#define STOP_LEVEL_HALT 2 - -#ifndef NULL -#define NULL ((void*)0) -#endif - -/* ======================================================================== */ -/* ================================ MACROS ================================ */ -/* ======================================================================== */ - - -/* ---------------------------- General Macros ---------------------------- */ - -/* Bit Isolation Macros */ -#define BIT_0(A) ((A) & 0x00000001) -#define BIT_1(A) ((A) & 0x00000002) -#define BIT_2(A) ((A) & 0x00000004) -#define BIT_3(A) ((A) & 0x00000008) -#define BIT_4(A) ((A) & 0x00000010) -#define BIT_5(A) ((A) & 0x00000020) -#define BIT_6(A) ((A) & 0x00000040) -#define BIT_7(A) ((A) & 0x00000080) -#define BIT_8(A) ((A) & 0x00000100) -#define BIT_9(A) ((A) & 0x00000200) -#define BIT_A(A) ((A) & 0x00000400) -#define BIT_B(A) ((A) & 0x00000800) -#define BIT_C(A) ((A) & 0x00001000) -#define BIT_D(A) ((A) & 0x00002000) -#define BIT_E(A) ((A) & 0x00004000) -#define BIT_F(A) ((A) & 0x00008000) -#define BIT_10(A) ((A) & 0x00010000) -#define BIT_11(A) ((A) & 0x00020000) -#define BIT_12(A) ((A) & 0x00040000) -#define BIT_13(A) ((A) & 0x00080000) -#define BIT_14(A) ((A) & 0x00100000) -#define BIT_15(A) ((A) & 0x00200000) -#define BIT_16(A) ((A) & 0x00400000) -#define BIT_17(A) ((A) & 0x00800000) -#define BIT_18(A) ((A) & 0x01000000) -#define BIT_19(A) ((A) & 0x02000000) -#define BIT_1A(A) ((A) & 0x04000000) -#define BIT_1B(A) ((A) & 0x08000000) -#define BIT_1C(A) ((A) & 0x10000000) -#define BIT_1D(A) ((A) & 0x20000000) -#define BIT_1E(A) ((A) & 0x40000000) -#define BIT_1F(A) ((A) & 0x80000000) - -/* Get the most significant bit for specific sizes */ -#define GET_MSB_8(A) ((A) & 0x80) -#define GET_MSB_9(A) ((A) & 0x100) -#define GET_MSB_16(A) ((A) & 0x8000) -#define GET_MSB_17(A) ((A) & 0x10000) -#define GET_MSB_32(A) ((A) & 0x80000000) -#if M68K_USE_64_BIT -#define GET_MSB_33(A) ((A) & 0x100000000) -#endif /* M68K_USE_64_BIT */ - -/* Isolate nibbles */ -#define LOW_NIBBLE(A) ((A) & 0x0f) -#define HIGH_NIBBLE(A) ((A) & 0xf0) - -/* These are used to isolate 8, 16, and 32 bit sizes */ -#define MASK_OUT_ABOVE_2(A) ((A) & 3) -#define MASK_OUT_ABOVE_8(A) ((A) & 0xff) -#define MASK_OUT_ABOVE_16(A) ((A) & 0xffff) -#define MASK_OUT_BELOW_2(A) ((A) & ~3) -#define MASK_OUT_BELOW_8(A) ((A) & ~0xff) -#define MASK_OUT_BELOW_16(A) ((A) & ~0xffff) - -/* No need to mask if we are 32 bit */ -#if M68K_INT_GT_32BIT || M68K_USE_64_BIT - #define MASK_OUT_ABOVE_32(A) ((A) & 0xffffffff) - #define MASK_OUT_BELOW_32(A) ((A) & ~0xffffffff) -#else - #define MASK_OUT_ABOVE_32(A) (A) - #define MASK_OUT_BELOW_32(A) 0 -#endif /* M68K_INT_GT_32BIT || M68K_USE_64_BIT */ - -/* Simulate address lines of 68k family */ -#define ADDRESS_68K(A) ((A)&CPU_ADDRESS_MASK) - - -/* Shift & Rotate Macros. */ -#define LSL(A, C) ((A) << (C)) -#define LSR(A, C) ((A) >> (C)) - -/* Some > 32-bit optimizations */ -#if M68K_INT_GT_32BIT - /* Shift left and right */ - #define LSR_32(A, C) ((A) >> (C)) - #define LSL_32(A, C) ((A) << (C)) -#else - /* We have to do this because the morons at ANSI decided that shifts - * by >= data size are undefined. - */ - #define LSR_32(A, C) ((C) < 32 ? (A) >> (C) : 0) - #define LSL_32(A, C) ((C) < 32 ? (A) << (C) : 0) -#endif /* M68K_INT_GT_32BIT */ - -#if M68K_USE_64_BIT - #define LSL_32_64(A, C) ((A) << (C)) - #define LSR_32_64(A, C) ((A) >> (C)) - #define ROL_33_64(A, C) (LSL_32_64(A, C) | LSR_32_64(A, 33-(C))) - #define ROR_33_64(A, C) (LSR_32_64(A, C) | LSL_32_64(A, 33-(C))) -#endif /* M68K_USE_64_BIT */ - -#define ROL_8(A, C) MASK_OUT_ABOVE_8(LSL(A, C) | LSR(A, 8-(C))) -#define ROL_9(A, C) (LSL(A, C) | LSR(A, 9-(C))) -#define ROL_16(A, C) MASK_OUT_ABOVE_16(LSL(A, C) | LSR(A, 16-(C))) -#define ROL_17(A, C) (LSL(A, C) | LSR(A, 17-(C))) -#define ROL_32(A, C) MASK_OUT_ABOVE_32(LSL_32(A, C) | LSR_32(A, 32-(C))) -#define ROL_33(A, C) (LSL_32(A, C) | LSR_32(A, 33-(C))) - -#define ROR_8(A, C) MASK_OUT_ABOVE_8(LSR(A, C) | LSL(A, 8-(C))) -#define ROR_9(A, C) (LSR(A, C) | LSL(A, 9-(C))) -#define ROR_16(A, C) MASK_OUT_ABOVE_16(LSR(A, C) | LSL(A, 16-(C))) -#define ROR_17(A, C) (LSR(A, C) | LSL(A, 17-(C))) -#define ROR_32(A, C) MASK_OUT_ABOVE_32(LSR_32(A, C) | LSL_32(A, 32-(C))) -#define ROR_33(A, C) (LSR_32(A, C) | LSL_32(A, 33-(C))) - - - -/* ------------------------------ CPU Access ------------------------------ */ - -/* Access the CPU registers */ -#define CPU_TYPE m68ki_cpu.cpu_type - -#define REG_DA m68ki_cpu.dar /* easy access to data and address regs */ -#define REG_D m68ki_cpu.dar -#define REG_A (m68ki_cpu.dar+8) -#define REG_PPC m68ki_cpu.ppc -#define REG_PC m68ki_cpu.pc -#define REG_SP_BASE m68ki_cpu.sp -#define REG_USP m68ki_cpu.sp[0] -#define REG_ISP m68ki_cpu.sp[4] -#define REG_MSP m68ki_cpu.sp[6] -#define REG_SP m68ki_cpu.dar[15] -#define REG_VBR m68ki_cpu.vbr -#define REG_SFC m68ki_cpu.sfc -#define REG_DFC m68ki_cpu.dfc -#define REG_CACR m68ki_cpu.cacr -#define REG_CAAR m68ki_cpu.caar -#define REG_IR m68ki_cpu.ir - -#define FLAG_T1 m68ki_cpu.t1_flag -#define FLAG_T0 m68ki_cpu.t0_flag -#define FLAG_S m68ki_cpu.s_flag -#define FLAG_M m68ki_cpu.m_flag -#define FLAG_X m68ki_cpu.x_flag -#define FLAG_N m68ki_cpu.n_flag -#define FLAG_Z m68ki_cpu.not_z_flag -#define FLAG_V m68ki_cpu.v_flag -#define FLAG_C m68ki_cpu.c_flag -#define FLAG_INT_MASK m68ki_cpu.int_mask - -#define CPU_INT_LEVEL m68ki_cpu.int_level /* ASG: changed from CPU_INTS_PENDING */ -#define CPU_INT_CYCLES m68ki_cpu.int_cycles /* ASG */ -#define CPU_STOPPED m68ki_cpu.stopped -#define CPU_PREF_ADDR m68ki_cpu.pref_addr -#define CPU_PREF_DATA m68ki_cpu.pref_data -#define CPU_ADDRESS_MASK m68ki_cpu.address_mask -#define CPU_SR_MASK m68ki_cpu.sr_mask - -#define CYC_INSTRUCTION m68ki_cpu.cyc_instruction -#define CYC_EXCEPTION m68ki_cpu.cyc_exception -#define CYC_BCC_NOTAKE_B m68ki_cpu.cyc_bcc_notake_b -#define CYC_BCC_NOTAKE_W m68ki_cpu.cyc_bcc_notake_w -#define CYC_DBCC_F_NOEXP m68ki_cpu.cyc_dbcc_f_noexp -#define CYC_DBCC_F_EXP m68ki_cpu.cyc_dbcc_f_exp -#define CYC_SCC_R_FALSE m68ki_cpu.cyc_scc_r_false -#define CYC_MOVEM_W m68ki_cpu.cyc_movem_w -#define CYC_MOVEM_L m68ki_cpu.cyc_movem_l -#define CYC_SHIFT m68ki_cpu.cyc_shift -#define CYC_RESET m68ki_cpu.cyc_reset - - -#define CALLBACK_INT_ACK m68ki_cpu.int_ack_callback -#define CALLBACK_BKPT_ACK m68ki_cpu.bkpt_ack_callback -#define CALLBACK_RESET_INSTR m68ki_cpu.reset_instr_callback -#define CALLBACK_PC_CHANGED m68ki_cpu.pc_changed_callback -#define CALLBACK_SET_FC m68ki_cpu.set_fc_callback -#define CALLBACK_INSTR_HOOK m68ki_cpu.instr_hook_callback - - - -/* ----------------------------- Configuration ---------------------------- */ - -/* These defines are dependant on the configuration defines in m68kconf.h */ - -/* Disable certain comparisons if we're not using all CPU types */ -#if M68K_EMULATE_020 - #define CPU_TYPE_IS_020_PLUS(A) ((A) & CPU_TYPE_020) - #define CPU_TYPE_IS_020_LESS(A) 1 -#else - #define CPU_TYPE_IS_020_PLUS(A) 0 - #define CPU_TYPE_IS_020_LESS(A) 1 -#endif - -#if M68K_EMULATE_EC020 - #define CPU_TYPE_IS_EC020_PLUS(A) ((A) & (CPU_TYPE_EC020 | CPU_TYPE_020)) - #define CPU_TYPE_IS_EC020_LESS(A) ((A) & (CPU_TYPE_000 | CPU_TYPE_010 | CPU_TYPE_EC020)) -#else - #define CPU_TYPE_IS_EC020_PLUS(A) CPU_TYPE_IS_020_PLUS(A) - #define CPU_TYPE_IS_EC020_LESS(A) CPU_TYPE_IS_020_LESS(A) -#endif - -#if M68K_EMULATE_010 - #define CPU_TYPE_IS_010(A) ((A) == CPU_TYPE_010) - #define CPU_TYPE_IS_010_PLUS(A) ((A) & (CPU_TYPE_010 | CPU_TYPE_EC020 | CPU_TYPE_020)) - #define CPU_TYPE_IS_010_LESS(A) ((A) & (CPU_TYPE_000 | CPU_TYPE_010)) -#else - #define CPU_TYPE_IS_010(A) 0 - #define CPU_TYPE_IS_010_PLUS(A) CPU_TYPE_IS_EC020_PLUS(A) - #define CPU_TYPE_IS_010_LESS(A) CPU_TYPE_IS_EC020_LESS(A) -#endif - -#if M68K_EMULATE_020 || M68K_EMULATE_EC020 - #define CPU_TYPE_IS_020_VARIANT(A) ((A) & (CPU_TYPE_EC020 | CPU_TYPE_020)) -#else - #define CPU_TYPE_IS_020_VARIANT(A) 0 -#endif - -#if M68K_EMULATE_020 || M68K_EMULATE_EC020 || M68K_EMULATE_010 - #define CPU_TYPE_IS_000(A) ((A) == CPU_TYPE_000) -#else - #define CPU_TYPE_IS_000(A) 1 -#endif - - -#if !M68K_SEPARATE_READS -#define m68k_read_immediate_16(A) m68ki_read_program_16(A) -#define m68k_read_immediate_32(A) m68ki_read_program_32(A) - -#define m68k_read_pcrelative_8(A) m68ki_read_program_8(A) -#define m68k_read_pcrelative_16(A) m68ki_read_program_16(A) -#define m68k_read_pcrelative_32(A) m68ki_read_program_32(A) -#endif /* M68K_SEPARATE_READS */ - - -/* Enable or disable callback functions */ -#if M68K_EMULATE_INT_ACK - #if M68K_EMULATE_INT_ACK == OPT_SPECIFY_HANDLER - #define m68ki_int_ack(A) M68K_INT_ACK_CALLBACK(A) - #else - #define m68ki_int_ack(A) CALLBACK_INT_ACK(A) - #endif -#else - /* Default action is to used autovector mode, which is most common */ - #define m68ki_int_ack(A) M68K_INT_ACK_AUTOVECTOR -#endif /* M68K_EMULATE_INT_ACK */ - -#if M68K_EMULATE_BKPT_ACK - #if M68K_EMULATE_BKPT_ACK == OPT_SPECIFY_HANDLER - #define m68ki_bkpt_ack(A) M68K_BKPT_ACK_CALLBACK(A) - #else - #define m68ki_bkpt_ack(A) CALLBACK_BKPT_ACK(A) - #endif -#else - #define m68ki_bkpt_ack(A) -#endif /* M68K_EMULATE_BKPT_ACK */ - -#if M68K_EMULATE_RESET - #if M68K_EMULATE_RESET == OPT_SPECIFY_HANDLER - #define m68ki_output_reset() M68K_RESET_CALLBACK() - #else - #define m68ki_output_reset() CALLBACK_RESET_INSTR() - #endif -#else - #define m68ki_output_reset() -#endif /* M68K_EMULATE_RESET */ - -#if M68K_INSTRUCTION_HOOK - #if M68K_INSTRUCTION_HOOK == OPT_SPECIFY_HANDLER - #define m68ki_instr_hook() M68K_INSTRUCTION_CALLBACK() - #else - #define m68ki_instr_hook() CALLBACK_INSTR_HOOK() - #endif -#else - #define m68ki_instr_hook() -#endif /* M68K_INSTRUCTION_HOOK */ - -#if M68K_MONITOR_PC - #if M68K_MONITOR_PC == OPT_SPECIFY_HANDLER - #define m68ki_pc_changed(A) M68K_SET_PC_CALLBACK(ADDRESS_68K(A)) - #else - #define m68ki_pc_changed(A) CALLBACK_PC_CHANGED(ADDRESS_68K(A)) - #endif -#else - #define m68ki_pc_changed(A) -#endif /* M68K_MONITOR_PC */ - - -/* Enable or disable function code emulation */ -#if M68K_EMULATE_FC - #if M68K_EMULATE_FC == OPT_SPECIFY_HANDLER - #define m68ki_set_fc(A) M68K_SET_FC_CALLBACK(A) - #else - #define m68ki_set_fc(A) CALLBACK_SET_FC(A) - #endif - #define m68ki_use_data_space() m68ki_address_space = FUNCTION_CODE_USER_DATA - #define m68ki_use_program_space() m68ki_address_space = FUNCTION_CODE_USER_PROGRAM - #define m68ki_get_address_space() m68ki_address_space -#else - #define m68ki_set_fc(A) - #define m68ki_use_data_space() - #define m68ki_use_program_space() - #define m68ki_get_address_space() FUNCTION_CODE_USER_DATA -#endif /* M68K_EMULATE_FC */ - - -/* Enable or disable trace emulation */ -#if M68K_EMULATE_TRACE - /* Initiates trace checking before each instruction (t1) */ - #define m68ki_trace_t1() m68ki_tracing = FLAG_T1 - /* adds t0 to trace checking if we encounter change of flow */ - #define m68ki_trace_t0() m68ki_tracing |= FLAG_T0 - /* Clear all tracing */ - #define m68ki_clear_trace() m68ki_tracing = 0 - /* Cause a trace exception if we are tracing */ - #define m68ki_exception_if_trace() if(m68ki_tracing) m68ki_exception_trace() -#else - #define m68ki_trace_t1() - #define m68ki_trace_t0() - #define m68ki_clear_trace() - #define m68ki_exception_if_trace() -#endif /* M68K_EMULATE_TRACE */ - - - -/* Address error */ -#if M68K_EMULATE_ADDRESS_ERROR - extern jmp_buf m68ki_address_error_trap; - #define m68ki_set_address_error_trap() if(setjmp(m68ki_address_error_trap)) m68ki_exception_address_error(); - #define m68ki_check_address_error(A) if((A)&1) longjmp(m68ki_address_error_jump, 1); -#else - #define m68ki_set_address_error_trap() - #define m68ki_check_address_error(A) -#endif /* M68K_ADDRESS_ERROR */ - -/* Logging */ -#if M68K_LOG_ENABLE - #include - extern FILE* M68K_LOG_FILEHANDLE - extern char* m68ki_cpu_names[]; - - #define M68K_DO_LOG(A) if(M68K_LOG_FILEHANDLE) fprintf A - #if M68K_LOG_1010_1111 - #define M68K_DO_LOG_EMU(A) if(M68K_LOG_FILEHANDLE) fprintf A - #else - #define M68K_DO_LOG_EMU(A) - #endif -#else - #define M68K_DO_LOG(A) - #define M68K_DO_LOG_EMU(A) -#endif - - - -/* -------------------------- EA / Operand Access ------------------------- */ - -/* - * The general instruction format follows this pattern: - * .... XXX. .... .YYY - * where XXX is register X and YYY is register Y - */ -/* Data Register Isolation */ -#define DX (REG_D[(REG_IR >> 9) & 7]) -#define DY (REG_D[REG_IR & 7]) -/* Address Register Isolation */ -#define AX (REG_A[(REG_IR >> 9) & 7]) -#define AY (REG_A[REG_IR & 7]) - - -/* Effective Address Calculations */ -#define EA_AY_AI_8() AY /* address register indirect */ -#define EA_AY_AI_16() EA_AY_AI_8() -#define EA_AY_AI_32() EA_AY_AI_8() -#define EA_AY_PI_8() (AY++) /* postincrement (size = byte) */ -#define EA_AY_PI_16() ((AY+=2)-2) /* postincrement (size = word) */ -#define EA_AY_PI_32() ((AY+=4)-4) /* postincrement (size = long) */ -#define EA_AY_PD_8() (--AY) /* predecrement (size = byte) */ -#define EA_AY_PD_16() (AY-=2) /* predecrement (size = word) */ -#define EA_AY_PD_32() (AY-=4) /* predecrement (size = long) */ -#define EA_AY_DI_8() (AY+MAKE_INT_16(m68ki_read_imm_16())) /* displacement */ -#define EA_AY_DI_16() EA_AY_DI_8() -#define EA_AY_DI_32() EA_AY_DI_8() -#define EA_AY_IX_8() m68ki_get_ea_ix(AY) /* indirect + index */ -#define EA_AY_IX_16() EA_AY_IX_8() -#define EA_AY_IX_32() EA_AY_IX_8() - -#define EA_AX_AI_8() AX -#define EA_AX_AI_16() EA_AX_AI_8() -#define EA_AX_AI_32() EA_AX_AI_8() -#define EA_AX_PI_8() (AX++) -#define EA_AX_PI_16() ((AX+=2)-2) -#define EA_AX_PI_32() ((AX+=4)-4) -#define EA_AX_PD_8() (--AX) -#define EA_AX_PD_16() (AX-=2) -#define EA_AX_PD_32() (AX-=4) -#define EA_AX_DI_8() (AX+MAKE_INT_16(m68ki_read_imm_16())) -#define EA_AX_DI_16() EA_AX_DI_8() -#define EA_AX_DI_32() EA_AX_DI_8() -#define EA_AX_IX_8() m68ki_get_ea_ix(AX) -#define EA_AX_IX_16() EA_AX_IX_8() -#define EA_AX_IX_32() EA_AX_IX_8() - -#define EA_A7_PI_8() ((REG_A[7]+=2)-2) -#define EA_A7_PD_8() (REG_A[7]-=2) - -#define EA_AW_8() MAKE_INT_16(m68ki_read_imm_16()) /* absolute word */ -#define EA_AW_16() EA_AW_8() -#define EA_AW_32() EA_AW_8() -#define EA_AL_8() m68ki_read_imm_32() /* absolute long */ -#define EA_AL_16() EA_AL_8() -#define EA_AL_32() EA_AL_8() -#define EA_PCDI_8() m68ki_get_ea_pcdi() /* pc indirect + displacement */ -#define EA_PCDI_16() EA_PCDI_8() -#define EA_PCDI_32() EA_PCDI_8() -#define EA_PCIX_8() m68ki_get_ea_pcix() /* pc indirect + index */ -#define EA_PCIX_16() EA_PCIX_8() -#define EA_PCIX_32() EA_PCIX_8() - - -#define OPER_I_8() m68ki_read_imm_8() -#define OPER_I_16() m68ki_read_imm_16() -#define OPER_I_32() m68ki_read_imm_32() - - - -/* --------------------------- Status Register ---------------------------- */ - -/* Flag Calculation Macros */ -#define CFLAG_8(A) (A) -#define CFLAG_16(A) ((A)>>8) - -#if M68K_INT_GT_32_BIT - #define CFLAG_ADD_32(S, D, R) ((R)>>24) - #define CFLAG_SUB_32(S, D, R) ((R)>>24) -#else - #define CFLAG_ADD_32(S, D, R) (((S & D) | (~R & (S | D)))>>23) - #define CFLAG_SUB_32(S, D, R) (((S & R) | (~D & (S | R)))>>23) -#endif /* M68K_INT_GT_32_BIT */ - -#define VFLAG_ADD_8(S, D, R) ((S^R) & (D^R)) -#define VFLAG_ADD_16(S, D, R) (((S^R) & (D^R))>>8) -#define VFLAG_ADD_32(S, D, R) (((S^R) & (D^R))>>24) - -#define VFLAG_SUB_8(S, D, R) ((S^D) & (R^D)) -#define VFLAG_SUB_16(S, D, R) (((S^D) & (R^D))>>8) -#define VFLAG_SUB_32(S, D, R) (((S^D) & (R^D))>>24) - -#define NFLAG_8(A) (A) -#define NFLAG_16(A) ((A)>>8) -#define NFLAG_32(A) ((A)>>24) -#define NFLAG_64(A) ((A)>>56) - -#define ZFLAG_8(A) MASK_OUT_ABOVE_8(A) -#define ZFLAG_16(A) MASK_OUT_ABOVE_16(A) -#define ZFLAG_32(A) MASK_OUT_ABOVE_32(A) - - -/* Flag values */ -#define NFLAG_SET 0x80 -#define NFLAG_CLEAR 0 -#define CFLAG_SET 0x100 -#define CFLAG_CLEAR 0 -#define XFLAG_SET 0x100 -#define XFLAG_CLEAR 0 -#define VFLAG_SET 0x80 -#define VFLAG_CLEAR 0 -#define ZFLAG_SET 0 -#define ZFLAG_CLEAR 0xffffffff - -#define SFLAG_SET 4 -#define SFLAG_CLEAR 0 -#define MFLAG_SET 2 -#define MFLAG_CLEAR 0 - -/* Turn flag values into 1 or 0 */ -#define XFLAG_AS_1() ((FLAG_X>>8)&1) -#define NFLAG_AS_1() ((FLAG_N>>7)&1) -#define VFLAG_AS_1() ((FLAG_V>>7)&1) -#define ZFLAG_AS_1() (!FLAG_Z) -#define CFLAG_AS_1() ((FLAG_C>>8)&1) - - -/* Conditions */ -#define COND_CS() (FLAG_C&0x100) -#define COND_CC() (!COND_CS()) -#define COND_VS() (FLAG_V&0x80) -#define COND_VC() (!COND_VS()) -#define COND_NE() FLAG_Z -#define COND_EQ() (!COND_NE()) -#define COND_MI() (FLAG_N&0x80) -#define COND_PL() (!COND_MI()) -#define COND_LT() ((FLAG_N^FLAG_V)&0x80) -#define COND_GE() (!COND_LT()) -#define COND_HI() (COND_CC() && COND_NE()) -#define COND_LS() (COND_CS() || COND_EQ()) -#define COND_GT() (COND_GE() && COND_NE()) -#define COND_LE() (COND_LT() || COND_EQ()) - -/* Reversed conditions */ -#define COND_NOT_CS() COND_CC() -#define COND_NOT_CC() COND_CS() -#define COND_NOT_VS() COND_VC() -#define COND_NOT_VC() COND_VS() -#define COND_NOT_NE() COND_EQ() -#define COND_NOT_EQ() COND_NE() -#define COND_NOT_MI() COND_PL() -#define COND_NOT_PL() COND_MI() -#define COND_NOT_LT() COND_GE() -#define COND_NOT_GE() COND_LT() -#define COND_NOT_HI() COND_LS() -#define COND_NOT_LS() COND_HI() -#define COND_NOT_GT() COND_LE() -#define COND_NOT_LE() COND_GT() - -/* Not real conditions, but here for convenience */ -#define COND_XS() (FLAG_X&0x100) -#define COND_XC() (!COND_XS) - - -/* Get the condition code register */ -#define m68ki_get_ccr() ((COND_XS() >> 4) | \ - (COND_MI() >> 4) | \ - (COND_EQ() << 2) | \ - (COND_VS() >> 6) | \ - (COND_CS() >> 8)) - -/* Get the status register */ -#define m68ki_get_sr() ( FLAG_T1 | \ - FLAG_T0 | \ - (FLAG_S << 11) | \ - (FLAG_M << 11) | \ - FLAG_INT_MASK | \ - m68ki_get_ccr()) - - - -/* ---------------------------- Cycle Counting ---------------------------- */ - -#define ADD_CYCLES(A) m68ki_remaining_cycles += (A) -#define USE_CYCLES(A) m68ki_remaining_cycles -= (A) -#define SET_CYCLES(A) m68ki_remaining_cycles = A -#define GET_CYCLES() m68ki_remaining_cycles -#define USE_ALL_CYCLES() m68ki_remaining_cycles = 0 - - - -/* ----------------------------- Read / Write ----------------------------- */ - -/* Read from the current address space */ -#define m68ki_read_8(A) m68ki_read_8_fc (A, FLAG_S | m68ki_get_address_space()) -#define m68ki_read_16(A) m68ki_read_16_fc(A, FLAG_S | m68ki_get_address_space()) -#define m68ki_read_32(A) m68ki_read_32_fc(A, FLAG_S | m68ki_get_address_space()) - -/* Write to the current data space */ -#define m68ki_write_8(A, V) m68ki_write_8_fc (A, FLAG_S | FUNCTION_CODE_USER_DATA, V) -#define m68ki_write_16(A, V) m68ki_write_16_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) -#define m68ki_write_32(A, V) m68ki_write_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) - -/* map read immediate 8 to read immediate 16 */ -#define m68ki_read_imm_8() MASK_OUT_ABOVE_8(m68ki_read_imm_16()) - -/* Map PC-relative reads */ -#define m68ki_read_pcrel_8(A) m68k_read_pcrelative_8(A) -#define m68ki_read_pcrel_16(A) m68k_read_pcrelative_16(A) -#define m68ki_read_pcrel_32(A) m68k_read_pcrelative_32(A) - -/* Read from the program space */ -#define m68ki_read_program_8(A) m68ki_read_8_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) -#define m68ki_read_program_16(A) m68ki_read_16_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) -#define m68ki_read_program_32(A) m68ki_read_32_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) - -/* Read from the data space */ -#define m68ki_read_data_8(A) m68ki_read_8_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) -#define m68ki_read_data_16(A) m68ki_read_16_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) -#define m68ki_read_data_32(A) m68ki_read_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) - - - -/* ======================================================================== */ -/* =============================== PROTOTYPES ============================= */ -/* ======================================================================== */ - -typedef struct -{ - uint cpu_type; /* CPU Type: 68000, 68010, 68EC020, or 68020 */ - uint dar[16]; /* Data and Address Registers */ - uint ppc; /* Previous program counter */ - uint pc; /* Program Counter */ - uint sp[7]; /* User, Interrupt, and Master Stack Pointers */ - uint vbr; /* Vector Base Register (m68010+) */ - uint sfc; /* Source Function Code Register (m68010+) */ - uint dfc; /* Destination Function Code Register (m68010+) */ - uint cacr; /* Cache Control Register (m68020, unemulated) */ - uint caar; /* Cache Address Register (m68020, unemulated) */ - uint ir; /* Instruction Register */ - uint t1_flag; /* Trace 1 */ - uint t0_flag; /* Trace 0 */ - uint s_flag; /* Supervisor */ - uint m_flag; /* Master/Interrupt state */ - uint x_flag; /* Extend */ - uint n_flag; /* Negative */ - uint not_z_flag; /* Zero, inverted for speedups */ - uint v_flag; /* Overflow */ - uint c_flag; /* Carry */ - uint int_mask; /* I0-I2 */ - uint int_level; /* State of interrupt pins IPL0-IPL2 -- ASG: changed from ints_pending */ - uint int_cycles; /* ASG: extra cycles from generated interrupts */ - uint stopped; /* Stopped state */ - uint pref_addr; /* Last prefetch address */ - uint pref_data; /* Data in the prefetch queue */ - uint address_mask; /* Available address pins */ - uint sr_mask; /* Implemented status register bits */ - - /* Clocks required for instructions / exceptions */ - uint cyc_bcc_notake_b; - uint cyc_bcc_notake_w; - uint cyc_dbcc_f_noexp; - uint cyc_dbcc_f_exp; - uint cyc_scc_r_false; - uint cyc_movem_w; - uint cyc_movem_l; - uint cyc_shift; - uint cyc_reset; - uint8* cyc_instruction; - uint8* cyc_exception; - - /* Callbacks to host */ - int (*int_ack_callback)(int int_line); /* Interrupt Acknowledge */ - void (*bkpt_ack_callback)(unsigned int data); /* Breakpoint Acknowledge */ - void (*reset_instr_callback)(void); /* Called when a RESET instruction is encountered */ - void (*pc_changed_callback)(unsigned int new_pc); /* Called when the PC changes by a large amount */ - void (*set_fc_callback)(unsigned int new_fc); /* Called when the CPU function code changes */ - void (*instr_hook_callback)(void); /* Called every instruction cycle prior to execution */ - -} m68ki_cpu_core; - - -extern m68ki_cpu_core m68ki_cpu; -extern sint m68ki_remaining_cycles; -extern uint m68ki_tracing; -extern uint8 m68ki_shift_8_table[]; -extern uint16 m68ki_shift_16_table[]; -extern uint m68ki_shift_32_table[]; -extern uint8 m68ki_exception_cycle_table[][256]; -extern uint m68ki_address_space; -extern uint8 m68ki_ea_idx_cycle_table[]; - - -/* Read data immediately after the program counter */ -INLINE uint m68ki_read_imm_16(void); -INLINE uint m68ki_read_imm_32(void); - -/* Read data with specific function code */ -INLINE uint m68ki_read_8_fc (uint address, uint fc); -INLINE uint m68ki_read_16_fc (uint address, uint fc); -INLINE uint m68ki_read_32_fc (uint address, uint fc); - -/* Write data with specific function code */ -INLINE void m68ki_write_8_fc (uint address, uint fc, uint value); -INLINE void m68ki_write_16_fc(uint address, uint fc, uint value); -INLINE void m68ki_write_32_fc(uint address, uint fc, uint value); - -/* Indexed and PC-relative ea fetching */ -INLINE uint m68ki_get_ea_pcdi(void); -INLINE uint m68ki_get_ea_pcix(void); -INLINE uint m68ki_get_ea_ix(uint An); - -/* Operand fetching */ -INLINE uint OPER_AY_AI_8(void); -INLINE uint OPER_AY_AI_16(void); -INLINE uint OPER_AY_AI_32(void); -INLINE uint OPER_AY_PI_8(void); -INLINE uint OPER_AY_PI_16(void); -INLINE uint OPER_AY_PI_32(void); -INLINE uint OPER_AY_PD_8(void); -INLINE uint OPER_AY_PD_16(void); -INLINE uint OPER_AY_PD_32(void); -INLINE uint OPER_AY_DI_8(void); -INLINE uint OPER_AY_DI_16(void); -INLINE uint OPER_AY_DI_32(void); -INLINE uint OPER_AY_IX_8(void); -INLINE uint OPER_AY_IX_16(void); -INLINE uint OPER_AY_IX_32(void); - -INLINE uint OPER_AX_AI_8(void); -INLINE uint OPER_AX_AI_16(void); -INLINE uint OPER_AX_AI_32(void); -INLINE uint OPER_AX_PI_8(void); -INLINE uint OPER_AX_PI_16(void); -INLINE uint OPER_AX_PI_32(void); -INLINE uint OPER_AX_PD_8(void); -INLINE uint OPER_AX_PD_16(void); -INLINE uint OPER_AX_PD_32(void); -INLINE uint OPER_AX_DI_8(void); -INLINE uint OPER_AX_DI_16(void); -INLINE uint OPER_AX_DI_32(void); -INLINE uint OPER_AX_IX_8(void); -INLINE uint OPER_AX_IX_16(void); -INLINE uint OPER_AX_IX_32(void); - -INLINE uint OPER_A7_PI_8(void); -INLINE uint OPER_A7_PD_8(void); - -INLINE uint OPER_AW_8(void); -INLINE uint OPER_AW_16(void); -INLINE uint OPER_AW_32(void); -INLINE uint OPER_AL_8(void); -INLINE uint OPER_AL_16(void); -INLINE uint OPER_AL_32(void); -INLINE uint OPER_PCDI_8(void); -INLINE uint OPER_PCDI_16(void); -INLINE uint OPER_PCDI_32(void); -INLINE uint OPER_PCIX_8(void); -INLINE uint OPER_PCIX_16(void); -INLINE uint OPER_PCIX_32(void); - -/* Stack operations */ -INLINE void m68ki_push_16(uint value); -INLINE void m68ki_push_32(uint value); -INLINE uint m68ki_pull_16(void); -INLINE uint m68ki_pull_32(void); - -/* Program flow operations */ -INLINE void m68ki_jump(uint new_pc); -INLINE void m68ki_jump_vector(uint vector); -INLINE void m68ki_branch_8(uint offset); -INLINE void m68ki_branch_16(uint offset); -INLINE void m68ki_branch_32(uint offset); - -/* Status register operations. */ -INLINE void m68ki_set_s_flag(uint value); /* Only bit 2 of value should be set (i.e. 4 or 0) */ -INLINE void m68ki_set_sm_flag(uint value); /* only bits 1 and 2 of value should be set */ -INLINE void m68ki_set_ccr(uint value); /* set the condition code register */ -INLINE void m68ki_set_sr(uint value); /* set the status register */ -INLINE void m68ki_set_sr_noint(uint value); /* set the status register */ - -/* Exception processing */ -INLINE uint m68ki_init_exception(void); /* Initial exception processing */ - -INLINE void m68ki_stack_frame_3word(uint pc, uint sr); /* Stack various frame types */ -INLINE void m68ki_stack_frame_buserr(uint pc, uint sr, uint address, uint write, uint instruction, uint fc); - -INLINE void m68ki_stack_frame_0000(uint pc, uint sr, uint vector); -INLINE void m68ki_stack_frame_0001(uint pc, uint sr, uint vector); -INLINE void m68ki_stack_frame_0010(uint sr, uint vector); -INLINE void m68ki_stack_frame_1000(uint pc, uint sr, uint vector); -INLINE void m68ki_stack_frame_1010(uint sr, uint vector, uint pc); -INLINE void m68ki_stack_frame_1011(uint sr, uint vector, uint pc); - -INLINE void m68ki_exception_trap(uint vector); -INLINE void m68ki_exception_trapN(uint vector); -INLINE void m68ki_exception_trace(void); -INLINE void m68ki_exception_privilege_violation(void); -INLINE void m68ki_exception_1010(void); -INLINE void m68ki_exception_1111(void); -INLINE void m68ki_exception_illegal(void); -INLINE void m68ki_exception_format_error(void); -INLINE void m68ki_exception_address_error(void); -INLINE void m68ki_exception_interrupt(uint int_level); -INLINE void m68ki_check_interrupts(void); /* ASG: check for interrupts */ - -/* quick disassembly (used for logging) */ -char* m68ki_disassemble_quick(unsigned int pc, unsigned int cpu_type); - - -/* ======================================================================== */ -/* =========================== UTILITY FUNCTIONS ========================== */ -/* ======================================================================== */ - - -/* ---------------------------- Read Immediate ---------------------------- */ - -/* Handles all immediate reads, does address error check, function code setting, - * and prefetching if they are enabled in m68kconf.h - */ -INLINE uint m68ki_read_imm_16(void) -{ - m68ki_set_fc(FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(REG_PC); /* auto-disable (see m68kcpu.h) */ -#if M68K_EMULATE_PREFETCH - if(MASK_OUT_BELOW_2(REG_PC) != CPU_PREF_ADDR) - { - CPU_PREF_ADDR = MASK_OUT_BELOW_2(REG_PC); - CPU_PREF_DATA = m68k_read_immediate_32(ADDRESS_68K(CPU_PREF_ADDR)); - } - REG_PC += 2; - return MASK_OUT_ABOVE_16(CPU_PREF_DATA >> ((2-((REG_PC-2)&2))<<3)); -#else - REG_PC += 2; - return m68k_read_immediate_16(ADDRESS_68K(REG_PC-2)); -#endif /* M68K_EMULATE_PREFETCH */ -} -INLINE uint m68ki_read_imm_32(void) -{ -#if M68K_EMULATE_PREFETCH - uint temp_val; - - m68ki_set_fc(FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(REG_PC); /* auto-disable (see m68kcpu.h) */ - if(MASK_OUT_BELOW_2(REG_PC) != CPU_PREF_ADDR) - { - CPU_PREF_ADDR = MASK_OUT_BELOW_2(REG_PC); - CPU_PREF_DATA = m68k_read_immediate_32(ADDRESS_68K(CPU_PREF_ADDR)); - } - temp_val = CPU_PREF_DATA; - REG_PC += 2; - if(MASK_OUT_BELOW_2(REG_PC) != CPU_PREF_ADDR) - { - CPU_PREF_ADDR = MASK_OUT_BELOW_2(REG_PC); - CPU_PREF_DATA = m68k_read_immediate_32(ADDRESS_68K(CPU_PREF_ADDR)); - temp_val = MASK_OUT_ABOVE_32((temp_val << 16) | (CPU_PREF_DATA >> 16)); - } - REG_PC += 2; - - return temp_val; -#else - m68ki_set_fc(FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(REG_PC); /* auto-disable (see m68kcpu.h) */ - REG_PC += 4; - return m68k_read_immediate_32(ADDRESS_68K(REG_PC-4)); -#endif /* M68K_EMULATE_PREFETCH */ -} - - - -/* ------------------------- Top level read/write ------------------------- */ - -/* Handles all memory accesses (except for immediate reads if they are - * configured to use separate functions in m68kconf.h). - * All memory accesses must go through these top level functions. - * These functions will also check for address error and set the function - * code if they are enabled in m68kconf.h. - */ -INLINE uint m68ki_read_8_fc(uint address, uint fc) -{ - m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - return m68k_read_memory_8(ADDRESS_68K(address)); -} -INLINE uint m68ki_read_16_fc(uint address, uint fc) -{ - m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(address); /* auto-disable (see m68kcpu.h) */ - return m68k_read_memory_16(ADDRESS_68K(address)); -} -INLINE uint m68ki_read_32_fc(uint address, uint fc) -{ - m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(address); /* auto-disable (see m68kcpu.h) */ - return m68k_read_memory_32(ADDRESS_68K(address)); -} - -INLINE void m68ki_write_8_fc(uint address, uint fc, uint value) -{ - m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - m68k_write_memory_8(ADDRESS_68K(address), value); -} -INLINE void m68ki_write_16_fc(uint address, uint fc, uint value) -{ - m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(address); /* auto-disable (see m68kcpu.h) */ - m68k_write_memory_16(ADDRESS_68K(address), value); -} -INLINE void m68ki_write_32_fc(uint address, uint fc, uint value) -{ - m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - m68ki_check_address_error(address); /* auto-disable (see m68kcpu.h) */ - m68k_write_memory_32(ADDRESS_68K(address), value); -} - - - -/* --------------------- Effective Address Calculation -------------------- */ - -/* The program counter relative addressing modes cause operands to be - * retrieved from program space, not data space. - */ -INLINE uint m68ki_get_ea_pcdi(void) -{ - uint old_pc = REG_PC; - m68ki_use_program_space(); /* auto-disable */ - return old_pc + MAKE_INT_16(m68ki_read_imm_16()); -} - - -INLINE uint m68ki_get_ea_pcix(void) -{ - m68ki_use_program_space(); /* auto-disable */ - return m68ki_get_ea_ix(REG_PC); -} - -/* Indexed addressing modes are encoded as follows: - * - * Base instruction format: - * F E D C B A 9 8 7 6 | 5 4 3 | 2 1 0 - * x x x x x x x x x x | 1 1 0 | BASE REGISTER (An) - * - * Base instruction format for destination EA in move instructions: - * F E D C | B A 9 | 8 7 6 | 5 4 3 2 1 0 - * x x x x | BASE REG | 1 1 0 | X X X X X X (An) - * - * Brief extension format: - * F | E D C | B | A 9 | 8 | 7 6 5 4 3 2 1 0 - * D/A | REGISTER | W/L | SCALE | 0 | DISPLACEMENT - * - * Full extension format: - * F E D C B A 9 8 7 6 5 4 3 2 1 0 - * D/A | REGISTER | W/L | SCALE | 1 | BS | IS | BD SIZE | 0 | I/IS - * BASE DISPLACEMENT (0, 16, 32 bit) (bd) - * OUTER DISPLACEMENT (0, 16, 32 bit) (od) - * - * D/A: 0 = Dn, 1 = An (Xn) - * W/L: 0 = W (sign extend), 1 = L (.SIZE) - * SCALE: 00=1, 01=2, 10=4, 11=8 (*SCALE) - * BS: 0=add base reg, 1=suppress base reg (An suppressed) - * IS: 0=add index, 1=suppress index (Xn suppressed) - * BD SIZE: 00=reserved, 01=NULL, 10=Word, 11=Long (size of bd) - * - * IS I/IS Operation - * 0 000 No Memory Indirect - * 0 001 indir prex with null outer - * 0 010 indir prex with word outer - * 0 011 indir prex with long outer - * 0 100 reserved - * 0 101 indir postx with null outer - * 0 110 indir postx with word outer - * 0 111 indir postx with long outer - * 1 000 no memory indirect - * 1 001 mem indir with null outer - * 1 010 mem indir with word outer - * 1 011 mem indir with long outer - * 1 100-111 reserved - */ -INLINE uint m68ki_get_ea_ix(uint An) -{ - /* An = base register */ - uint extension = m68ki_read_imm_16(); - uint Xn = 0; /* Index register */ - uint bd = 0; /* Base Displacement */ - uint od = 0; /* Outer Displacement */ - - if(CPU_TYPE_IS_010_LESS(CPU_TYPE)) - { - /* Calculate index */ - Xn = REG_DA[extension>>12]; /* Xn */ - if(!BIT_B(extension)) /* W/L */ - Xn = MAKE_INT_16(Xn); - - /* Add base register and displacement and return */ - return An + Xn + MAKE_INT_8(extension); - } - - /* Brief extension format */ - if(!BIT_8(extension)) - { - /* Calculate index */ - Xn = REG_DA[extension>>12]; /* Xn */ - if(!BIT_B(extension)) /* W/L */ - Xn = MAKE_INT_16(Xn); - /* Add scale if proper CPU type */ - if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - Xn <<= (extension>>9) & 3; /* SCALE */ - - /* Add base register and displacement and return */ - return An + Xn + MAKE_INT_8(extension); - } - - /* Full extension format */ - - USE_CYCLES(m68ki_ea_idx_cycle_table[extension&0x3f]); - - /* Check if base register is present */ - if(BIT_7(extension)) /* BS */ - An = 0; /* An */ - - /* Check if index is present */ - if(!BIT_6(extension)) /* IS */ - { - Xn = REG_DA[extension>>12]; /* Xn */ - if(!BIT_B(extension)) /* W/L */ - Xn = MAKE_INT_16(Xn); - Xn <<= (extension>>9) & 3; /* SCALE */ - } - - /* Check if base displacement is present */ - if(BIT_5(extension)) /* BD SIZE */ - bd = BIT_4(extension) ? m68ki_read_imm_32() : MAKE_INT_16(m68ki_read_imm_16()); - - /* If no indirect action, we are done */ - if(!(extension&7)) /* No Memory Indirect */ - return An + bd + Xn; - - /* Check if outer displacement is present */ - if(BIT_1(extension)) /* I/IS: od */ - od = BIT_0(extension) ? m68ki_read_imm_32() : MAKE_INT_16(m68ki_read_imm_16()); - - /* Postindex */ - if(BIT_2(extension)) /* I/IS: 0 = preindex, 1 = postindex */ - return m68ki_read_32(An + bd) + Xn + od; - - /* Preindex */ - return m68ki_read_32(An + bd + Xn) + od; -} - - -/* Fetch operands */ -INLINE uint OPER_AY_AI_8(void) {uint ea = EA_AY_AI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_AI_16(void) {uint ea = EA_AY_AI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_AI_32(void) {uint ea = EA_AY_AI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_PI_8(void) {uint ea = EA_AY_PI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_PI_16(void) {uint ea = EA_AY_PI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_PI_32(void) {uint ea = EA_AY_PI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_PD_8(void) {uint ea = EA_AY_PD_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_PD_16(void) {uint ea = EA_AY_PD_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_PD_32(void) {uint ea = EA_AY_PD_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_DI_8(void) {uint ea = EA_AY_DI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_DI_16(void) {uint ea = EA_AY_DI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_DI_32(void) {uint ea = EA_AY_DI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_IX_8(void) {uint ea = EA_AY_IX_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_IX_16(void) {uint ea = EA_AY_IX_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_IX_32(void) {uint ea = EA_AY_IX_32(); return m68ki_read_32(ea);} - -INLINE uint OPER_AX_AI_8(void) {uint ea = EA_AX_AI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_AI_16(void) {uint ea = EA_AX_AI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_AI_32(void) {uint ea = EA_AX_AI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_PI_8(void) {uint ea = EA_AX_PI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_PI_16(void) {uint ea = EA_AX_PI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_PI_32(void) {uint ea = EA_AX_PI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_PD_8(void) {uint ea = EA_AX_PD_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_PD_16(void) {uint ea = EA_AX_PD_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_PD_32(void) {uint ea = EA_AX_PD_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_DI_8(void) {uint ea = EA_AX_DI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_DI_16(void) {uint ea = EA_AX_DI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_DI_32(void) {uint ea = EA_AX_DI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_IX_8(void) {uint ea = EA_AX_IX_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_IX_16(void) {uint ea = EA_AX_IX_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_IX_32(void) {uint ea = EA_AX_IX_32(); return m68ki_read_32(ea);} - -INLINE uint OPER_A7_PI_8(void) {uint ea = EA_A7_PI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_A7_PD_8(void) {uint ea = EA_A7_PD_8(); return m68ki_read_8(ea); } - -INLINE uint OPER_AW_8(void) {uint ea = EA_AW_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AW_16(void) {uint ea = EA_AW_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AW_32(void) {uint ea = EA_AW_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AL_8(void) {uint ea = EA_AL_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AL_16(void) {uint ea = EA_AL_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AL_32(void) {uint ea = EA_AL_32(); return m68ki_read_32(ea);} -INLINE uint OPER_PCDI_8(void) {uint ea = EA_PCDI_8(); return m68ki_read_pcrel_8(ea); } -INLINE uint OPER_PCDI_16(void) {uint ea = EA_PCDI_16(); return m68ki_read_pcrel_16(ea);} -INLINE uint OPER_PCDI_32(void) {uint ea = EA_PCDI_32(); return m68ki_read_pcrel_32(ea);} -INLINE uint OPER_PCIX_8(void) {uint ea = EA_PCIX_8(); return m68ki_read_pcrel_8(ea); } -INLINE uint OPER_PCIX_16(void) {uint ea = EA_PCIX_16(); return m68ki_read_pcrel_16(ea);} -INLINE uint OPER_PCIX_32(void) {uint ea = EA_PCIX_32(); return m68ki_read_pcrel_32(ea);} - - - -/* ---------------------------- Stack Functions --------------------------- */ - -/* Push/pull data from the stack */ -INLINE void m68ki_push_16(uint value) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP - 2); - m68ki_write_16(REG_SP, value); -} - -INLINE void m68ki_push_32(uint value) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP - 4); - m68ki_write_32(REG_SP, value); -} - -INLINE uint m68ki_pull_16(void) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP + 2); - return m68ki_read_16(REG_SP-2); -} - -INLINE uint m68ki_pull_32(void) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP + 4); - return m68ki_read_32(REG_SP-4); -} - - -/* Increment/decrement the stack as if doing a push/pull but - * don't do any memory access. - */ -INLINE void m68ki_fake_push_16(void) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP - 2); -} - -INLINE void m68ki_fake_push_32(void) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP - 4); -} - -INLINE void m68ki_fake_pull_16(void) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP + 2); -} - -INLINE void m68ki_fake_pull_32(void) -{ - REG_SP = MASK_OUT_ABOVE_32(REG_SP + 4); -} - - -/* ----------------------------- Program Flow ----------------------------- */ - -/* Jump to a new program location or vector. - * These functions will also call the pc_changed callback if it was enabled - * in m68kconf.h. - */ -INLINE void m68ki_jump(uint new_pc) -{ - REG_PC = new_pc; - m68ki_pc_changed(REG_PC); -} - -INLINE void m68ki_jump_vector(uint vector) -{ - REG_PC = (vector<<2) + REG_VBR; - REG_PC = m68ki_read_data_32(REG_PC); - m68ki_pc_changed(REG_PC); -} - - -/* Branch to a new memory location. - * The 32-bit branch will call pc_changed if it was enabled in m68kconf.h. - * So far I've found no problems with not calling pc_changed for 8 or 16 - * bit branches. - */ -INLINE void m68ki_branch_8(uint offset) -{ - REG_PC += MAKE_INT_8(offset); -} - -INLINE void m68ki_branch_16(uint offset) -{ - REG_PC += MAKE_INT_16(offset); -} - -INLINE void m68ki_branch_32(uint offset) -{ - REG_PC += offset; - m68ki_pc_changed(REG_PC); -} - - - -/* ---------------------------- Status Register --------------------------- */ - -/* Set the S flag and change the active stack pointer. - * Note that value MUST be 4 or 0. - */ -INLINE void m68ki_set_s_flag(uint value) -{ - /* Backup the old stack pointer */ - REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)] = REG_SP; - /* Set the S flag */ - FLAG_S = value; - /* Set the new stack pointer */ - REG_SP = REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)]; -} - -/* Set the S and M flags and change the active stack pointer. - * Note that value MUST be 0, 2, 4, or 6 (bit2 = S, bit1 = M). - */ -INLINE void m68ki_set_sm_flag(uint value) -{ - /* Backup the old stack pointer */ - REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)] = REG_SP; - /* Set the S and M flags */ - FLAG_S = value & SFLAG_SET; - FLAG_M = value & MFLAG_SET; - /* Set the new stack pointer */ - REG_SP = REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)]; -} - - -/* Set the condition code register */ -INLINE void m68ki_set_ccr(uint value) -{ - FLAG_X = BIT_4(value) << 4; - FLAG_N = BIT_3(value) << 4; - FLAG_Z = !BIT_2(value); - FLAG_V = BIT_1(value) << 6; - FLAG_C = BIT_0(value) << 8; -} - -/* Set the status register but don't check for interrupts */ -INLINE void m68ki_set_sr_noint(uint value) -{ - /* Mask out the "unimplemented" bits */ - value &= CPU_SR_MASK; - - /* Now set the status register */ - FLAG_T1 = BIT_F(value); - FLAG_T0 = BIT_E(value); - FLAG_INT_MASK = value & 0x0700; - m68ki_set_ccr(value); - m68ki_set_sm_flag((value >> 11) & 6); -} - -/* Set the status register and check for interrupts */ -INLINE void m68ki_set_sr(uint value) -{ - m68ki_set_sr_noint(value); - m68ki_check_interrupts(); -} - - -/* ------------------------- Exception Processing ------------------------- */ - -/* Initiate exception processing */ -INLINE uint m68ki_init_exception(void) -{ - /* Save the old status register */ - uint sr = m68ki_get_sr(); - - /* Turn off trace flag, clear pending traces */ - FLAG_T1 = FLAG_T0 = 0; - m68ki_clear_trace(); - /* Enter supervisor mode */ - m68ki_set_s_flag(SFLAG_SET); - - return sr; -} - -/* 3 word stack frame (68000 only) */ -INLINE void m68ki_stack_frame_3word(uint pc, uint sr) -{ - m68ki_push_32(pc); - m68ki_push_16(sr); -} - -/* Format 0 stack frame. - * This is the standard stack frame for 68010+. - */ -INLINE void m68ki_stack_frame_0000(uint pc, uint sr, uint vector) -{ - /* Stack a 3-word frame if we are 68000 */ - if(CPU_TYPE == CPU_TYPE_000) - { - m68ki_stack_frame_3word(pc, sr); - return; - } - m68ki_push_16(vector<<2); - m68ki_push_32(pc); - m68ki_push_16(sr); -} - -/* Format 1 stack frame (68020). - * For 68020, this is the 4 word throwaway frame. - */ -INLINE void m68ki_stack_frame_0001(uint pc, uint sr, uint vector) -{ - m68ki_push_16(0x1000 | (vector<<2)); - m68ki_push_32(pc); - m68ki_push_16(sr); -} - -/* Format 2 stack frame. - * This is used only by 68020 for trap exceptions. - */ -INLINE void m68ki_stack_frame_0010(uint sr, uint vector) -{ - m68ki_push_32(REG_PPC); - m68ki_push_16(0x2000 | (vector<<2)); - m68ki_push_32(REG_PC); - m68ki_push_16(sr); -} - - -/* Bus error stack frame (68000 only). - */ -INLINE void m68ki_stack_frame_buserr(uint pc, uint sr, uint address, uint write, uint instruction, uint fc) -{ - m68ki_push_32(pc); - m68ki_push_16(sr); - m68ki_push_16(REG_IR); - m68ki_push_32(address); /* access address */ - /* 0 0 0 0 0 0 0 0 0 0 0 R/W I/N FC - * R/W 0 = write, 1 = read - * I/N 0 = instruction, 1 = not - * FC 3-bit function code - */ - m68ki_push_16(((!write)<<4) | ((!instruction)<<3) | fc); -} - -/* Format 8 stack frame (68010). - * 68010 only. This is the 29 word bus/address error frame. - */ -void m68ki_stack_frame_1000(uint pc, uint sr, uint vector) -{ - /* VERSION - * NUMBER - * INTERNAL INFORMATION, 16 WORDS - */ - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - - /* INSTRUCTION INPUT BUFFER */ - m68ki_push_16(0); - - /* UNUSED, RESERVED (not written) */ - m68ki_fake_push_16(); - - /* DATA INPUT BUFFER */ - m68ki_push_16(0); - - /* UNUSED, RESERVED (not written) */ - m68ki_fake_push_16(); - - /* DATA OUTPUT BUFFER */ - m68ki_push_16(0); - - /* UNUSED, RESERVED (not written) */ - m68ki_fake_push_16(); - - /* FAULT ADDRESS */ - m68ki_push_32(0); - - /* SPECIAL STATUS WORD */ - m68ki_push_16(0); - - /* 1000, VECTOR OFFSET */ - m68ki_push_16(0x8000 | (vector<<2)); - - /* PROGRAM COUNTER */ - m68ki_push_32(pc); - - /* STATUS REGISTER */ - m68ki_push_16(sr); -} - -/* Format A stack frame (short bus fault). - * This is used only by 68020 for bus fault and address error - * if the error happens at an instruction boundary. - * PC stacked is address of next instruction. - */ -void m68ki_stack_frame_1010(uint sr, uint vector, uint pc) -{ - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* DATA OUTPUT BUFFER (2 words) */ - m68ki_push_32(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* DATA CYCLE FAULT ADDRESS (2 words) */ - m68ki_push_32(0); - - /* INSTRUCTION PIPE STAGE B */ - m68ki_push_16(0); - - /* INSTRUCTION PIPE STAGE C */ - m68ki_push_16(0); - - /* SPECIAL STATUS REGISTER */ - m68ki_push_16(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* 1010, VECTOR OFFSET */ - m68ki_push_16(0xa000 | (vector<<2)); - - /* PROGRAM COUNTER */ - m68ki_push_32(pc); - - /* STATUS REGISTER */ - m68ki_push_16(sr); -} - -/* Format B stack frame (long bus fault). - * This is used only by 68020 for bus fault and address error - * if the error happens during instruction execution. - * PC stacked is address of instruction in progress. - */ -void m68ki_stack_frame_1011(uint sr, uint vector, uint pc) -{ - /* INTERNAL REGISTERS (18 words) */ - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - - /* VERSION# (4 bits), INTERNAL INFORMATION */ - m68ki_push_16(0); - - /* INTERNAL REGISTERS (3 words) */ - m68ki_push_32(0); - m68ki_push_16(0); - - /* DATA INTPUT BUFFER (2 words) */ - m68ki_push_32(0); - - /* INTERNAL REGISTERS (2 words) */ - m68ki_push_32(0); - - /* STAGE B ADDRESS (2 words) */ - m68ki_push_32(0); - - /* INTERNAL REGISTER (4 words) */ - m68ki_push_32(0); - m68ki_push_32(0); - - /* DATA OUTPUT BUFFER (2 words) */ - m68ki_push_32(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* DATA CYCLE FAULT ADDRESS (2 words) */ - m68ki_push_32(0); - - /* INSTRUCTION PIPE STAGE B */ - m68ki_push_16(0); - - /* INSTRUCTION PIPE STAGE C */ - m68ki_push_16(0); - - /* SPECIAL STATUS REGISTER */ - m68ki_push_16(0); - - /* INTERNAL REGISTER */ - m68ki_push_16(0); - - /* 1011, VECTOR OFFSET */ - m68ki_push_16(0xb000 | (vector<<2)); - - /* PROGRAM COUNTER */ - m68ki_push_32(pc); - - /* STATUS REGISTER */ - m68ki_push_16(sr); -} - - -/* Used for Group 2 exceptions. - * These stack a type 2 frame on the 020. - */ -INLINE void m68ki_exception_trap(uint vector) -{ - uint sr = m68ki_init_exception(); - - if(CPU_TYPE_IS_010_LESS(CPU_TYPE)) - m68ki_stack_frame_0000(REG_PC, sr, vector); - else - m68ki_stack_frame_0010(sr, vector); - - m68ki_jump_vector(vector); - - /* Use up some clock cycles */ - USE_CYCLES(CYC_EXCEPTION[vector]); -} - -/* Trap#n stacks a 0 frame but behaves like group2 otherwise */ -INLINE void m68ki_exception_trapN(uint vector) -{ - uint sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC, sr, vector); - m68ki_jump_vector(vector); - - /* Use up some clock cycles */ - USE_CYCLES(CYC_EXCEPTION[vector]); -} - -/* Exception for trace mode */ -INLINE void m68ki_exception_trace(void) -{ - uint sr = m68ki_init_exception(); - - if(CPU_TYPE_IS_010_LESS(CPU_TYPE)) - m68ki_stack_frame_0000(REG_PC, sr, EXCEPTION_TRACE); - else - m68ki_stack_frame_0010(sr, EXCEPTION_TRACE); - - m68ki_jump_vector(EXCEPTION_TRACE); - - /* Trace nullifies a STOP instruction */ - CPU_STOPPED &= ~STOP_LEVEL_STOP; - - /* Use up some clock cycles */ - USE_CYCLES(CYC_EXCEPTION[EXCEPTION_TRACE]); -} - -/* Exception for privilege violation */ -INLINE void m68ki_exception_privilege_violation(void) -{ - uint sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC, sr, EXCEPTION_PRIVILEGE_VIOLATION); - m68ki_jump_vector(EXCEPTION_PRIVILEGE_VIOLATION); - - /* Use up some clock cycles and undo the instruction's cycles */ - USE_CYCLES(CYC_EXCEPTION[EXCEPTION_PRIVILEGE_VIOLATION] - CYC_INSTRUCTION[REG_IR]); -} - -/* Exception for A-Line instructions */ -INLINE void m68ki_exception_1010(void) -{ - uint sr; -#if M68K_LOG_1010_1111 == OPT_ON - M68K_DO_LOG_EMU((M68K_LOG_FILEHANDLE "%s at %08x: called 1010 instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR, - m68ki_disassemble_quick(ADDRESS_68K(REG_PPC)))); -#endif - - sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC-2, sr, EXCEPTION_1010); - m68ki_jump_vector(EXCEPTION_1010); - - /* Use up some clock cycles and undo the instruction's cycles */ - USE_CYCLES(CYC_EXCEPTION[EXCEPTION_1010] - CYC_INSTRUCTION[REG_IR]); -} - -/* Exception for F-Line instructions */ -INLINE void m68ki_exception_1111(void) -{ - uint sr; - -#if M68K_LOG_1010_1111 == OPT_ON - M68K_DO_LOG_EMU((M68K_LOG_FILEHANDLE "%s at %08x: called 1111 instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR, - m68ki_disassemble_quick(ADDRESS_68K(REG_PPC)))); -#endif - - sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC-2, sr, EXCEPTION_1111); - m68ki_jump_vector(EXCEPTION_1111); - - /* Use up some clock cycles and undo the instruction's cycles */ - USE_CYCLES(CYC_EXCEPTION[EXCEPTION_1111] - CYC_INSTRUCTION[REG_IR]); -} - -/* Exception for illegal instructions */ -INLINE void m68ki_exception_illegal(void) -{ - uint sr; - - M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: illegal instruction %04x (%s)\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR, - m68ki_disassemble_quick(ADDRESS_68K(REG_PPC)))); - - sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC, sr, EXCEPTION_ILLEGAL_INSTRUCTION); - m68ki_jump_vector(EXCEPTION_ILLEGAL_INSTRUCTION); - - /* Use up some clock cycles and undo the instruction's cycles */ - USE_CYCLES(CYC_EXCEPTION[EXCEPTION_ILLEGAL_INSTRUCTION] - CYC_INSTRUCTION[REG_IR]); -} - -/* Exception for format errror in RTE */ -INLINE void m68ki_exception_format_error(void) -{ - uint sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC, sr, EXCEPTION_FORMAT_ERROR); - m68ki_jump_vector(EXCEPTION_FORMAT_ERROR); - - /* Use up some clock cycles and undo the instruction's cycles */ - USE_CYCLES(CYC_EXCEPTION[EXCEPTION_FORMAT_ERROR] - CYC_INSTRUCTION[REG_IR]); -} - -/* Exception for address error */ -INLINE void m68ki_exception_address_error(void) -{ - /* Not emulated yet */ -} - - -/* Service an interrupt request and start exception processing */ -void m68ki_exception_interrupt(uint int_level) -{ - uint vector; - uint sr; - uint new_pc; - - /* Turn off the stopped state */ - CPU_STOPPED &= ~STOP_LEVEL_STOP; - - /* If we are halted, don't do anything */ - if(CPU_STOPPED) - return; - - /* Acknowledge the interrupt */ - vector = m68ki_int_ack(int_level); - - /* Get the interrupt vector */ - if(vector == M68K_INT_ACK_AUTOVECTOR) - /* Use the autovectors. This is the most commonly used implementation */ - vector = EXCEPTION_INTERRUPT_AUTOVECTOR+int_level; - else if(vector == M68K_INT_ACK_SPURIOUS) - /* Called if no devices respond to the interrupt acknowledge */ - vector = EXCEPTION_SPURIOUS_INTERRUPT; - else if(vector > 255) - { - M68K_DO_LOG_EMU((M68K_LOG_FILEHANDLE "%s at %08x: Interrupt acknowledge returned invalid vector $%x\n", - m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC), vector)); - return; - } - - /* Start exception processing */ - sr = m68ki_init_exception(); - - /* Set the interrupt mask to the level of the one being serviced */ - FLAG_INT_MASK = int_level<<8; - - /* Get the new PC */ - new_pc = m68ki_read_data_32((vector<<2) + REG_VBR); - - /* If vector is uninitialized, call the uninitialized interrupt vector */ - if(new_pc == 0) - new_pc = m68ki_read_data_32((EXCEPTION_UNINITIALIZED_INTERRUPT<<2) + REG_VBR); - - /* Generate a stack frame */ - m68ki_stack_frame_0000(REG_PC, sr, vector); - if(FLAG_M && CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) - { - /* Create throwaway frame */ - m68ki_set_sm_flag(FLAG_S); /* clear M */ - sr |= 0x2000; /* Same as SR in master stack frame except S is forced high */ - m68ki_stack_frame_0001(REG_PC, sr, vector); - } - - m68ki_jump(new_pc); - - /* Defer cycle counting until later */ - CPU_INT_CYCLES += CYC_EXCEPTION[vector]; - -#if !M68K_EMULATE_INT_ACK - /* Automatically clear IRQ if we are not using an acknowledge scheme */ - CPU_INT_LEVEL = 0; -#endif /* M68K_EMULATE_INT_ACK */ -} - - -/* ASG: Check for interrupts */ -INLINE void m68ki_check_interrupts(void) -{ - if(CPU_INT_LEVEL > FLAG_INT_MASK) - m68ki_exception_interrupt(CPU_INT_LEVEL>>8); -} - - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ - -#endif /* M68KCPU__HEADER */ diff --git a/src/m68kdasm.c b/src/m68kdasm.c deleted file mode 100644 index 4bea00c..0000000 --- a/src/m68kdasm.c +++ /dev/null @@ -1,3443 +0,0 @@ -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ -/* - * MUSASHI - * Version 3.3 - * - * A portable Motorola M680x0 processor emulation engine. - * Copyright 1998-2001 Karl Stenerud. All rights reserved. - * - * This code may be freely used for non-commercial purposes as long as this - * copyright notice remains unaltered in the source code and any binary files - * containing this code in compiled form. - * - * All other lisencing terms must be negotiated with the author - * (Karl Stenerud). - * - * The latest version of this code can be obtained at: - * http://kstenerud.cjb.net - */ - - - -/* ======================================================================== */ -/* ================================ INCLUDES ============================== */ -/* ======================================================================== */ - -#include -#include -#include -#include "m68k.h" - -/* ======================================================================== */ -/* ============================ GENERAL DEFINES =========================== */ -/* ======================================================================== */ - -/* unsigned int and int must be at least 32 bits wide */ -#undef uint -#define uint unsigned int - -/* Bit Isolation Functions */ -#define BIT_0(A) ((A) & 0x00000001) -#define BIT_1(A) ((A) & 0x00000002) -#define BIT_2(A) ((A) & 0x00000004) -#define BIT_3(A) ((A) & 0x00000008) -#define BIT_4(A) ((A) & 0x00000010) -#define BIT_5(A) ((A) & 0x00000020) -#define BIT_6(A) ((A) & 0x00000040) -#define BIT_7(A) ((A) & 0x00000080) -#define BIT_8(A) ((A) & 0x00000100) -#define BIT_9(A) ((A) & 0x00000200) -#define BIT_A(A) ((A) & 0x00000400) -#define BIT_B(A) ((A) & 0x00000800) -#define BIT_C(A) ((A) & 0x00001000) -#define BIT_D(A) ((A) & 0x00002000) -#define BIT_E(A) ((A) & 0x00004000) -#define BIT_F(A) ((A) & 0x00008000) -#define BIT_10(A) ((A) & 0x00010000) -#define BIT_11(A) ((A) & 0x00020000) -#define BIT_12(A) ((A) & 0x00040000) -#define BIT_13(A) ((A) & 0x00080000) -#define BIT_14(A) ((A) & 0x00100000) -#define BIT_15(A) ((A) & 0x00200000) -#define BIT_16(A) ((A) & 0x00400000) -#define BIT_17(A) ((A) & 0x00800000) -#define BIT_18(A) ((A) & 0x01000000) -#define BIT_19(A) ((A) & 0x02000000) -#define BIT_1A(A) ((A) & 0x04000000) -#define BIT_1B(A) ((A) & 0x08000000) -#define BIT_1C(A) ((A) & 0x10000000) -#define BIT_1D(A) ((A) & 0x20000000) -#define BIT_1E(A) ((A) & 0x40000000) -#define BIT_1F(A) ((A) & 0x80000000) - -/* These are the CPU types understood by this disassembler */ -#define TYPE_68000 1 -#define TYPE_68010 2 -#define TYPE_68020 4 -#define TYPE_68030 8 -#define TYPE_68040 16 - -#define M68000_ONLY TYPE_68000 - -#define M68010_ONLY TYPE_68010 -#define M68010_LESS (TYPE_68000 | TYPE_68010) -#define M68010_PLUS (TYPE_68010 | TYPE_68020 | TYPE_68030 | TYPE_68040) - -#define M68020_ONLY TYPE_68020 -#define M68020_LESS (TYPE_68010 | TYPE_68020) -#define M68020_PLUS (TYPE_68020 | TYPE_68030 | TYPE_68040) - -#define M68030_ONLY TYPE_68030 -#define M68030_LESS (TYPE_68010 | TYPE_68020 | TYPE_68030) -#define M68030_PLUS (TYPE_68030 | TYPE_68040) - -#define M68040_PLUS TYPE_68040 - - -/* Extension word formats */ -#define EXT_8BIT_DISPLACEMENT(A) ((A)&0xff) -#define EXT_FULL(A) BIT_8(A) -#define EXT_EFFECTIVE_ZERO(A) (((A)&0xe4) == 0xc4 || ((A)&0xe2) == 0xc0) -#define EXT_BASE_REGISTER_PRESENT(A) (!BIT_7(A)) -#define EXT_INDEX_REGISTER_PRESENT(A) (!BIT_6(A)) -#define EXT_INDEX_REGISTER(A) (((A)>>12)&7) -#define EXT_INDEX_PRE_POST(A) (EXT_INDEX_PRESENT(A) && (A)&3) -#define EXT_INDEX_PRE(A) (EXT_INDEX_PRESENT(A) && ((A)&7) < 4 && ((A)&7) != 0) -#define EXT_INDEX_POST(A) (EXT_INDEX_PRESENT(A) && ((A)&7) > 4) -#define EXT_INDEX_SCALE(A) (((A)>>9)&3) -#define EXT_INDEX_LONG(A) BIT_B(A) -#define EXT_INDEX_AR(A) BIT_F(A) -#define EXT_BASE_DISPLACEMENT_PRESENT(A) (((A)&0x30) > 0x10) -#define EXT_BASE_DISPLACEMENT_WORD(A) (((A)&0x30) == 0x20) -#define EXT_BASE_DISPLACEMENT_LONG(A) (((A)&0x30) == 0x30) -#define EXT_OUTER_DISPLACEMENT_PRESENT(A) (((A)&3) > 1 && ((A)&0x47) < 0x44) -#define EXT_OUTER_DISPLACEMENT_WORD(A) (((A)&3) == 2 && ((A)&0x47) < 0x44) -#define EXT_OUTER_DISPLACEMENT_LONG(A) (((A)&3) == 3 && ((A)&0x47) < 0x44) - - - -/* ======================================================================== */ -/* =============================== PROTOTYPES ============================= */ -/* ======================================================================== */ - -/* Read data at the PC and increment PC */ -uint read_imm_8(void); -uint read_imm_16(void); -uint read_imm_32(void); - -/* Read data at the PC but don't imcrement the PC */ -uint peek_imm_8(void); -uint peek_imm_16(void); -uint peek_imm_32(void); - -/* make signed integers 100% portably */ -static int make_int_8(int value); -static int make_int_16(int value); - -/* make a string of a hex value */ -static char* make_signed_hex_str_8(uint val); -static char* make_signed_hex_str_16(uint val); -static char* make_signed_hex_str_32(uint val); - -/* make string of ea mode */ -static char* get_ea_mode_str(uint instruction, uint size); - -char* get_ea_mode_str_8(uint instruction); -char* get_ea_mode_str_16(uint instruction); -char* get_ea_mode_str_32(uint instruction); - -/* make string of immediate value */ -static char* get_imm_str_s(uint size); -static char* get_imm_str_u(uint size); - -char* get_imm_str_s8(void); -char* get_imm_str_s16(void); -char* get_imm_str_s32(void); - -/* Stuff to build the opcode handler jump table */ -static void build_opcode_table(void); -static int valid_ea(uint opcode, uint mask); -static int DECL_SPEC compare_nof_true_bits(const void *aptr, const void *bptr); - -/* used to build opcode handler jump table */ -typedef struct -{ - void (*opcode_handler)(void); /* handler function */ - uint mask; /* mask on opcode */ - uint match; /* what to match after masking */ - uint ea_mask; /* what ea modes are allowed */ -} opcode_struct; - - - -/* ======================================================================== */ -/* ================================= DATA ================================= */ -/* ======================================================================== */ - -/* Opcode handler jump table */ -static void (*g_instruction_table[0x10000])(void); -/* Flag if disassembler initialized */ -static int g_initialized = 0; - -/* Address mask to simulate address lines */ -static unsigned int g_address_mask = 0xffffffff; - -static char g_dasm_str[100]; /* string to hold disassembly */ -static char g_helper_str[100]; /* string to hold helpful info */ -static uint g_cpu_pc; /* program counter */ -static uint g_cpu_ir; /* instruction register */ -static uint g_cpu_type; - -/* used by ops like asr, ror, addq, etc */ -static uint g_3bit_qdata_table[8] = {8, 1, 2, 3, 4, 5, 6, 7}; - -static uint g_5bit_data_table[32] = -{ - 32, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 -}; - -static char* g_cc[16] = -{"t", "f", "hi", "ls", "cc", "cs", "ne", "eq", "vc", "vs", "pl", "mi", "ge", "lt", "gt", "le"}; - -static char* g_cpcc[64] = -{/* 000 001 010 011 100 101 110 111 */ - "f", "eq", "ogt", "oge", "olt", "ole", "ogl", "or", /* 000 */ - "un", "ueq", "ugt", "uge", "ult", "ule", "ne", "t", /* 001 */ - "sf", "seq", "gt", "ge", "lt", "le", "gl" "gle", /* 010 */ - "ngle", "ngl", "nle", "nlt", "nge", "ngt", "sne", "st", /* 011 */ - "?", "?", "?", "?", "?", "?", "?", "?", /* 100 */ - "?", "?", "?", "?", "?", "?", "?", "?", /* 101 */ - "?", "?", "?", "?", "?", "?", "?", "?", /* 110 */ - "?", "?", "?", "?", "?", "?", "?", "?" /* 111 */ -}; - - -/* ======================================================================== */ -/* =========================== UTILITY FUNCTIONS ========================== */ -/* ======================================================================== */ - -#define LIMIT_CPU_TYPES(ALLOWED_CPU_TYPES) \ - if(!(g_cpu_type & ALLOWED_CPU_TYPES)) \ - { \ - d68000_illegal(); \ - return; \ - } - -#define read_imm_8() (m68k_read_disassembler_16(((g_cpu_pc+=2)-2)&g_address_mask)&0xff) -#define read_imm_16() m68k_read_disassembler_16(((g_cpu_pc+=2)-2)&g_address_mask) -#define read_imm_32() m68k_read_disassembler_32(((g_cpu_pc+=4)-4)&g_address_mask) - -#define peek_imm_8() (m68k_read_disassembler_16(g_cpu_pc & g_address_mask)&0xff) -#define peek_imm_16() m68k_read_disassembler_16(g_cpu_pc & g_address_mask) -#define peek_imm_32() m68k_read_disassembler_32(g_cpu_pc & g_address_mask) - -/* Fake a split interface */ -#define get_ea_mode_str_8(instruction) get_ea_mode_str(instruction, 0) -#define get_ea_mode_str_16(instruction) get_ea_mode_str(instruction, 1) -#define get_ea_mode_str_32(instruction) get_ea_mode_str(instruction, 2) - -#define get_imm_str_s8() get_imm_str_s(0) -#define get_imm_str_s16() get_imm_str_s(1) -#define get_imm_str_s32() get_imm_str_s(2) - -#define get_imm_str_u8() get_imm_str_u(0) -#define get_imm_str_u16() get_imm_str_u(1) -#define get_imm_str_u32() get_imm_str_u(2) - - -/* 100% portable signed int generators */ -static int make_int_8(int value) -{ - return (value & 0x80) ? value | ~0xff : value & 0xff; -} - -static int make_int_16(int value) -{ - return (value & 0x8000) ? value | ~0xffff : value & 0xffff; -} - - -/* Get string representation of hex values */ -static char* make_signed_hex_str_8(uint val) -{ - static char str[20]; - - val &= 0xff; - - if(val == 0x80) - sprintf(str, "-$80"); - else if(val & 0x80) - sprintf(str, "-$%X", (0-val) & 0x7f); - else - sprintf(str, "$%X", val & 0x7f); - - return str; -} - -static char* make_signed_hex_str_16(uint val) -{ - static char str[20]; - - val &= 0xffff; - - if(val == 0x8000) - sprintf(str, "-$8000"); - else if(val & 0x8000) - sprintf(str, "-$%X", (0-val) & 0x7fff); - else - sprintf(str, "$%X", val & 0x7fff); - - return str; -} - -static char* make_signed_hex_str_32(uint val) -{ - static char str[20]; - - val &= 0xffffffff; - - if(val == 0x80000000) - sprintf(str, "-$80000000"); - else if(val & 0x80000000) - sprintf(str, "-$%X", (0-val) & 0x7fffffff); - else - sprintf(str, "$%X", val & 0x7fffffff); - - return str; -} - - -/* make string of immediate value */ -static char* get_imm_str_s(uint size) -{ - static char str[15]; - if(size == 0) - sprintf(str, "#%s", make_signed_hex_str_8(read_imm_8())); - else if(size == 1) - sprintf(str, "#%s", make_signed_hex_str_16(read_imm_16())); - else - sprintf(str, "#%s", make_signed_hex_str_32(read_imm_32())); - return str; -} - -static char* get_imm_str_u(uint size) -{ - static char str[15]; - if(size == 0) - sprintf(str, "#$%X", read_imm_8() & 0xff); - else if(size == 1) - sprintf(str, "#$%X", read_imm_16() & 0xffff); - else - sprintf(str, "#$%X", read_imm_32() & 0xffffffff); - return str; -} - -/* Make string of effective address mode */ -static char* get_ea_mode_str(uint instruction, uint size) -{ - static char b1[64]; - static char b2[64]; - static char* mode = b2; - uint extension; - uint base; - uint outer; - char base_reg[4]; - char index_reg[8]; - uint preindex; - uint postindex; - uint comma = 0; - uint temp_value; - - /* Switch buffers so we don't clobber on a double-call to this function */ - mode = mode == b1 ? b2 : b1; - - switch(instruction & 0x3f) - { - case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: - /* data register direct */ - sprintf(mode, "D%d", instruction&7); - break; - case 0x08: case 0x09: case 0x0a: case 0x0b: case 0x0c: case 0x0d: case 0x0e: case 0x0f: - /* address register direct */ - sprintf(mode, "A%d", instruction&7); - break; - case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: - /* address register indirect */ - sprintf(mode, "(A%d)", instruction&7); - break; - case 0x18: case 0x19: case 0x1a: case 0x1b: case 0x1c: case 0x1d: case 0x1e: case 0x1f: - /* address register indirect with postincrement */ - sprintf(mode, "(A%d)+", instruction&7); - break; - case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: - /* address register indirect with predecrement */ - sprintf(mode, "-(A%d)", instruction&7); - break; - case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d: case 0x2e: case 0x2f: - /* address register indirect with displacement*/ - sprintf(mode, "(%s,A%d)", make_signed_hex_str_16(read_imm_16()), instruction&7); - break; - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: - /* address register indirect with index */ - extension = read_imm_16(); - - if(EXT_FULL(extension)) - { - if(EXT_EFFECTIVE_ZERO(extension)) - { - strcpy(mode, "0"); - break; - } - base = EXT_BASE_DISPLACEMENT_PRESENT(extension) ? (EXT_BASE_DISPLACEMENT_LONG(extension) ? read_imm_32() : read_imm_16()) : 0; - outer = EXT_OUTER_DISPLACEMENT_PRESENT(extension) ? (EXT_OUTER_DISPLACEMENT_LONG(extension) ? read_imm_32() : read_imm_16()) : 0; - if(EXT_BASE_REGISTER_PRESENT(extension)) - sprintf(base_reg, "A%d", instruction&7); - else - *base_reg = 0; - if(EXT_INDEX_REGISTER_PRESENT(extension)) - { - sprintf(index_reg, "%c%d.%c", EXT_INDEX_AR(extension) ? 'A' : 'D', EXT_INDEX_REGISTER(extension), EXT_INDEX_LONG(extension) ? 'l' : 'w'); - if(EXT_INDEX_SCALE(extension)) - sprintf(index_reg+strlen(index_reg), "*%d", 1 << EXT_INDEX_SCALE(extension)); - } - else - *index_reg = 0; - preindex = (extension&7) > 0 && (extension&7) < 4; - postindex = (extension&7) > 4; - - strcpy(mode, "("); - if(preindex || postindex) - strcat(mode, "["); - if(base) - { - strcat(mode, make_signed_hex_str_16(base)); - comma = 1; - } - if(*base_reg) - { - if(comma) - strcat(mode, ","); - strcat(mode, base_reg); - comma = 1; - } - if(postindex) - { - strcat(mode, "]"); - comma = 1; - } - if(*index_reg) - { - if(comma) - strcat(mode, ","); - strcat(mode, index_reg); - comma = 1; - } - if(preindex) - { - strcat(mode, "]"); - comma = 1; - } - if(outer) - { - if(comma) - strcat(mode, ","); - strcat(mode, make_signed_hex_str_16(outer)); - } - strcat(mode, ")"); - break; - } - - if(EXT_8BIT_DISPLACEMENT(extension) == 0) - sprintf(mode, "(A%d,%c%d.%c", instruction&7, EXT_INDEX_AR(extension) ? 'A' : 'D', EXT_INDEX_REGISTER(extension), EXT_INDEX_LONG(extension) ? 'l' : 'w'); - else - sprintf(mode, "(%s,A%d,%c%d.%c", make_signed_hex_str_8(extension), instruction&7, EXT_INDEX_AR(extension) ? 'A' : 'D', EXT_INDEX_REGISTER(extension), EXT_INDEX_LONG(extension) ? 'l' : 'w'); - if(EXT_INDEX_SCALE(extension)) - sprintf(mode+strlen(mode), "*%d", 1 << EXT_INDEX_SCALE(extension)); - strcat(mode, ")"); - break; - case 0x38: - /* absolute short address */ - sprintf(mode, "$%X.w", read_imm_16()); - break; - case 0x39: - /* absolute long address */ - sprintf(mode, "$%X.l", read_imm_32()); - break; - case 0x3a: - /* program counter with displacement */ - temp_value = read_imm_16(); - sprintf(mode, "(%s,PC)", make_signed_hex_str_16(temp_value)); - sprintf(g_helper_str, "; ($%X)", (make_int_16(temp_value) + g_cpu_pc-2) & 0xffffffff); - break; - case 0x3b: - /* program counter with index */ - extension = read_imm_16(); - - if(EXT_FULL(extension)) - { - if(EXT_EFFECTIVE_ZERO(extension)) - { - strcpy(mode, "0"); - break; - } - base = EXT_BASE_DISPLACEMENT_PRESENT(extension) ? (EXT_BASE_DISPLACEMENT_LONG(extension) ? read_imm_32() : read_imm_16()) : 0; - outer = EXT_OUTER_DISPLACEMENT_PRESENT(extension) ? (EXT_OUTER_DISPLACEMENT_LONG(extension) ? read_imm_32() : read_imm_16()) : 0; - if(EXT_BASE_REGISTER_PRESENT(extension)) - strcpy(base_reg, "PC"); - else - *base_reg = 0; - if(EXT_INDEX_REGISTER_PRESENT(extension)) - { - sprintf(index_reg, "%c%d.%c", EXT_INDEX_AR(extension) ? 'A' : 'D', EXT_INDEX_REGISTER(extension), EXT_INDEX_LONG(extension) ? 'l' : 'w'); - if(EXT_INDEX_SCALE(extension)) - sprintf(index_reg+strlen(index_reg), "*%d", 1 << EXT_INDEX_SCALE(extension)); - } - else - *index_reg = 0; - preindex = (extension&7) > 0 && (extension&7) < 4; - postindex = (extension&7) > 4; - - strcpy(mode, "("); - if(preindex || postindex) - strcat(mode, "["); - if(base) - { - strcat(mode, make_signed_hex_str_16(base)); - comma = 1; - } - if(*base_reg) - { - if(comma) - strcat(mode, ","); - strcat(mode, base_reg); - comma = 1; - } - if(postindex) - { - strcat(mode, "]"); - comma = 1; - } - if(*index_reg) - { - if(comma) - strcat(mode, ","); - strcat(mode, index_reg); - comma = 1; - } - if(preindex) - { - strcat(mode, "]"); - comma = 1; - } - if(outer) - { - if(comma) - strcat(mode, ","); - strcat(mode, make_signed_hex_str_16(outer)); - } - strcat(mode, ")"); - break; - } - - if(EXT_8BIT_DISPLACEMENT(extension) == 0) - sprintf(mode, "(PC,%c%d.%c", EXT_INDEX_AR(extension) ? 'A' : 'D', EXT_INDEX_REGISTER(extension), EXT_INDEX_LONG(extension) ? 'l' : 'w'); - else - sprintf(mode, "(%s,PC,%c%d.%c", make_signed_hex_str_8(extension), EXT_INDEX_AR(extension) ? 'A' : 'D', EXT_INDEX_REGISTER(extension), EXT_INDEX_LONG(extension) ? 'l' : 'w'); - if(EXT_INDEX_SCALE(extension)) - sprintf(mode+strlen(mode), "*%d", 1 << EXT_INDEX_SCALE(extension)); - strcat(mode, ")"); - break; - case 0x3c: - /* Immediate */ - sprintf(mode, "%s", get_imm_str_u(size)); - break; - default: - sprintf(mode, "INVALID %X", instruction & 0x3f); - } - return mode; -} - - - -/* ======================================================================== */ -/* ========================= INSTRUCTION HANDLERS ========================= */ -/* ======================================================================== */ -/* Instruction handler function names follow this convention: - * - * d68000_NAME_EXTENSIONS(void) - * where NAME is the name of the opcode it handles and EXTENSIONS are any - * extensions for special instances of that opcode. - * - * Examples: - * d68000_add_er_8(): add opcode, from effective address to register, - * size = byte - * - * d68000_asr_s_8(): arithmetic shift right, static count, size = byte - * - * - * Common extensions: - * 8 : size = byte - * 16 : size = word - * 32 : size = long - * rr : register to register - * mm : memory to memory - * r : register - * s : static - * er : effective address -> register - * re : register -> effective address - * ea : using effective address mode of operation - * d : data register direct - * a : address register direct - * ai : address register indirect - * pi : address register indirect with postincrement - * pd : address register indirect with predecrement - * di : address register indirect with displacement - * ix : address register indirect with index - * aw : absolute word - * al : absolute long - */ - -static void d68000_illegal(void) -{ - sprintf(g_dasm_str, "dc.w $%04x; ILLEGAL", g_cpu_ir); -} - -static void d68000_1010(void) -{ - sprintf(g_dasm_str, "dc.w $%04x; opcode 1010", g_cpu_ir); -} - - -static void d68000_1111(void) -{ - sprintf(g_dasm_str, "dc.w $%04x; opcode 1111", g_cpu_ir); -} - - -static void d68000_abcd_rr(void) -{ - sprintf(g_dasm_str, "abcd D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - - -static void d68000_abcd_mm(void) -{ - sprintf(g_dasm_str, "abcd -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_add_er_8(void) -{ - sprintf(g_dasm_str, "add.b %s, D%d", get_ea_mode_str_8(g_cpu_ir), (g_cpu_ir>>9)&7); -} - - -static void d68000_add_er_16(void) -{ - sprintf(g_dasm_str, "add.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_add_er_32(void) -{ - sprintf(g_dasm_str, "add.l %s, D%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_add_re_8(void) -{ - sprintf(g_dasm_str, "add.b D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_add_re_16(void) -{ - sprintf(g_dasm_str, "add.w D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_add_re_32(void) -{ - sprintf(g_dasm_str, "add.l D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_adda_16(void) -{ - sprintf(g_dasm_str, "adda.w %s, A%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_adda_32(void) -{ - sprintf(g_dasm_str, "adda.l %s, A%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_addi_8(void) -{ - char* str = get_imm_str_s8(); - sprintf(g_dasm_str, "addi.b %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_addi_16(void) -{ - char* str = get_imm_str_s16(); - sprintf(g_dasm_str, "addi.w %s, %s", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_addi_32(void) -{ - char* str = get_imm_str_s32(); - sprintf(g_dasm_str, "addi.l %s, %s", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_addq_8(void) -{ - sprintf(g_dasm_str, "addq.b #%d, %s", g_3bit_qdata_table[(g_cpu_ir>>9)&7], get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_addq_16(void) -{ - sprintf(g_dasm_str, "addq.w #%d, %s", g_3bit_qdata_table[(g_cpu_ir>>9)&7], get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_addq_32(void) -{ - sprintf(g_dasm_str, "addq.l #%d, %s", g_3bit_qdata_table[(g_cpu_ir>>9)&7], get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_addx_rr_8(void) -{ - sprintf(g_dasm_str, "addx.b D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_addx_rr_16(void) -{ - sprintf(g_dasm_str, "addx.w D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_addx_rr_32(void) -{ - sprintf(g_dasm_str, "addx.l D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_addx_mm_8(void) -{ - sprintf(g_dasm_str, "addx.b -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_addx_mm_16(void) -{ - sprintf(g_dasm_str, "addx.w -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_addx_mm_32(void) -{ - sprintf(g_dasm_str, "addx.l -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_and_er_8(void) -{ - sprintf(g_dasm_str, "and.b %s, D%d", get_ea_mode_str_8(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_and_er_16(void) -{ - sprintf(g_dasm_str, "and.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_and_er_32(void) -{ - sprintf(g_dasm_str, "and.l %s, D%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_and_re_8(void) -{ - sprintf(g_dasm_str, "and.b D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_and_re_16(void) -{ - sprintf(g_dasm_str, "and.w D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_and_re_32(void) -{ - sprintf(g_dasm_str, "and.l D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_andi_8(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "andi.b %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_andi_16(void) -{ - char* str = get_imm_str_u16(); - sprintf(g_dasm_str, "andi.w %s, %s", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_andi_32(void) -{ - char* str = get_imm_str_u32(); - sprintf(g_dasm_str, "andi.l %s, %s", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_andi_to_ccr(void) -{ - sprintf(g_dasm_str, "andi %s, CCR", get_imm_str_u8()); -} - -static void d68000_andi_to_sr(void) -{ - sprintf(g_dasm_str, "andi %s, SR", get_imm_str_u16()); -} - -static void d68000_asr_s_8(void) -{ - sprintf(g_dasm_str, "asr.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_asr_s_16(void) -{ - sprintf(g_dasm_str, "asr.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_asr_s_32(void) -{ - sprintf(g_dasm_str, "asr.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_asr_r_8(void) -{ - sprintf(g_dasm_str, "asr.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_asr_r_16(void) -{ - sprintf(g_dasm_str, "asr.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_asr_r_32(void) -{ - sprintf(g_dasm_str, "asr.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_asr_ea(void) -{ - sprintf(g_dasm_str, "asr.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_asl_s_8(void) -{ - sprintf(g_dasm_str, "asl.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_asl_s_16(void) -{ - sprintf(g_dasm_str, "asl.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_asl_s_32(void) -{ - sprintf(g_dasm_str, "asl.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_asl_r_8(void) -{ - sprintf(g_dasm_str, "asl.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_asl_r_16(void) -{ - sprintf(g_dasm_str, "asl.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_asl_r_32(void) -{ - sprintf(g_dasm_str, "asl.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_asl_ea(void) -{ - sprintf(g_dasm_str, "asl.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_bcc_8(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "b%-2s %X", g_cc[(g_cpu_ir>>8)&0xf], temp_pc + make_int_8(g_cpu_ir)); -} - -static void d68000_bcc_16(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "b%-2s %X", g_cc[(g_cpu_ir>>8)&0xf], temp_pc + make_int_16(read_imm_16())); -} - -static void d68020_bcc_32(void) -{ - uint temp_pc = g_cpu_pc; - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "b%-2s %X; (2+)", g_cc[(g_cpu_ir>>8)&0xf], temp_pc + read_imm_32()); -} - -static void d68000_bchg_r(void) -{ - sprintf(g_dasm_str, "bchg D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_bchg_s(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "bchg %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_bclr_r(void) -{ - sprintf(g_dasm_str, "bclr D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_bclr_s(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "bclr %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68010_bkpt(void) -{ - LIMIT_CPU_TYPES(M68010_PLUS); - sprintf(g_dasm_str, "bkpt #%d; (1+)", g_cpu_ir&7); -} - -static void d68020_bfchg(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfchg %s {%s:%s}; (2+)", get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bfclr(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfclr %s {%s:%s}; (2+)", get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bfexts(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfexts D%d, %s {%s:%s}; (2+)", (extension>>12)&7, get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bfextu(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfextu D%d, %s {%s:%s}; (2+)", (extension>>12)&7, get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bfffo(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfffo D%d, %s {%s:%s}; (2+)", (extension>>12)&7, get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bfins(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfins D%d, %s {%s:%s}; (2+)", (extension>>12)&7, get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bfset(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bfset %s {%s:%s}; (2+)", get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68020_bftst(void) -{ - uint extension; - char offset[3]; - char width[3]; - - LIMIT_CPU_TYPES(M68020_PLUS); - - extension = read_imm_16(); - - if(BIT_B(extension)) - sprintf(offset, "D%d", (extension>>6)&7); - else - sprintf(offset, "%d", (extension>>6)&31); - if(BIT_5(extension)) - sprintf(width, "D%d", extension&7); - else - sprintf(width, "%d", g_5bit_data_table[extension&31]); - sprintf(g_dasm_str, "bftst %s {%s:%s}; (2+)", get_ea_mode_str_8(g_cpu_ir), offset, width); -} - -static void d68000_bra_8(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "bra %X", temp_pc + make_int_8(g_cpu_ir)); -} - -static void d68000_bra_16(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "bra %X", temp_pc + make_int_16(read_imm_16())); -} - -static void d68020_bra_32(void) -{ - uint temp_pc = g_cpu_pc; - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "bra %X; (2+)", temp_pc + read_imm_32()); -} - -static void d68000_bset_r(void) -{ - sprintf(g_dasm_str, "bset D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_bset_s(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "bset %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_bsr_8(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "bsr %X", temp_pc + make_int_8(g_cpu_ir)); -} - -static void d68000_bsr_16(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "bsr %X", temp_pc + make_int_16(read_imm_16())); -} - -static void d68020_bsr_32(void) -{ - uint temp_pc = g_cpu_pc; - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "bsr %X; (2+)", temp_pc + peek_imm_32()); -} - -static void d68000_btst_r(void) -{ - sprintf(g_dasm_str, "btst D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_btst_s(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "btst %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_callm(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_ONLY); - str = get_imm_str_u8(); - - sprintf(g_dasm_str, "callm %s, %s; (2)", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_cas_8(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - sprintf(g_dasm_str, "cas.b D%d, D%d, %s; (2+)", extension&7, (extension>>8)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_cas_16(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - sprintf(g_dasm_str, "cas.w D%d, D%d, %s; (2+)", extension&7, (extension>>8)&7, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_cas_32(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - sprintf(g_dasm_str, "cas.l D%d, D%d, %s; (2+)", extension&7, (extension>>8)&7, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_cas2_16(void) -{ -/* CAS2 Dc1:Dc2,Du1:Dc2:(Rn1):(Rn2) -f e d c b a 9 8 7 6 5 4 3 2 1 0 - DARn1 0 0 0 Du1 0 0 0 Dc1 - DARn2 0 0 0 Du2 0 0 0 Dc2 -*/ - - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_32(); - sprintf(g_dasm_str, "cas2.w D%d:D%d:D%d:D%d, (%c%d):(%c%d); (2+)", - (extension>>16)&7, extension&7, (extension>>22)&7, (extension>>6)&7, - BIT_1F(extension) ? 'A' : 'D', (extension>>28)&7, - BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68020_cas2_32(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_32(); - sprintf(g_dasm_str, "cas2.l D%d:D%d:D%d:D%d, (%c%d):(%c%d); (2+)", - (extension>>16)&7, extension&7, (extension>>22)&7, (extension>>6)&7, - BIT_1F(extension) ? 'A' : 'D', (extension>>28)&7, - BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68000_chk_16(void) -{ - sprintf(g_dasm_str, "chk.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68020_chk_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "chk.l %s, D%d; (2+)", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68020_chk2_cmp2_8(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - sprintf(g_dasm_str, "%s.b %s, %c%d; (2+)", BIT_B(extension) ? "chk2" : "cmp2", get_ea_mode_str_8(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68020_chk2_cmp2_16(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - sprintf(g_dasm_str, "%s.w %s, %c%d; (2+)", BIT_B(extension) ? "chk2" : "cmp2", get_ea_mode_str_16(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68020_chk2_cmp2_32(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - sprintf(g_dasm_str, "%s.l %s, %c%d; (2+)", BIT_B(extension) ? "chk2" : "cmp2", get_ea_mode_str_32(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68040_cinv(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - switch((g_cpu_ir>>3)&3) - { - case 0: - sprintf(g_dasm_str, "cinv (illegal scope); (4)"); - break; - case 1: - sprintf(g_dasm_str, "cinvl %d, (A%d); (4)", (g_cpu_ir>>6)&3, g_cpu_ir&7); - break; - case 2: - sprintf(g_dasm_str, "cinvp %d, (A%d); (4)", (g_cpu_ir>>6)&3, g_cpu_ir&7); - break; - case 3: - sprintf(g_dasm_str, "cinva %d; (4)", (g_cpu_ir>>6)&3); - break; - } -} - -static void d68000_clr_8(void) -{ - sprintf(g_dasm_str, "clr.b %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_clr_16(void) -{ - sprintf(g_dasm_str, "clr.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_clr_32(void) -{ - sprintf(g_dasm_str, "clr.l %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_cmp_8(void) -{ - sprintf(g_dasm_str, "cmp.b %s, D%d", get_ea_mode_str_8(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_cmp_16(void) -{ - sprintf(g_dasm_str, "cmp.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_cmp_32(void) -{ - sprintf(g_dasm_str, "cmp.l %s, D%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_cmpa_16(void) -{ - sprintf(g_dasm_str, "cmpa.w %s, A%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_cmpa_32(void) -{ - sprintf(g_dasm_str, "cmpa.l %s, A%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_cmpi_8(void) -{ - char* str = get_imm_str_s8(); - sprintf(g_dasm_str, "cmpi.b %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_cmpi_pcdi_8(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s8(); - sprintf(g_dasm_str, "cmpi.b %s, %s; (2+)", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_cmpi_pcix_8(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s8(); - sprintf(g_dasm_str, "cmpi.b %s, %s; (2+)", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_cmpi_16(void) -{ - char* str; -//BUG!!! LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s16(); - sprintf(g_dasm_str, "cmpi.w %s, %s", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_cmpi_pcdi_16(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s16(); - sprintf(g_dasm_str, "cmpi.w %s, %s; (2+)", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_cmpi_pcix_16(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s16(); - sprintf(g_dasm_str, "cmpi.w %s, %s; (2+)", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_cmpi_32(void) -{ - char* str; -//BUG!!! Argh! LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s32(); - sprintf(g_dasm_str, "cmpi.l %s, %s", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_cmpi_pcdi_32(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s32(); - sprintf(g_dasm_str, "cmpi.l %s, %s; (2+)", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_cmpi_pcix_32(void) -{ - char* str; - LIMIT_CPU_TYPES(M68020_PLUS); - str = get_imm_str_s32(); - sprintf(g_dasm_str, "cmpi.l %s, %s; (2+)", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_cmpm_8(void) -{ - sprintf(g_dasm_str, "cmpm.b (A%d)+, (A%d)+", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_cmpm_16(void) -{ - sprintf(g_dasm_str, "cmpm.w (A%d)+, (A%d)+", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_cmpm_32(void) -{ - sprintf(g_dasm_str, "cmpm.l (A%d)+, (A%d)+", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68020_cpbcc_16(void) -{ - uint extension; - uint new_pc = g_cpu_pc; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - new_pc += make_int_16(peek_imm_16()); - sprintf(g_dasm_str, "%db%-4s %s; %X (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[g_cpu_ir&0x3f], get_imm_str_s16(), new_pc, extension); -} - -static void d68020_cpbcc_32(void) -{ - uint extension; - uint new_pc = g_cpu_pc; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - new_pc += peek_imm_32(); - sprintf(g_dasm_str, "%db%-4s %s; %X (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[g_cpu_ir&0x3f], get_imm_str_s16(), new_pc, extension); -} - -static void d68020_cpdbcc(void) -{ - uint extension1; - uint extension2; - uint new_pc = g_cpu_pc; - LIMIT_CPU_TYPES(M68020_PLUS); - extension1 = read_imm_16(); - extension2 = read_imm_16(); - new_pc += make_int_16(peek_imm_16()); - sprintf(g_dasm_str, "%ddb%-4s D%d,%s; %X (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[extension1&0x3f], g_cpu_ir&7, get_imm_str_s16(), new_pc, extension2); -} - -static void d68020_cpgen(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "%dgen %s; (2-3)", (g_cpu_ir>>9)&7, get_imm_str_u32()); -} - -static void d68020_cprestore(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "%drestore %s; (2-3)", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_cpsave(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "%dsave %s; (2-3)", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_cpscc(void) -{ - uint extension1; - uint extension2; - LIMIT_CPU_TYPES(M68020_PLUS); - extension1 = read_imm_16(); - extension2 = read_imm_16(); - sprintf(g_dasm_str, "%ds%-4s %s; (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[extension1&0x3f], get_ea_mode_str_8(g_cpu_ir), extension2); -} - -static void d68020_cptrapcc_0(void) -{ - uint extension1; - uint extension2; - LIMIT_CPU_TYPES(M68020_PLUS); - extension1 = read_imm_16(); - extension2 = read_imm_16(); - sprintf(g_dasm_str, "%dtrap%-4s; (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[extension1&0x3f], extension2); -} - -static void d68020_cptrapcc_16(void) -{ - uint extension1; - uint extension2; - LIMIT_CPU_TYPES(M68020_PLUS); - extension1 = read_imm_16(); - extension2 = read_imm_16(); - sprintf(g_dasm_str, "%dtrap%-4s %s; (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[extension1&0x3f], get_imm_str_u16(), extension2); -} - -static void d68020_cptrapcc_32(void) -{ - uint extension1; - uint extension2; - LIMIT_CPU_TYPES(M68020_PLUS); - extension1 = read_imm_16(); - extension2 = read_imm_16(); - sprintf(g_dasm_str, "%dtrap%-4s %s; (extension = %X) (2-3)", (g_cpu_ir>>9)&7, g_cpcc[extension1&0x3f], get_imm_str_u32(), extension2); -} - -static void d68040_cpush(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - switch((g_cpu_ir>>3)&3) - { - case 0: - sprintf(g_dasm_str, "cpush (illegal scope); (4)"); - break; - case 1: - sprintf(g_dasm_str, "cpushl %d, (A%d); (4)", (g_cpu_ir>>6)&3, g_cpu_ir&7); - break; - case 2: - sprintf(g_dasm_str, "cpushp %d, (A%d); (4)", (g_cpu_ir>>6)&3, g_cpu_ir&7); - break; - case 3: - sprintf(g_dasm_str, "cpusha %d; (4)", (g_cpu_ir>>6)&3); - break; - } -} - -static void d68000_dbra(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "dbra D%d, %X", g_cpu_ir & 7, temp_pc + make_int_16(read_imm_16())); -} - -static void d68000_dbcc(void) -{ - uint temp_pc = g_cpu_pc; - sprintf(g_dasm_str, "db%-2s D%d, %X", g_cc[(g_cpu_ir>>8)&0xf], g_cpu_ir & 7, temp_pc + make_int_16(read_imm_16())); -} - -static void d68000_divs(void) -{ - sprintf(g_dasm_str, "divs.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_divu(void) -{ - sprintf(g_dasm_str, "divu.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68020_divl(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - - if(BIT_A(extension)) - sprintf(g_dasm_str, "div%c.l %s, D%d:D%d; (2+)", BIT_B(extension) ? 's' : 'u', get_ea_mode_str_32(g_cpu_ir), extension&7, (extension>>12)&7); - else if((extension&7) == ((extension>>12)&7)) - sprintf(g_dasm_str, "div%c.l %s, D%d; (2+)", BIT_B(extension) ? 's' : 'u', get_ea_mode_str_32(g_cpu_ir), (extension>>12)&7); - else - sprintf(g_dasm_str, "div%cl.l %s, D%d:D%d; (2+)", BIT_B(extension) ? 's' : 'u', get_ea_mode_str_32(g_cpu_ir), extension&7, (extension>>12)&7); -} - -static void d68000_eor_8(void) -{ - sprintf(g_dasm_str, "eor.b D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_eor_16(void) -{ - sprintf(g_dasm_str, "eor.w D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_eor_32(void) -{ - sprintf(g_dasm_str, "eor.l D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_eori_8(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "eori.b %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_eori_16(void) -{ - char* str = get_imm_str_u16(); - sprintf(g_dasm_str, "eori.w %s, %s", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_eori_32(void) -{ - char* str = get_imm_str_u32(); - sprintf(g_dasm_str, "eori.l %s, %s", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_eori_to_ccr(void) -{ - sprintf(g_dasm_str, "eori %s, CCR", get_imm_str_u8()); -} - -static void d68000_eori_to_sr(void) -{ - sprintf(g_dasm_str, "eori %s, SR", get_imm_str_u16()); -} - -static void d68000_exg_dd(void) -{ - sprintf(g_dasm_str, "exg D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_exg_aa(void) -{ - sprintf(g_dasm_str, "exg A%d, A%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_exg_da(void) -{ - sprintf(g_dasm_str, "exg D%d, A%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_ext_16(void) -{ - sprintf(g_dasm_str, "ext.w D%d", g_cpu_ir&7); -} - -static void d68000_ext_32(void) -{ - sprintf(g_dasm_str, "ext.l D%d", g_cpu_ir&7); -} - -static void d68020_extb_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "extb.l D%d; (2+)", g_cpu_ir&7); -} - -static void d68000_jmp(void) -{ - sprintf(g_dasm_str, "jmp %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_jsr(void) -{ - sprintf(g_dasm_str, "jsr %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_lea(void) -{ - sprintf(g_dasm_str, "lea %s, A%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_link_16(void) -{ - sprintf(g_dasm_str, "link A%d, %s", g_cpu_ir&7, get_imm_str_s16()); -} - -static void d68020_link_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "link A%d, %s; (2+)", g_cpu_ir&7, get_imm_str_s32()); -} - -static void d68000_lsr_s_8(void) -{ - sprintf(g_dasm_str, "lsr.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_lsr_s_16(void) -{ - sprintf(g_dasm_str, "lsr.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_lsr_s_32(void) -{ - sprintf(g_dasm_str, "lsr.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_lsr_r_8(void) -{ - sprintf(g_dasm_str, "lsr.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_lsr_r_16(void) -{ - sprintf(g_dasm_str, "lsr.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_lsr_r_32(void) -{ - sprintf(g_dasm_str, "lsr.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_lsr_ea(void) -{ - sprintf(g_dasm_str, "lsr.w %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_lsl_s_8(void) -{ - sprintf(g_dasm_str, "lsl.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_lsl_s_16(void) -{ - sprintf(g_dasm_str, "lsl.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_lsl_s_32(void) -{ - sprintf(g_dasm_str, "lsl.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_lsl_r_8(void) -{ - sprintf(g_dasm_str, "lsl.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_lsl_r_16(void) -{ - sprintf(g_dasm_str, "lsl.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_lsl_r_32(void) -{ - sprintf(g_dasm_str, "lsl.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_lsl_ea(void) -{ - sprintf(g_dasm_str, "lsl.w %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_move_8(void) -{ - char* str = get_ea_mode_str_8(g_cpu_ir); - sprintf(g_dasm_str, "move.b %s, %s", str, get_ea_mode_str_8(((g_cpu_ir>>9) & 7) | ((g_cpu_ir>>3) & 0x38))); -} - -static void d68000_move_16(void) -{ - char* str = get_ea_mode_str_16(g_cpu_ir); - sprintf(g_dasm_str, "move.w %s, %s", str, get_ea_mode_str_16(((g_cpu_ir>>9) & 7) | ((g_cpu_ir>>3) & 0x38))); -} - -static void d68000_move_32(void) -{ - char* str = get_ea_mode_str_32(g_cpu_ir); - sprintf(g_dasm_str, "move.l %s, %s", str, get_ea_mode_str_32(((g_cpu_ir>>9) & 7) | ((g_cpu_ir>>3) & 0x38))); -} - -static void d68000_movea_16(void) -{ - sprintf(g_dasm_str, "movea.w %s, A%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_movea_32(void) -{ - sprintf(g_dasm_str, "movea.l %s, A%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_move_to_ccr(void) -{ - sprintf(g_dasm_str, "move %s, CCR", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68010_move_fr_ccr(void) -{ - LIMIT_CPU_TYPES(M68010_PLUS); - sprintf(g_dasm_str, "move CCR, %s; (1+)", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_move_fr_sr(void) -{ - sprintf(g_dasm_str, "move SR, %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_move_to_sr(void) -{ - sprintf(g_dasm_str, "move %s, SR", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_move_fr_usp(void) -{ - sprintf(g_dasm_str, "move USP, A%d", g_cpu_ir&7); -} - -static void d68000_move_to_usp(void) -{ - sprintf(g_dasm_str, "move A%d, USP", g_cpu_ir&7); -} - -static void d68010_movec(void) -{ - uint extension; - char* reg_name; - char* processor; - LIMIT_CPU_TYPES(M68010_PLUS); - extension = read_imm_16(); - - switch(extension & 0xfff) - { - case 0x000: - reg_name = "SFC"; - processor = "1+"; - break; - case 0x001: - reg_name = "DFC"; - processor = "1+"; - break; - case 0x800: - reg_name = "USP"; - processor = "1+"; - break; - case 0x801: - reg_name = "VBR"; - processor = "1+"; - break; - case 0x002: - reg_name = "CACR"; - processor = "2+"; - break; - case 0x802: - reg_name = "CAAR"; - processor = "2,3"; - break; - case 0x803: - reg_name = "MSP"; - processor = "2+"; - break; - case 0x804: - reg_name = "ISP"; - processor = "2+"; - break; - case 0x003: - reg_name = "TC"; - processor = "4+"; - break; - case 0x004: - reg_name = "ITT0"; - processor = "4+"; - break; - case 0x005: - reg_name = "ITT1"; - processor = "4+"; - break; - case 0x006: - reg_name = "DTT0"; - processor = "4+"; - break; - case 0x007: - reg_name = "DTT1"; - processor = "4+"; - break; - case 0x805: - reg_name = "MMUSR"; - processor = "4+"; - break; - case 0x806: - reg_name = "URP"; - processor = "4+"; - break; - case 0x807: - reg_name = "SRP"; - processor = "4+"; - break; - default: - reg_name = make_signed_hex_str_16(extension & 0xfff); - processor = "?"; - } - - if(BIT_1(g_cpu_ir)) - sprintf(g_dasm_str, "movec %c%d, %s; (%s)", BIT_F(extension) ? 'A' : 'D', (extension>>12)&7, reg_name, processor); - else - sprintf(g_dasm_str, "movec %s, %c%d; (%s)", reg_name, BIT_F(extension) ? 'A' : 'D', (extension>>12)&7, processor); -} - -static void d68000_movem_pd_16(void) -{ - uint data = read_imm_16(); - char buffer[40]; - uint first; - uint run_length; - uint i; - - buffer[0] = 0; - for(i=0;i<8;i++) - { - if(data&(1<<(15-i))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(15-i))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "D%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-D%d", first + run_length); - } - } - for(i=0;i<8;i++) - { - if(data&(1<<(7-i))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(7-i))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "A%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-A%d", first + run_length); - } - } - sprintf(g_dasm_str, "movem.w %s, %s", buffer, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_movem_pd_32(void) -{ - uint data = read_imm_16(); - char buffer[40]; - uint first; - uint run_length; - uint i; - - buffer[0] = 0; - for(i=0;i<8;i++) - { - if(data&(1<<(15-i))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(15-i))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "D%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-D%d", first + run_length); - } - } - for(i=0;i<8;i++) - { - if(data&(1<<(7-i))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(7-i))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "A%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-A%d", first + run_length); - } - } - sprintf(g_dasm_str, "movem.l %s, %s", buffer, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_movem_er_16(void) -{ - uint data = read_imm_16(); - char buffer[40]; - uint first; - uint run_length; - uint i; - - buffer[0] = 0; - for(i=0;i<8;i++) - { - if(data&(1< 0) - sprintf(buffer+strlen(buffer), "-D%d", first + run_length); - } - } - for(i=0;i<8;i++) - { - if(data&(1<<(i+8))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(i+8))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "A%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-A%d", first + run_length); - } - } - sprintf(g_dasm_str, "movem.w %s, %s", get_ea_mode_str_16(g_cpu_ir), buffer); -} - -static void d68000_movem_er_32(void) -{ - uint data = read_imm_16(); - char buffer[40]; - uint first; - uint run_length; - uint i; - - buffer[0] = 0; - for(i=0;i<8;i++) - { - if(data&(1< 0) - sprintf(buffer+strlen(buffer), "-D%d", first + run_length); - } - } - for(i=0;i<8;i++) - { - if(data&(1<<(i+8))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(i+8))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "A%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-A%d", first + run_length); - } - } - sprintf(g_dasm_str, "movem.l %s, %s", get_ea_mode_str_32(g_cpu_ir), buffer); -} - -static void d68000_movem_re_16(void) -{ - uint data = read_imm_16(); - char buffer[40]; - uint first; - uint run_length; - uint i; - - buffer[0] = 0; - for(i=0;i<8;i++) - { - if(data&(1< 0) - sprintf(buffer+strlen(buffer), "-D%d", first + run_length); - } - } - for(i=0;i<8;i++) - { - if(data&(1<<(i+8))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(i+8))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "A%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-A%d", first + run_length); - } - } - sprintf(g_dasm_str, "movem.w %s, %s", buffer, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_movem_re_32(void) -{ - uint data = read_imm_16(); - char buffer[40]; - uint first; - uint run_length; - uint i; - - buffer[0] = 0; - for(i=0;i<8;i++) - { - if(data&(1< 0) - sprintf(buffer+strlen(buffer), "-D%d", first + run_length); - } - } - for(i=0;i<8;i++) - { - if(data&(1<<(i+8))) - { - first = i; - run_length = 0; - for(i++;i<8;i++) - if(data&(1<<(i+8))) - run_length++; - if(buffer[0] != 0) - strcat(buffer, "/"); - sprintf(buffer+strlen(buffer), "A%d", first); - if(run_length > 0) - sprintf(buffer+strlen(buffer), "-A%d", first + run_length); - } - } - sprintf(g_dasm_str, "movem.l %s, %s", buffer, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_movep_re_16(void) -{ - sprintf(g_dasm_str, "movep.w D%d, ($%X,A%d)", (g_cpu_ir>>9)&7, read_imm_16(), g_cpu_ir&7); -} - -static void d68000_movep_re_32(void) -{ - sprintf(g_dasm_str, "movep.l D%d, ($%X,A%d)", (g_cpu_ir>>9)&7, read_imm_16(), g_cpu_ir&7); -} - -static void d68000_movep_er_16(void) -{ - sprintf(g_dasm_str, "movep.w ($%X,A%d), D%d", read_imm_16(), g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_movep_er_32(void) -{ - sprintf(g_dasm_str, "movep.l ($%X,A%d), D%d", read_imm_16(), g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68010_moves_8(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68010_PLUS); - extension = read_imm_16(); - if(BIT_B(extension)) - sprintf(g_dasm_str, "moves.b %c%d, %s; (1+)", BIT_F(extension) ? 'A' : 'D', (extension>>12)&7, get_ea_mode_str_8(g_cpu_ir)); - else - sprintf(g_dasm_str, "moves.b %s, %c%d; (1+)", get_ea_mode_str_8(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68010_moves_16(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68010_PLUS); - extension = read_imm_16(); - if(BIT_B(extension)) - sprintf(g_dasm_str, "moves.w %c%d, %s; (1+)", BIT_F(extension) ? 'A' : 'D', (extension>>12)&7, get_ea_mode_str_16(g_cpu_ir)); - else - sprintf(g_dasm_str, "moves.w %s, %c%d; (1+)", get_ea_mode_str_16(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68010_moves_32(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68010_PLUS); - extension = read_imm_16(); - if(BIT_B(extension)) - sprintf(g_dasm_str, "moves.l %c%d, %s; (1+)", BIT_F(extension) ? 'A' : 'D', (extension>>12)&7, get_ea_mode_str_32(g_cpu_ir)); - else - sprintf(g_dasm_str, "moves.l %s, %c%d; (1+)", get_ea_mode_str_32(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7); -} - -static void d68000_moveq(void) -{ - sprintf(g_dasm_str, "moveq #%s, D%d", make_signed_hex_str_8(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68040_move16_pi_pi(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - sprintf(g_dasm_str, "move16 (A%d)+, (A%d)+; (4)", g_cpu_ir&7, (read_imm_16()>>12)&7); -} - -static void d68040_move16_pi_al(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - sprintf(g_dasm_str, "move16 (A%d)+, %s; (4)", g_cpu_ir&7, get_imm_str_u32()); -} - -static void d68040_move16_al_pi(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - sprintf(g_dasm_str, "move16 %s, (A%d)+; (4)", get_imm_str_u32(), g_cpu_ir&7); -} - -static void d68040_move16_ai_al(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - sprintf(g_dasm_str, "move16 (A%d), %s; (4)", g_cpu_ir&7, get_imm_str_u32()); -} - -static void d68040_move16_al_ai(void) -{ - LIMIT_CPU_TYPES(M68040_PLUS); - sprintf(g_dasm_str, "move16 %s, (A%d); (4)", get_imm_str_u32(), g_cpu_ir&7); -} - -static void d68000_muls(void) -{ - sprintf(g_dasm_str, "muls.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_mulu(void) -{ - sprintf(g_dasm_str, "mulu.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68020_mull(void) -{ - uint extension; - LIMIT_CPU_TYPES(M68020_PLUS); - extension = read_imm_16(); - - if(BIT_A(extension)) - sprintf(g_dasm_str, "mul%c.l %s, D%d-D%d; (2+)", BIT_B(extension) ? 's' : 'u', get_ea_mode_str_32(g_cpu_ir), extension&7, (extension>>12)&7); - else - sprintf(g_dasm_str, "mul%c.l %s, D%d; (2+)", BIT_B(extension) ? 's' : 'u', get_ea_mode_str_32(g_cpu_ir), (extension>>12)&7); -} - -static void d68000_nbcd(void) -{ - sprintf(g_dasm_str, "nbcd %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_neg_8(void) -{ - sprintf(g_dasm_str, "neg.b %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_neg_16(void) -{ - sprintf(g_dasm_str, "neg.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_neg_32(void) -{ - sprintf(g_dasm_str, "neg.l %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_negx_8(void) -{ - sprintf(g_dasm_str, "negx.b %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_negx_16(void) -{ - sprintf(g_dasm_str, "negx.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_negx_32(void) -{ - sprintf(g_dasm_str, "negx.l %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_nop(void) -{ - sprintf(g_dasm_str, "nop"); -} - -static void d68000_not_8(void) -{ - sprintf(g_dasm_str, "not.b %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_not_16(void) -{ - sprintf(g_dasm_str, "not.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_not_32(void) -{ - sprintf(g_dasm_str, "not.l %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_or_er_8(void) -{ - sprintf(g_dasm_str, "or.b %s, D%d", get_ea_mode_str_8(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_or_er_16(void) -{ - sprintf(g_dasm_str, "or.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_or_er_32(void) -{ - sprintf(g_dasm_str, "or.l %s, D%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_or_re_8(void) -{ - sprintf(g_dasm_str, "or.b D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_or_re_16(void) -{ - sprintf(g_dasm_str, "or.w D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_or_re_32(void) -{ - sprintf(g_dasm_str, "or.l D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_ori_8(void) -{ - char* str = get_imm_str_u8(); - sprintf(g_dasm_str, "ori.b %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_ori_16(void) -{ - char* str = get_imm_str_u16(); - sprintf(g_dasm_str, "ori.w %s, %s", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_ori_32(void) -{ - char* str = get_imm_str_u32(); - sprintf(g_dasm_str, "ori.l %s, %s", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_ori_to_ccr(void) -{ - sprintf(g_dasm_str, "ori %s, CCR", get_imm_str_u8()); -} - -static void d68000_ori_to_sr(void) -{ - sprintf(g_dasm_str, "ori %s, SR", get_imm_str_u16()); -} - -static void d68020_pack_rr(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "pack D%d, D%d, %s; (2+)", g_cpu_ir&7, (g_cpu_ir>>9)&7, get_imm_str_u16()); -} - -static void d68020_pack_mm(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "pack -(A%d), -(A%d), %s; (2+)", g_cpu_ir&7, (g_cpu_ir>>9)&7, get_imm_str_u16()); -} - -static void d68000_pea(void) -{ - sprintf(g_dasm_str, "pea %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_reset(void) -{ - sprintf(g_dasm_str, "reset"); -} - -static void d68000_ror_s_8(void) -{ - sprintf(g_dasm_str, "ror.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_ror_s_16(void) -{ - sprintf(g_dasm_str, "ror.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7],g_cpu_ir&7); -} - -static void d68000_ror_s_32(void) -{ - sprintf(g_dasm_str, "ror.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_ror_r_8(void) -{ - sprintf(g_dasm_str, "ror.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_ror_r_16(void) -{ - sprintf(g_dasm_str, "ror.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_ror_r_32(void) -{ - sprintf(g_dasm_str, "ror.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_ror_ea(void) -{ - sprintf(g_dasm_str, "ror.w %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_rol_s_8(void) -{ - sprintf(g_dasm_str, "rol.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_rol_s_16(void) -{ - sprintf(g_dasm_str, "rol.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_rol_s_32(void) -{ - sprintf(g_dasm_str, "rol.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_rol_r_8(void) -{ - sprintf(g_dasm_str, "rol.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_rol_r_16(void) -{ - sprintf(g_dasm_str, "rol.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_rol_r_32(void) -{ - sprintf(g_dasm_str, "rol.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_rol_ea(void) -{ - sprintf(g_dasm_str, "rol.w %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_roxr_s_8(void) -{ - sprintf(g_dasm_str, "roxr.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_roxr_s_16(void) -{ - sprintf(g_dasm_str, "roxr.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - - -static void d68000_roxr_s_32(void) -{ - sprintf(g_dasm_str, "roxr.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_roxr_r_8(void) -{ - sprintf(g_dasm_str, "roxr.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_roxr_r_16(void) -{ - sprintf(g_dasm_str, "roxr.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_roxr_r_32(void) -{ - sprintf(g_dasm_str, "roxr.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_roxr_ea(void) -{ - sprintf(g_dasm_str, "roxr.w %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_roxl_s_8(void) -{ - sprintf(g_dasm_str, "roxl.b #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_roxl_s_16(void) -{ - sprintf(g_dasm_str, "roxl.w #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_roxl_s_32(void) -{ - sprintf(g_dasm_str, "roxl.l #%d, D%d", g_3bit_qdata_table[(g_cpu_ir>>9)&7], g_cpu_ir&7); -} - -static void d68000_roxl_r_8(void) -{ - sprintf(g_dasm_str, "roxl.b D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_roxl_r_16(void) -{ - sprintf(g_dasm_str, "roxl.w D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_roxl_r_32(void) -{ - sprintf(g_dasm_str, "roxl.l D%d, D%d", (g_cpu_ir>>9)&7, g_cpu_ir&7); -} - -static void d68000_roxl_ea(void) -{ - sprintf(g_dasm_str, "roxl.w %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68010_rtd(void) -{ - LIMIT_CPU_TYPES(M68010_PLUS); - sprintf(g_dasm_str, "rtd %s; (1+)", get_imm_str_s16()); -} - -static void d68000_rte(void) -{ - sprintf(g_dasm_str, "rte"); -} - -static void d68020_rtm(void) -{ - LIMIT_CPU_TYPES(M68020_ONLY); - sprintf(g_dasm_str, "rtm %c%d; (2+)", BIT_3(g_cpu_ir) ? 'A' : 'D', g_cpu_ir&7); -} - -static void d68000_rtr(void) -{ - sprintf(g_dasm_str, "rtr"); -} - -static void d68000_rts(void) -{ - sprintf(g_dasm_str, "rts"); -} - -static void d68000_sbcd_rr(void) -{ - sprintf(g_dasm_str, "sbcd D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_sbcd_mm(void) -{ - sprintf(g_dasm_str, "sbcd -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_scc(void) -{ - sprintf(g_dasm_str, "s%-2s %s", g_cc[(g_cpu_ir>>8)&0xf], get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_stop(void) -{ - sprintf(g_dasm_str, "stop %s", get_imm_str_s16()); -} - -static void d68000_sub_er_8(void) -{ - sprintf(g_dasm_str, "sub.b %s, D%d", get_ea_mode_str_8(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_sub_er_16(void) -{ - sprintf(g_dasm_str, "sub.w %s, D%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_sub_er_32(void) -{ - sprintf(g_dasm_str, "sub.l %s, D%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_sub_re_8(void) -{ - sprintf(g_dasm_str, "sub.b D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_sub_re_16(void) -{ - sprintf(g_dasm_str, "sub.w D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_sub_re_32(void) -{ - sprintf(g_dasm_str, "sub.l D%d, %s", (g_cpu_ir>>9)&7, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_suba_16(void) -{ - sprintf(g_dasm_str, "suba.w %s, A%d", get_ea_mode_str_16(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_suba_32(void) -{ - sprintf(g_dasm_str, "suba.l %s, A%d", get_ea_mode_str_32(g_cpu_ir), (g_cpu_ir>>9)&7); -} - -static void d68000_subi_8(void) -{ - char* str = get_imm_str_s8(); - sprintf(g_dasm_str, "subi.b %s, %s", str, get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_subi_16(void) -{ - char* str = get_imm_str_s16(); - sprintf(g_dasm_str, "subi.w %s, %s", str, get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_subi_32(void) -{ - char* str = get_imm_str_s32(); - sprintf(g_dasm_str, "subi.l %s, %s", str, get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_subq_8(void) -{ - sprintf(g_dasm_str, "subq.b #%d, %s", g_3bit_qdata_table[(g_cpu_ir>>9)&7], get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_subq_16(void) -{ - sprintf(g_dasm_str, "subq.w #%d, %s", g_3bit_qdata_table[(g_cpu_ir>>9)&7], get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_subq_32(void) -{ - sprintf(g_dasm_str, "subq.l #%d, %s", g_3bit_qdata_table[(g_cpu_ir>>9)&7], get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_subx_rr_8(void) -{ - sprintf(g_dasm_str, "subx.b D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_subx_rr_16(void) -{ - sprintf(g_dasm_str, "subx.w D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_subx_rr_32(void) -{ - sprintf(g_dasm_str, "subx.l D%d, D%d", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_subx_mm_8(void) -{ - sprintf(g_dasm_str, "subx.b -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_subx_mm_16(void) -{ - sprintf(g_dasm_str, "subx.w -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_subx_mm_32(void) -{ - sprintf(g_dasm_str, "subx.l -(A%d), -(A%d)", g_cpu_ir&7, (g_cpu_ir>>9)&7); -} - -static void d68000_swap(void) -{ - sprintf(g_dasm_str, "swap D%d", g_cpu_ir&7); -} - -static void d68000_tas(void) -{ - sprintf(g_dasm_str, "tas %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_trap(void) -{ - sprintf(g_dasm_str, "trap #$%X", g_cpu_ir&0xf); -} - -static void d68020_trapcc_0(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "trap%-2s; (2+)", g_cc[(g_cpu_ir>>8)&0xf]); -} - -static void d68020_trapcc_16(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "trap%-2s %s; (2+)", g_cc[(g_cpu_ir>>8)&0xf], get_imm_str_u16()); -} - -static void d68020_trapcc_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "trap%-2s %s; (2+)", g_cc[(g_cpu_ir>>8)&0xf], get_imm_str_u32()); -} - -static void d68000_trapv(void) -{ - sprintf(g_dasm_str, "trapv"); -} - -static void d68000_tst_8(void) -{ - sprintf(g_dasm_str, "tst.b %s", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_tst_pcdi_8(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.b %s; (2+)", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_tst_pcix_8(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.b %s; (2+)", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68020_tst_i_8(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.b %s; (2+)", get_ea_mode_str_8(g_cpu_ir)); -} - -static void d68000_tst_16(void) -{ - sprintf(g_dasm_str, "tst.w %s", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_tst_a_16(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.w %s; (2+)", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_tst_pcdi_16(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.w %s; (2+)", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_tst_pcix_16(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.w %s; (2+)", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68020_tst_i_16(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.w %s; (2+)", get_ea_mode_str_16(g_cpu_ir)); -} - -static void d68000_tst_32(void) -{ - sprintf(g_dasm_str, "tst.l %s", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_tst_a_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.l %s; (2+)", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_tst_pcdi_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.l %s; (2+)", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_tst_pcix_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.l %s; (2+)", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68020_tst_i_32(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "tst.l %s; (2+)", get_ea_mode_str_32(g_cpu_ir)); -} - -static void d68000_unlk(void) -{ - sprintf(g_dasm_str, "unlk A%d", g_cpu_ir&7); -} - -static void d68020_unpk_rr(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "unpk D%d, D%d, %s; (2+)", g_cpu_ir&7, (g_cpu_ir>>9)&7, get_imm_str_u16()); -} - -static void d68020_unpk_mm(void) -{ - LIMIT_CPU_TYPES(M68020_PLUS); - sprintf(g_dasm_str, "unpk -(A%d), -(A%d), %s; (2+)", g_cpu_ir&7, (g_cpu_ir>>9)&7, get_imm_str_u16()); -} - - - -/* ======================================================================== */ -/* ======================= INSTRUCTION TABLE BUILDER ====================== */ -/* ======================================================================== */ - -/* EA Masks: -800 = data register direct -400 = address register direct -200 = address register indirect -100 = ARI postincrement - 80 = ARI pre-decrement - 40 = ARI displacement - 20 = ARI index - 10 = absolute short - 8 = absolute long - 4 = immediate / sr - 2 = pc displacement - 1 = pc idx -*/ - -static opcode_struct g_opcode_info[] = -{ -/* opcode handler mask match ea mask */ - {d68000_1010 , 0xf000, 0xa000, 0x000}, - {d68000_1111 , 0xf000, 0xf000, 0x000}, - {d68000_abcd_rr , 0xf1f8, 0xc100, 0x000}, - {d68000_abcd_mm , 0xf1f8, 0xc108, 0x000}, - {d68000_add_er_8 , 0xf1c0, 0xd000, 0xbff}, - {d68000_add_er_16 , 0xf1c0, 0xd040, 0xfff}, - {d68000_add_er_32 , 0xf1c0, 0xd080, 0xfff}, - {d68000_add_re_8 , 0xf1c0, 0xd100, 0x3f8}, - {d68000_add_re_16 , 0xf1c0, 0xd140, 0x3f8}, - {d68000_add_re_32 , 0xf1c0, 0xd180, 0x3f8}, - {d68000_adda_16 , 0xf1c0, 0xd0c0, 0xfff}, - {d68000_adda_32 , 0xf1c0, 0xd1c0, 0xfff}, - {d68000_addi_8 , 0xffc0, 0x0600, 0xbf8}, - {d68000_addi_16 , 0xffc0, 0x0640, 0xbf8}, - {d68000_addi_32 , 0xffc0, 0x0680, 0xbf8}, - {d68000_addq_8 , 0xf1c0, 0x5000, 0xbf8}, - {d68000_addq_16 , 0xf1c0, 0x5040, 0xff8}, - {d68000_addq_32 , 0xf1c0, 0x5080, 0xff8}, - {d68000_addx_rr_8 , 0xf1f8, 0xd100, 0x000}, - {d68000_addx_rr_16 , 0xf1f8, 0xd140, 0x000}, - {d68000_addx_rr_32 , 0xf1f8, 0xd180, 0x000}, - {d68000_addx_mm_8 , 0xf1f8, 0xd108, 0x000}, - {d68000_addx_mm_16 , 0xf1f8, 0xd148, 0x000}, - {d68000_addx_mm_32 , 0xf1f8, 0xd188, 0x000}, - {d68000_and_er_8 , 0xf1c0, 0xc000, 0xbff}, - {d68000_and_er_16 , 0xf1c0, 0xc040, 0xbff}, - {d68000_and_er_32 , 0xf1c0, 0xc080, 0xbff}, - {d68000_and_re_8 , 0xf1c0, 0xc100, 0x3f8}, - {d68000_and_re_16 , 0xf1c0, 0xc140, 0x3f8}, - {d68000_and_re_32 , 0xf1c0, 0xc180, 0x3f8}, - {d68000_andi_to_ccr , 0xffff, 0x023c, 0x000}, - {d68000_andi_to_sr , 0xffff, 0x027c, 0x000}, - {d68000_andi_8 , 0xffc0, 0x0200, 0xbf8}, - {d68000_andi_16 , 0xffc0, 0x0240, 0xbf8}, - {d68000_andi_32 , 0xffc0, 0x0280, 0xbf8}, - {d68000_asr_s_8 , 0xf1f8, 0xe000, 0x000}, - {d68000_asr_s_16 , 0xf1f8, 0xe040, 0x000}, - {d68000_asr_s_32 , 0xf1f8, 0xe080, 0x000}, - {d68000_asr_r_8 , 0xf1f8, 0xe020, 0x000}, - {d68000_asr_r_16 , 0xf1f8, 0xe060, 0x000}, - {d68000_asr_r_32 , 0xf1f8, 0xe0a0, 0x000}, - {d68000_asr_ea , 0xffc0, 0xe0c0, 0x3f8}, - {d68000_asl_s_8 , 0xf1f8, 0xe100, 0x000}, - {d68000_asl_s_16 , 0xf1f8, 0xe140, 0x000}, - {d68000_asl_s_32 , 0xf1f8, 0xe180, 0x000}, - {d68000_asl_r_8 , 0xf1f8, 0xe120, 0x000}, - {d68000_asl_r_16 , 0xf1f8, 0xe160, 0x000}, - {d68000_asl_r_32 , 0xf1f8, 0xe1a0, 0x000}, - {d68000_asl_ea , 0xffc0, 0xe1c0, 0x3f8}, - {d68000_bcc_8 , 0xf000, 0x6000, 0x000}, - {d68000_bcc_16 , 0xf0ff, 0x6000, 0x000}, - {d68020_bcc_32 , 0xf0ff, 0x60ff, 0x000}, - {d68000_bchg_r , 0xf1c0, 0x0140, 0xbf8}, - {d68000_bchg_s , 0xffc0, 0x0840, 0xbf8}, - {d68000_bclr_r , 0xf1c0, 0x0180, 0xbf8}, - {d68000_bclr_s , 0xffc0, 0x0880, 0xbf8}, - {d68020_bfchg , 0xffc0, 0xeac0, 0xa78}, - {d68020_bfclr , 0xffc0, 0xecc0, 0xa78}, - {d68020_bfexts , 0xffc0, 0xebc0, 0xa7b}, - {d68020_bfextu , 0xffc0, 0xe9c0, 0xa7b}, - {d68020_bfffo , 0xffc0, 0xedc0, 0xa7b}, - {d68020_bfins , 0xffc0, 0xefc0, 0xa78}, - {d68020_bfset , 0xffc0, 0xeec0, 0xa78}, - {d68020_bftst , 0xffc0, 0xe8c0, 0xa7b}, - {d68010_bkpt , 0xfff8, 0x4848, 0x000}, - {d68000_bra_8 , 0xff00, 0x6000, 0x000}, - {d68000_bra_16 , 0xffff, 0x6000, 0x000}, - {d68020_bra_32 , 0xffff, 0x60ff, 0x000}, - {d68000_bset_r , 0xf1c0, 0x01c0, 0xbf8}, - {d68000_bset_s , 0xffc0, 0x08c0, 0xbf8}, - {d68000_bsr_8 , 0xff00, 0x6100, 0x000}, - {d68000_bsr_16 , 0xffff, 0x6100, 0x000}, - {d68020_bsr_32 , 0xffff, 0x61ff, 0x000}, - {d68000_btst_r , 0xf1c0, 0x0100, 0xbff}, - {d68000_btst_s , 0xffc0, 0x0800, 0xbfb}, - {d68020_callm , 0xffc0, 0x06c0, 0x27b}, - {d68020_cas_8 , 0xffc0, 0x0ac0, 0x3f8}, - {d68020_cas_16 , 0xffc0, 0x0cc0, 0x3f8}, - {d68020_cas_32 , 0xffc0, 0x0ec0, 0x3f8}, - {d68020_cas2_16 , 0xffff, 0x0cfc, 0x000}, - {d68020_cas2_32 , 0xffff, 0x0efc, 0x000}, - {d68000_chk_16 , 0xf1c0, 0x4180, 0xbff}, - {d68020_chk_32 , 0xf1c0, 0x4100, 0xbff}, - {d68020_chk2_cmp2_8 , 0xffc0, 0x00c0, 0x27b}, - {d68020_chk2_cmp2_16 , 0xffc0, 0x02c0, 0x27b}, - {d68020_chk2_cmp2_32 , 0xffc0, 0x04c0, 0x27b}, - {d68040_cinv , 0xff20, 0xf400, 0x000}, - {d68000_clr_8 , 0xffc0, 0x4200, 0xbf8}, - {d68000_clr_16 , 0xffc0, 0x4240, 0xbf8}, - {d68000_clr_32 , 0xffc0, 0x4280, 0xbf8}, - {d68000_cmp_8 , 0xf1c0, 0xb000, 0xbff}, - {d68000_cmp_16 , 0xf1c0, 0xb040, 0xfff}, - {d68000_cmp_32 , 0xf1c0, 0xb080, 0xfff}, - {d68000_cmpa_16 , 0xf1c0, 0xb0c0, 0xfff}, - {d68000_cmpa_32 , 0xf1c0, 0xb1c0, 0xfff}, - {d68000_cmpi_8 , 0xffc0, 0x0c00, 0xbf8}, - {d68020_cmpi_pcdi_8 , 0xffff, 0x0c3a, 0x000}, - {d68020_cmpi_pcix_8 , 0xffff, 0x0c3b, 0x000}, - {d68000_cmpi_16 , 0xffc0, 0x0c40, 0xbf8}, - {d68020_cmpi_pcdi_16 , 0xffff, 0x0c7a, 0x000}, - {d68020_cmpi_pcix_16 , 0xffff, 0x0c7b, 0x000}, - {d68000_cmpi_32 , 0xffc0, 0x0c80, 0xbf8}, - {d68020_cmpi_pcdi_32 , 0xffff, 0x0cba, 0x000}, - {d68020_cmpi_pcix_32 , 0xffff, 0x0cbb, 0x000}, - {d68000_cmpm_8 , 0xf1f8, 0xb108, 0x000}, - {d68000_cmpm_16 , 0xf1f8, 0xb148, 0x000}, - {d68000_cmpm_32 , 0xf1f8, 0xb188, 0x000}, - {d68020_cpbcc_16 , 0xf1c0, 0xf080, 0x000}, - {d68020_cpbcc_32 , 0xf1c0, 0xf0c0, 0x000}, - {d68020_cpdbcc , 0xf1f8, 0xf048, 0x000}, - {d68020_cpgen , 0xf1c0, 0xf000, 0x000}, - {d68020_cprestore , 0xf1c0, 0xf140, 0x37f}, - {d68020_cpsave , 0xf1c0, 0xf100, 0x2f8}, - {d68020_cpscc , 0xf1c0, 0xf040, 0xbf8}, - {d68020_cptrapcc_0 , 0xf1ff, 0xf07c, 0x000}, - {d68020_cptrapcc_16 , 0xf1ff, 0xf07a, 0x000}, - {d68020_cptrapcc_32 , 0xf1ff, 0xf07b, 0x000}, - {d68040_cpush , 0xff20, 0xf420, 0x000}, - {d68000_dbcc , 0xf0f8, 0x50c8, 0x000}, - {d68000_dbra , 0xfff8, 0x51c8, 0x000}, - {d68000_divs , 0xf1c0, 0x81c0, 0xbff}, - {d68000_divu , 0xf1c0, 0x80c0, 0xbff}, - {d68020_divl , 0xffc0, 0x4c40, 0xbff}, - {d68000_eor_8 , 0xf1c0, 0xb100, 0xbf8}, - {d68000_eor_16 , 0xf1c0, 0xb140, 0xbf8}, - {d68000_eor_32 , 0xf1c0, 0xb180, 0xbf8}, - {d68000_eori_to_ccr , 0xffff, 0x0a3c, 0x000}, - {d68000_eori_to_sr , 0xffff, 0x0a7c, 0x000}, - {d68000_eori_8 , 0xffc0, 0x0a00, 0xbf8}, - {d68000_eori_16 , 0xffc0, 0x0a40, 0xbf8}, - {d68000_eori_32 , 0xffc0, 0x0a80, 0xbf8}, - {d68000_exg_dd , 0xf1f8, 0xc140, 0x000}, - {d68000_exg_aa , 0xf1f8, 0xc148, 0x000}, - {d68000_exg_da , 0xf1f8, 0xc188, 0x000}, - {d68020_extb_32 , 0xfff8, 0x49c0, 0x000}, - {d68000_ext_16 , 0xfff8, 0x4880, 0x000}, - {d68000_ext_32 , 0xfff8, 0x48c0, 0x000}, - {d68000_illegal , 0xffff, 0x4afc, 0x000}, - {d68000_jmp , 0xffc0, 0x4ec0, 0x27b}, - {d68000_jsr , 0xffc0, 0x4e80, 0x27b}, - {d68000_lea , 0xf1c0, 0x41c0, 0x27b}, - {d68000_link_16 , 0xfff8, 0x4e50, 0x000}, - {d68020_link_32 , 0xfff8, 0x4808, 0x000}, - {d68000_lsr_s_8 , 0xf1f8, 0xe008, 0x000}, - {d68000_lsr_s_16 , 0xf1f8, 0xe048, 0x000}, - {d68000_lsr_s_32 , 0xf1f8, 0xe088, 0x000}, - {d68000_lsr_r_8 , 0xf1f8, 0xe028, 0x000}, - {d68000_lsr_r_16 , 0xf1f8, 0xe068, 0x000}, - {d68000_lsr_r_32 , 0xf1f8, 0xe0a8, 0x000}, - {d68000_lsr_ea , 0xffc0, 0xe2c0, 0x3f8}, - {d68000_lsl_s_8 , 0xf1f8, 0xe108, 0x000}, - {d68000_lsl_s_16 , 0xf1f8, 0xe148, 0x000}, - {d68000_lsl_s_32 , 0xf1f8, 0xe188, 0x000}, - {d68000_lsl_r_8 , 0xf1f8, 0xe128, 0x000}, - {d68000_lsl_r_16 , 0xf1f8, 0xe168, 0x000}, - {d68000_lsl_r_32 , 0xf1f8, 0xe1a8, 0x000}, - {d68000_lsl_ea , 0xffc0, 0xe3c0, 0x3f8}, - {d68000_move_8 , 0xf000, 0x1000, 0xbff}, - {d68000_move_16 , 0xf000, 0x3000, 0xfff}, - {d68000_move_32 , 0xf000, 0x2000, 0xfff}, - {d68000_movea_16 , 0xf1c0, 0x3040, 0xfff}, - {d68000_movea_32 , 0xf1c0, 0x2040, 0xfff}, - {d68000_move_to_ccr , 0xffc0, 0x44c0, 0xbff}, - {d68010_move_fr_ccr , 0xffc0, 0x42c0, 0xbf8}, - {d68000_move_to_sr , 0xffc0, 0x46c0, 0xbff}, - {d68000_move_fr_sr , 0xffc0, 0x40c0, 0xbf8}, - {d68000_move_to_usp , 0xfff8, 0x4e60, 0x000}, - {d68000_move_fr_usp , 0xfff8, 0x4e68, 0x000}, - {d68010_movec , 0xfffe, 0x4e7a, 0x000}, - {d68000_movem_pd_16 , 0xfff8, 0x48a0, 0x000}, - {d68000_movem_pd_32 , 0xfff8, 0x48e0, 0x000}, - {d68000_movem_re_16 , 0xffc0, 0x4880, 0x2f8}, - {d68000_movem_re_32 , 0xffc0, 0x48c0, 0x2f8}, - {d68000_movem_er_16 , 0xffc0, 0x4c80, 0x37b}, - {d68000_movem_er_32 , 0xffc0, 0x4cc0, 0x37b}, - {d68000_movep_er_16 , 0xf1f8, 0x0108, 0x000}, - {d68000_movep_er_32 , 0xf1f8, 0x0148, 0x000}, - {d68000_movep_re_16 , 0xf1f8, 0x0188, 0x000}, - {d68000_movep_re_32 , 0xf1f8, 0x01c8, 0x000}, - {d68010_moves_8 , 0xffc0, 0x0e00, 0x3f8}, - {d68010_moves_16 , 0xffc0, 0x0e40, 0x3f8}, - {d68010_moves_32 , 0xffc0, 0x0e80, 0x3f8}, - {d68000_moveq , 0xf100, 0x7000, 0x000}, - {d68040_move16_pi_pi , 0xfff8, 0xf620, 0x000}, - {d68040_move16_pi_al , 0xfff8, 0xf600, 0x000}, - {d68040_move16_al_pi , 0xfff8, 0xf608, 0x000}, - {d68040_move16_ai_al , 0xfff8, 0xf610, 0x000}, - {d68040_move16_al_ai , 0xfff8, 0xf618, 0x000}, - {d68000_muls , 0xf1c0, 0xc1c0, 0xbff}, - {d68000_mulu , 0xf1c0, 0xc0c0, 0xbff}, - {d68020_mull , 0xffc0, 0x4c00, 0xbff}, - {d68000_nbcd , 0xffc0, 0x4800, 0xbf8}, - {d68000_neg_8 , 0xffc0, 0x4400, 0xbf8}, - {d68000_neg_16 , 0xffc0, 0x4440, 0xbf8}, - {d68000_neg_32 , 0xffc0, 0x4480, 0xbf8}, - {d68000_negx_8 , 0xffc0, 0x4000, 0xbf8}, - {d68000_negx_16 , 0xffc0, 0x4040, 0xbf8}, - {d68000_negx_32 , 0xffc0, 0x4080, 0xbf8}, - {d68000_nop , 0xffff, 0x4e71, 0x000}, - {d68000_not_8 , 0xffc0, 0x4600, 0xbf8}, - {d68000_not_16 , 0xffc0, 0x4640, 0xbf8}, - {d68000_not_32 , 0xffc0, 0x4680, 0xbf8}, - {d68000_or_er_8 , 0xf1c0, 0x8000, 0xbff}, - {d68000_or_er_16 , 0xf1c0, 0x8040, 0xbff}, - {d68000_or_er_32 , 0xf1c0, 0x8080, 0xbff}, - {d68000_or_re_8 , 0xf1c0, 0x8100, 0x3f8}, - {d68000_or_re_16 , 0xf1c0, 0x8140, 0x3f8}, - {d68000_or_re_32 , 0xf1c0, 0x8180, 0x3f8}, - {d68000_ori_to_ccr , 0xffff, 0x003c, 0x000}, - {d68000_ori_to_sr , 0xffff, 0x007c, 0x000}, - {d68000_ori_8 , 0xffc0, 0x0000, 0xbf8}, - {d68000_ori_16 , 0xffc0, 0x0040, 0xbf8}, - {d68000_ori_32 , 0xffc0, 0x0080, 0xbf8}, - {d68020_pack_rr , 0xf1f8, 0x8140, 0x000}, - {d68020_pack_mm , 0xf1f8, 0x8148, 0x000}, - {d68000_pea , 0xffc0, 0x4840, 0x27b}, - {d68000_reset , 0xffff, 0x4e70, 0x000}, - {d68000_ror_s_8 , 0xf1f8, 0xe018, 0x000}, - {d68000_ror_s_16 , 0xf1f8, 0xe058, 0x000}, - {d68000_ror_s_32 , 0xf1f8, 0xe098, 0x000}, - {d68000_ror_r_8 , 0xf1f8, 0xe038, 0x000}, - {d68000_ror_r_16 , 0xf1f8, 0xe078, 0x000}, - {d68000_ror_r_32 , 0xf1f8, 0xe0b8, 0x000}, - {d68000_ror_ea , 0xffc0, 0xe6c0, 0x3f8}, - {d68000_rol_s_8 , 0xf1f8, 0xe118, 0x000}, - {d68000_rol_s_16 , 0xf1f8, 0xe158, 0x000}, - {d68000_rol_s_32 , 0xf1f8, 0xe198, 0x000}, - {d68000_rol_r_8 , 0xf1f8, 0xe138, 0x000}, - {d68000_rol_r_16 , 0xf1f8, 0xe178, 0x000}, - {d68000_rol_r_32 , 0xf1f8, 0xe1b8, 0x000}, - {d68000_rol_ea , 0xffc0, 0xe7c0, 0x3f8}, - {d68000_roxr_s_8 , 0xf1f8, 0xe010, 0x000}, - {d68000_roxr_s_16 , 0xf1f8, 0xe050, 0x000}, - {d68000_roxr_s_32 , 0xf1f8, 0xe090, 0x000}, - {d68000_roxr_r_8 , 0xf1f8, 0xe030, 0x000}, - {d68000_roxr_r_16 , 0xf1f8, 0xe070, 0x000}, - {d68000_roxr_r_32 , 0xf1f8, 0xe0b0, 0x000}, - {d68000_roxr_ea , 0xffc0, 0xe4c0, 0x3f8}, - {d68000_roxl_s_8 , 0xf1f8, 0xe110, 0x000}, - {d68000_roxl_s_16 , 0xf1f8, 0xe150, 0x000}, - {d68000_roxl_s_32 , 0xf1f8, 0xe190, 0x000}, - {d68000_roxl_r_8 , 0xf1f8, 0xe130, 0x000}, - {d68000_roxl_r_16 , 0xf1f8, 0xe170, 0x000}, - {d68000_roxl_r_32 , 0xf1f8, 0xe1b0, 0x000}, - {d68000_roxl_ea , 0xffc0, 0xe5c0, 0x3f8}, - {d68010_rtd , 0xffff, 0x4e74, 0x000}, - {d68000_rte , 0xffff, 0x4e73, 0x000}, - {d68020_rtm , 0xfff0, 0x06c0, 0x000}, - {d68000_rtr , 0xffff, 0x4e77, 0x000}, - {d68000_rts , 0xffff, 0x4e75, 0x000}, - {d68000_sbcd_rr , 0xf1f8, 0x8100, 0x000}, - {d68000_sbcd_mm , 0xf1f8, 0x8108, 0x000}, - {d68000_scc , 0xf0c0, 0x50c0, 0xbf8}, - {d68000_stop , 0xffff, 0x4e72, 0x000}, - {d68000_sub_er_8 , 0xf1c0, 0x9000, 0xbff}, - {d68000_sub_er_16 , 0xf1c0, 0x9040, 0xfff}, - {d68000_sub_er_32 , 0xf1c0, 0x9080, 0xfff}, - {d68000_sub_re_8 , 0xf1c0, 0x9100, 0x3f8}, - {d68000_sub_re_16 , 0xf1c0, 0x9140, 0x3f8}, - {d68000_sub_re_32 , 0xf1c0, 0x9180, 0x3f8}, - {d68000_suba_16 , 0xf1c0, 0x90c0, 0xfff}, - {d68000_suba_32 , 0xf1c0, 0x91c0, 0xfff}, - {d68000_subi_8 , 0xffc0, 0x0400, 0xbf8}, - {d68000_subi_16 , 0xffc0, 0x0440, 0xbf8}, - {d68000_subi_32 , 0xffc0, 0x0480, 0xbf8}, - {d68000_subq_8 , 0xf1c0, 0x5100, 0xbf8}, - {d68000_subq_16 , 0xf1c0, 0x5140, 0xff8}, - {d68000_subq_32 , 0xf1c0, 0x5180, 0xff8}, - {d68000_subx_rr_8 , 0xf1f8, 0x9100, 0x000}, - {d68000_subx_rr_16 , 0xf1f8, 0x9140, 0x000}, - {d68000_subx_rr_32 , 0xf1f8, 0x9180, 0x000}, - {d68000_subx_mm_8 , 0xf1f8, 0x9108, 0x000}, - {d68000_subx_mm_16 , 0xf1f8, 0x9148, 0x000}, - {d68000_subx_mm_32 , 0xf1f8, 0x9188, 0x000}, - {d68000_swap , 0xfff8, 0x4840, 0x000}, - {d68000_tas , 0xffc0, 0x4ac0, 0xbf8}, - {d68000_trap , 0xfff0, 0x4e40, 0x000}, - {d68020_trapcc_0 , 0xf0ff, 0x50fc, 0x000}, - {d68020_trapcc_16 , 0xf0ff, 0x50fa, 0x000}, - {d68020_trapcc_32 , 0xf0ff, 0x50fb, 0x000}, - {d68000_trapv , 0xffff, 0x4e76, 0x000}, - {d68000_tst_8 , 0xffc0, 0x4a00, 0xbf8}, - {d68020_tst_pcdi_8 , 0xffff, 0x4a3a, 0x000}, - {d68020_tst_pcix_8 , 0xffff, 0x4a3b, 0x000}, - {d68020_tst_i_8 , 0xffff, 0x4a3c, 0x000}, - {d68000_tst_16 , 0xffc0, 0x4a40, 0xbf8}, - {d68020_tst_a_16 , 0xfff8, 0x4a48, 0x000}, - {d68020_tst_pcdi_16 , 0xffff, 0x4a7a, 0x000}, - {d68020_tst_pcix_16 , 0xffff, 0x4a7b, 0x000}, - {d68020_tst_i_16 , 0xffff, 0x4a7c, 0x000}, - {d68000_tst_32 , 0xffc0, 0x4a80, 0xbf8}, - {d68020_tst_a_32 , 0xfff8, 0x4a88, 0x000}, - {d68020_tst_pcdi_32 , 0xffff, 0x4aba, 0x000}, - {d68020_tst_pcix_32 , 0xffff, 0x4abb, 0x000}, - {d68020_tst_i_32 , 0xffff, 0x4abc, 0x000}, - {d68000_unlk , 0xfff8, 0x4e58, 0x000}, - {d68020_unpk_rr , 0xf1f8, 0x8180, 0x000}, - {d68020_unpk_mm , 0xf1f8, 0x8188, 0x000}, - {0, 0, 0, 0} -}; - -/* Check if opcode is using a valid ea mode */ -static int valid_ea(uint opcode, uint mask) -{ - if(mask == 0) - return 1; - - switch(opcode & 0x3f) - { - case 0x00: case 0x01: case 0x02: case 0x03: - case 0x04: case 0x05: case 0x06: case 0x07: - return (mask & 0x800) != 0; - case 0x08: case 0x09: case 0x0a: case 0x0b: - case 0x0c: case 0x0d: case 0x0e: case 0x0f: - return (mask & 0x400) != 0; - case 0x10: case 0x11: case 0x12: case 0x13: - case 0x14: case 0x15: case 0x16: case 0x17: - return (mask & 0x200) != 0; - case 0x18: case 0x19: case 0x1a: case 0x1b: - case 0x1c: case 0x1d: case 0x1e: case 0x1f: - return (mask & 0x100) != 0; - case 0x20: case 0x21: case 0x22: case 0x23: - case 0x24: case 0x25: case 0x26: case 0x27: - return (mask & 0x080) != 0; - case 0x28: case 0x29: case 0x2a: case 0x2b: - case 0x2c: case 0x2d: case 0x2e: case 0x2f: - return (mask & 0x040) != 0; - case 0x30: case 0x31: case 0x32: case 0x33: - case 0x34: case 0x35: case 0x36: case 0x37: - return (mask & 0x020) != 0; - case 0x38: - return (mask & 0x010) != 0; - case 0x39: - return (mask & 0x008) != 0; - case 0x3a: - return (mask & 0x002) != 0; - case 0x3b: - return (mask & 0x001) != 0; - case 0x3c: - return (mask & 0x004) != 0; - } - return 0; - -} - -/* Used by qsort */ -static int DECL_SPEC compare_nof_true_bits(const void *aptr, const void *bptr) -{ - uint a = ((const opcode_struct*)aptr)->mask; - uint b = ((const opcode_struct*)bptr)->mask; - - a = ((a & 0xAAAA) >> 1) + (a & 0x5555); - a = ((a & 0xCCCC) >> 2) + (a & 0x3333); - a = ((a & 0xF0F0) >> 4) + (a & 0x0F0F); - a = ((a & 0xFF00) >> 8) + (a & 0x00FF); - - b = ((b & 0xAAAA) >> 1) + (b & 0x5555); - b = ((b & 0xCCCC) >> 2) + (b & 0x3333); - b = ((b & 0xF0F0) >> 4) + (b & 0x0F0F); - b = ((b & 0xFF00) >> 8) + (b & 0x00FF); - - return b - a; /* reversed to get greatest to least sorting */ -} - -/* build the opcode handler jump table */ -static void build_opcode_table(void) -{ - uint i; - uint opcode; - opcode_struct* ostruct; - uint opcode_info_length = 0; - - for(ostruct = g_opcode_info;ostruct->opcode_handler != 0;ostruct++) - opcode_info_length++; - - qsort((void *)g_opcode_info, opcode_info_length, sizeof(g_opcode_info[0]), compare_nof_true_bits); - - for(i=0;i<0x10000;i++) - { - g_instruction_table[i] = d68000_illegal; /* default to illegal */ - opcode = i; - /* search through opcode info for a match */ - for(ostruct = g_opcode_info;ostruct->opcode_handler != 0;ostruct++) - { - /* match opcode mask and allowed ea modes */ - if((opcode & ostruct->mask) == ostruct->match) - { - /* Handle destination ea for move instructions */ - if((ostruct->opcode_handler == d68000_move_8 || - ostruct->opcode_handler == d68000_move_16 || - ostruct->opcode_handler == d68000_move_32) && - !valid_ea(((opcode>>9)&7) | ((opcode>>3)&0x38), 0xbf8)) - continue; - if(valid_ea(opcode, ostruct->ea_mask)) - { - g_instruction_table[i] = ostruct->opcode_handler; - break; - } - } - } - } -} - - - -/* ======================================================================== */ -/* ================================= API ================================== */ -/* ======================================================================== */ - -/* Disasemble one instruction at pc and store in str_buff */ -unsigned int m68k_disassemble(char* str_buff, unsigned int pc, unsigned int cpu_type) -{ - if(!g_initialized) - { - build_opcode_table(); - g_initialized = 1; - } - switch(cpu_type) - { - case M68K_CPU_TYPE_68000: - g_cpu_type = TYPE_68000; - g_address_mask = 0x00ffffff; - break; - case M68K_CPU_TYPE_68010: - g_cpu_type = TYPE_68010; - g_address_mask = 0x00ffffff; - break; - case M68K_CPU_TYPE_68EC020: - g_cpu_type = TYPE_68020; - g_address_mask = 0x00ffffff; - break; - case M68K_CPU_TYPE_68020: - g_cpu_type = TYPE_68020; - g_address_mask = 0xffffffff; - break; - case M68K_CPU_TYPE_68030: - g_cpu_type = TYPE_68030; - g_address_mask = 0xffffffff; - break; - case M68K_CPU_TYPE_68040: - g_cpu_type = TYPE_68040; - g_address_mask = 0xffffffff; - break; - default: - return 0; - } - - g_cpu_pc = pc; - g_helper_str[0] = 0; - g_cpu_ir = read_imm_16(); - g_instruction_table[g_cpu_ir](); - sprintf(str_buff, "%s%s", g_dasm_str, g_helper_str); - return g_cpu_pc - pc; -} - -char* m68ki_disassemble_quick(unsigned int pc, unsigned int cpu_type) -{ - static char buff[100]; - buff[0] = 0; - m68k_disassemble(buff, pc, cpu_type); - return buff; -} - -/* Check if the instruction is a valid one */ -unsigned int m68k_is_valid_instruction(unsigned int instruction, unsigned int cpu_type) -{ - if(!g_initialized) - { - build_opcode_table(); - g_initialized = 1; - } - - instruction &= 0xffff; - if(g_instruction_table[instruction] == d68000_illegal) - return 0; - - switch(cpu_type) - { - case M68K_CPU_TYPE_68000: - if(g_instruction_table[instruction] == d68010_bkpt) - return 0; - if(g_instruction_table[instruction] == d68010_move_fr_ccr) - return 0; - if(g_instruction_table[instruction] == d68010_movec) - return 0; - if(g_instruction_table[instruction] == d68010_moves_8) - return 0; - if(g_instruction_table[instruction] == d68010_moves_16) - return 0; - if(g_instruction_table[instruction] == d68010_moves_32) - return 0; - if(g_instruction_table[instruction] == d68010_rtd) - return 0; - case M68K_CPU_TYPE_68010: - if(g_instruction_table[instruction] == d68020_bcc_32) - return 0; - if(g_instruction_table[instruction] == d68020_bfchg) - return 0; - if(g_instruction_table[instruction] == d68020_bfclr) - return 0; - if(g_instruction_table[instruction] == d68020_bfexts) - return 0; - if(g_instruction_table[instruction] == d68020_bfextu) - return 0; - if(g_instruction_table[instruction] == d68020_bfffo) - return 0; - if(g_instruction_table[instruction] == d68020_bfins) - return 0; - if(g_instruction_table[instruction] == d68020_bfset) - return 0; - if(g_instruction_table[instruction] == d68020_bftst) - return 0; - if(g_instruction_table[instruction] == d68020_bra_32) - return 0; - if(g_instruction_table[instruction] == d68020_bsr_32) - return 0; - if(g_instruction_table[instruction] == d68020_callm) - return 0; - if(g_instruction_table[instruction] == d68020_cas_8) - return 0; - if(g_instruction_table[instruction] == d68020_cas_16) - return 0; - if(g_instruction_table[instruction] == d68020_cas_32) - return 0; - if(g_instruction_table[instruction] == d68020_cas2_16) - return 0; - if(g_instruction_table[instruction] == d68020_cas2_32) - return 0; - if(g_instruction_table[instruction] == d68020_chk_32) - return 0; - if(g_instruction_table[instruction] == d68020_chk2_cmp2_8) - return 0; - if(g_instruction_table[instruction] == d68020_chk2_cmp2_16) - return 0; - if(g_instruction_table[instruction] == d68020_chk2_cmp2_32) - return 0; - if(g_instruction_table[instruction] == d68020_cmpi_pcdi_8) - return 0; - if(g_instruction_table[instruction] == d68020_cmpi_pcix_8) - return 0; - if(g_instruction_table[instruction] == d68020_cmpi_pcdi_16) - return 0; - if(g_instruction_table[instruction] == d68020_cmpi_pcix_16) - return 0; - if(g_instruction_table[instruction] == d68020_cmpi_pcdi_32) - return 0; - if(g_instruction_table[instruction] == d68020_cmpi_pcix_32) - return 0; - if(g_instruction_table[instruction] == d68020_cpbcc_16) - return 0; - if(g_instruction_table[instruction] == d68020_cpbcc_32) - return 0; - if(g_instruction_table[instruction] == d68020_cpdbcc) - return 0; - if(g_instruction_table[instruction] == d68020_cpgen) - return 0; - if(g_instruction_table[instruction] == d68020_cprestore) - return 0; - if(g_instruction_table[instruction] == d68020_cpsave) - return 0; - if(g_instruction_table[instruction] == d68020_cpscc) - return 0; - if(g_instruction_table[instruction] == d68020_cptrapcc_0) - return 0; - if(g_instruction_table[instruction] == d68020_cptrapcc_16) - return 0; - if(g_instruction_table[instruction] == d68020_cptrapcc_32) - return 0; - if(g_instruction_table[instruction] == d68020_divl) - return 0; - if(g_instruction_table[instruction] == d68020_extb_32) - return 0; - if(g_instruction_table[instruction] == d68020_link_32) - return 0; - if(g_instruction_table[instruction] == d68020_mull) - return 0; - if(g_instruction_table[instruction] == d68020_pack_rr) - return 0; - if(g_instruction_table[instruction] == d68020_pack_mm) - return 0; - if(g_instruction_table[instruction] == d68020_rtm) - return 0; - if(g_instruction_table[instruction] == d68020_trapcc_0) - return 0; - if(g_instruction_table[instruction] == d68020_trapcc_16) - return 0; - if(g_instruction_table[instruction] == d68020_trapcc_32) - return 0; - if(g_instruction_table[instruction] == d68020_tst_pcdi_8) - return 0; - if(g_instruction_table[instruction] == d68020_tst_pcix_8) - return 0; - if(g_instruction_table[instruction] == d68020_tst_i_8) - return 0; - if(g_instruction_table[instruction] == d68020_tst_a_16) - return 0; - if(g_instruction_table[instruction] == d68020_tst_pcdi_16) - return 0; - if(g_instruction_table[instruction] == d68020_tst_pcix_16) - return 0; - if(g_instruction_table[instruction] == d68020_tst_i_16) - return 0; - if(g_instruction_table[instruction] == d68020_tst_a_32) - return 0; - if(g_instruction_table[instruction] == d68020_tst_pcdi_32) - return 0; - if(g_instruction_table[instruction] == d68020_tst_pcix_32) - return 0; - if(g_instruction_table[instruction] == d68020_tst_i_32) - return 0; - if(g_instruction_table[instruction] == d68020_unpk_rr) - return 0; - if(g_instruction_table[instruction] == d68020_unpk_mm) - return 0; - case M68K_CPU_TYPE_68EC020: - case M68K_CPU_TYPE_68020: - case M68K_CPU_TYPE_68030: - if(g_instruction_table[instruction] == d68040_cinv) - return 0; - if(g_instruction_table[instruction] == d68040_cpush) - return 0; - if(g_instruction_table[instruction] == d68040_move16_pi_pi) - return 0; - if(g_instruction_table[instruction] == d68040_move16_pi_al) - return 0; - if(g_instruction_table[instruction] == d68040_move16_al_pi) - return 0; - if(g_instruction_table[instruction] == d68040_move16_ai_al) - return 0; - if(g_instruction_table[instruction] == d68040_move16_al_ai) - return 0; - } - if(cpu_type != M68K_CPU_TYPE_68020 && cpu_type != M68K_CPU_TYPE_68EC020 && - (g_instruction_table[instruction] == d68020_callm || - g_instruction_table[instruction] == d68020_rtm)) - return 0; - - return 1; -} - - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ diff --git a/src/m68kmake.c b/src/m68kmake.c deleted file mode 100644 index 9bace6b..0000000 --- a/src/m68kmake.c +++ /dev/null @@ -1,1414 +0,0 @@ -/* ======================================================================== */ -/* ========================= LICENSING & COPYRIGHT ======================== */ -/* ======================================================================== */ -/* - * MUSASHI - * Version 3.3 - * - * A portable Motorola M680x0 processor emulation engine. - * Copyright 1998-2001 Karl Stenerud. All rights reserved. - * - * This code may be freely used for non-commercial purposes as long as this - * copyright notice remains unaltered in the source code and any binary files - * containing this code in compiled form. - * - * All other lisencing terms must be negotiated with the author - * (Karl Stenerud). - * - * The latest version of this code can be obtained at: - * http://kstenerud.cjb.net - */ - - - -/* ======================================================================== */ -/* ============================ CODE GENERATOR ============================ */ -/* ======================================================================== */ -/* - * This is the code generator program which will generate the opcode table - * and the final opcode handlers. - * - * It requires an input file to function (default m68k_in.c), but you can - * specify your own like so: - * - * m68kmake - * - * where output path is the path where the output files should be placed, and - * input file is the file to use for input. - * - * If you modify the input file greatly from its released form, you may have - * to tweak the configuration section a bit since I'm using static allocation - * to keep things simple. - * - * - * TODO: - build a better code generator for the move instruction. - * - Add callm and rtm instructions - * - Fix RTE to handle other format words - * - Add address error (and bus error?) handling - */ - - -char* g_version = "3.3"; - -/* ======================================================================== */ -/* =============================== INCLUDES =============================== */ -/* ======================================================================== */ - -#include -#include -#include -#include -#include - - - -/* ======================================================================== */ -/* ============================= CONFIGURATION ============================ */ -/* ======================================================================== */ - -#define MAX_PATH 1024 -#define MAX_DIR 1024 - -#define NUM_CPUS 3 /* 000, 010, 020 */ -#define MAX_LINE_LENGTH 200 /* length of 1 line */ -#define MAX_BODY_LENGTH 300 /* Number of lines in 1 function */ -#define MAX_REPLACE_LENGTH 30 /* Max number of replace strings */ -#define MAX_INSERT_LENGTH 5000 /* Max size of insert piece */ -#define MAX_NAME_LENGTH 30 /* Max length of ophandler name */ -#define MAX_SPEC_PROC_LENGTH 4 /* Max length of special processing str */ -#define MAX_SPEC_EA_LENGTH 5 /* Max length of specified EA str */ -#define EA_ALLOWED_LENGTH 11 /* Max length of ea allowed str */ -#define MAX_OPCODE_INPUT_TABLE_LENGTH 1000 /* Max length of opcode handler tbl */ -#define MAX_OPCODE_OUTPUT_TABLE_LENGTH 3000 /* Max length of opcode handler tbl */ - -/* Default filenames */ -#define FILENAME_INPUT "m68k_in.c" -#define FILENAME_PROTOTYPE "m68kops.h" -#define FILENAME_TABLE "m68kops.c" -#define FILENAME_OPS_AC "m68kopac.c" -#define FILENAME_OPS_DM "m68kopdm.c" -#define FILENAME_OPS_NZ "m68kopnz.c" - - -/* Identifier sequences recognized by this program */ - -#define ID_INPUT_SEPARATOR "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - -#define ID_BASE "M68KMAKE" -#define ID_PROTOTYPE_HEADER ID_BASE "_PROTOTYPE_HEADER" -#define ID_PROTOTYPE_FOOTER ID_BASE "_PROTOTYPE_FOOTER" -#define ID_TABLE_HEADER ID_BASE "_TABLE_HEADER" -#define ID_TABLE_FOOTER ID_BASE "_TABLE_FOOTER" -#define ID_TABLE_BODY ID_BASE "_TABLE_BODY" -#define ID_TABLE_START ID_BASE "_TABLE_START" -#define ID_OPHANDLER_HEADER ID_BASE "_OPCODE_HANDLER_HEADER" -#define ID_OPHANDLER_FOOTER ID_BASE "_OPCODE_HANDLER_FOOTER" -#define ID_OPHANDLER_BODY ID_BASE "_OPCODE_HANDLER_BODY" -#define ID_END ID_BASE "_END" - -#define ID_OPHANDLER_NAME ID_BASE "_OP" -#define ID_OPHANDLER_EA_AY_8 ID_BASE "_GET_EA_AY_8" -#define ID_OPHANDLER_EA_AY_16 ID_BASE "_GET_EA_AY_16" -#define ID_OPHANDLER_EA_AY_32 ID_BASE "_GET_EA_AY_32" -#define ID_OPHANDLER_OPER_AY_8 ID_BASE "_GET_OPER_AY_8" -#define ID_OPHANDLER_OPER_AY_16 ID_BASE "_GET_OPER_AY_16" -#define ID_OPHANDLER_OPER_AY_32 ID_BASE "_GET_OPER_AY_32" -#define ID_OPHANDLER_CC ID_BASE "_CC" -#define ID_OPHANDLER_NOT_CC ID_BASE "_NOT_CC" - - -#ifndef DECL_SPEC -#define DECL_SPEC -#endif /* DECL_SPEC */ - - - -/* ======================================================================== */ -/* ============================== PROTOTYPES ============================== */ -/* ======================================================================== */ - -#define CPU_TYPE_000 0 -#define CPU_TYPE_010 1 -#define CPU_TYPE_020 2 - -#define UNSPECIFIED "." -#define UNSPECIFIED_CH '.' - -#define HAS_NO_EA_MODE(A) (strcmp(A, "..........") == 0) -#define HAS_EA_AI(A) ((A)[0] == 'A') -#define HAS_EA_PI(A) ((A)[1] == '+') -#define HAS_EA_PD(A) ((A)[2] == '-') -#define HAS_EA_DI(A) ((A)[3] == 'D') -#define HAS_EA_IX(A) ((A)[4] == 'X') -#define HAS_EA_AW(A) ((A)[5] == 'W') -#define HAS_EA_AL(A) ((A)[6] == 'L') -#define HAS_EA_PCDI(A) ((A)[7] == 'd') -#define HAS_EA_PCIX(A) ((A)[8] == 'x') -#define HAS_EA_I(A) ((A)[9] == 'I') - -enum -{ - EA_MODE_NONE, /* No special addressing mode */ - EA_MODE_AI, /* Address register indirect */ - EA_MODE_PI, /* Address register indirect with postincrement */ - EA_MODE_PI7, /* Address register 7 indirect with postincrement */ - EA_MODE_PD, /* Address register indirect with predecrement */ - EA_MODE_PD7, /* Address register 7 indirect with predecrement */ - EA_MODE_DI, /* Address register indirect with displacement */ - EA_MODE_IX, /* Address register indirect with index */ - EA_MODE_AW, /* Absolute word */ - EA_MODE_AL, /* Absolute long */ - EA_MODE_PCDI, /* Program counter indirect with displacement */ - EA_MODE_PCIX, /* Program counter indirect with index */ - EA_MODE_I /* Immediate */ -}; - - -/* Everything we need to know about an opcode */ -typedef struct -{ - char name[MAX_NAME_LENGTH]; /* opcode handler name */ - unsigned int size; /* Size of operation */ - char spec_proc[MAX_SPEC_PROC_LENGTH]; /* Special processing mode */ - char spec_ea[MAX_SPEC_EA_LENGTH]; /* Specified effective addressing mode */ - unsigned int bits; /* Number of significant bits (used for sorting the table) */ - unsigned int op_mask; /* Mask to apply for matching an opcode to a handler */ - unsigned int op_match; /* Value to match after masking */ - char ea_allowed[EA_ALLOWED_LENGTH]; /* Effective addressing modes allowed */ - char cpu_mode[NUM_CPUS]; /* User or supervisor mode */ - char cpus[NUM_CPUS+1]; /* Allowed CPUs */ - unsigned int cycles[NUM_CPUS]; /* cycles for 000, 010, 020 */ -} opcode_struct; - - -/* All modifications necessary for a specific EA mode of an instruction */ -typedef struct -{ - char* fname_add; - char* ea_add; - unsigned int mask_add; - unsigned int match_add; -} ea_info_struct; - - -/* Holds the body of a function */ -typedef struct -{ - char body[MAX_BODY_LENGTH][MAX_LINE_LENGTH+1]; - int length; -} body_struct; - - -/* Holds a sequence of search / replace strings */ -typedef struct -{ - char replace[MAX_REPLACE_LENGTH][2][MAX_LINE_LENGTH+1]; - int length; -} replace_struct; - - -/* Function Prototypes */ -void error_exit(char* fmt, ...); -void perror_exit(char* fmt, ...); -int check_strsncpy(char* dst, char* src, int maxlength); -int check_atoi(char* str, int *result); -int skip_spaces(char* str); -int num_bits(int value); -int atoh(char* buff); -int fgetline(char* buff, int nchars, FILE* file); -int get_oper_cycles(opcode_struct* op, int ea_mode, int cpu_type); -opcode_struct* find_opcode(char* name, int size, char* spec_proc, char* spec_ea); -opcode_struct* find_illegal_opcode(void); -int extract_opcode_info(char* src, char* name, int* size, char* spec_proc, char* spec_ea); -void add_replace_string(replace_struct* replace, char* search_str, char* replace_str); -void write_body(FILE* filep, body_struct* body, replace_struct* replace); -void get_base_name(char* base_name, opcode_struct* op); -void write_prototype(FILE* filep, char* base_name); -void write_function_name(FILE* filep, char* base_name); -void add_opcode_output_table_entry(opcode_struct* op, char* name); -static int DECL_SPEC compare_nof_true_bits(const void* aptr, const void* bptr); -void print_opcode_output_table(FILE* filep); -void write_table_entry(FILE* filep, opcode_struct* op); -void set_opcode_struct(opcode_struct* src, opcode_struct* dst, int ea_mode); -void generate_opcode_handler(FILE* filep, body_struct* body, replace_struct* replace, opcode_struct* opinfo, int ea_mode); -void generate_opcode_ea_variants(FILE* filep, body_struct* body, replace_struct* replace, opcode_struct* op); -void generate_opcode_cc_variants(FILE* filep, body_struct* body, replace_struct* replace, opcode_struct* op_in, int offset); -void process_opcode_handlers(void); -void populate_table(void); -void read_insert(char* insert); - - - -/* ======================================================================== */ -/* ================================= DATA ================================= */ -/* ======================================================================== */ - -/* Name of the input file */ -char g_input_filename[MAX_PATH] = FILENAME_INPUT; - -/* File handles */ -FILE* g_input_file = NULL; -FILE* g_prototype_file = NULL; -FILE* g_table_file = NULL; -FILE* g_ops_ac_file = NULL; -FILE* g_ops_dm_file = NULL; -FILE* g_ops_nz_file = NULL; - -int g_num_functions = 0; /* Number of functions processed */ -int g_num_primitives = 0; /* Number of function primitives read */ -int g_line_number = 1; /* Current line number */ - -/* Opcode handler table */ -opcode_struct g_opcode_input_table[MAX_OPCODE_INPUT_TABLE_LENGTH]; - -opcode_struct g_opcode_output_table[MAX_OPCODE_OUTPUT_TABLE_LENGTH]; -int g_opcode_output_table_length = 0; - -ea_info_struct g_ea_info_table[13] = -{/* fname ea mask match */ - {"", "", 0x00, 0x00}, /* EA_MODE_NONE */ - {"ai", "AY_AI", 0x38, 0x10}, /* EA_MODE_AI */ - {"pi", "AY_PI", 0x38, 0x18}, /* EA_MODE_PI */ - {"pi7", "A7_PI", 0x3f, 0x1f}, /* EA_MODE_PI7 */ - {"pd", "AY_PD", 0x38, 0x20}, /* EA_MODE_PD */ - {"pd7", "A7_PD", 0x3f, 0x27}, /* EA_MODE_PD7 */ - {"di", "AY_DI", 0x38, 0x28}, /* EA_MODE_DI */ - {"ix", "AY_IX", 0x38, 0x30}, /* EA_MODE_IX */ - {"aw", "AW", 0x3f, 0x38}, /* EA_MODE_AW */ - {"al", "AL", 0x3f, 0x39}, /* EA_MODE_AL */ - {"pcdi", "PCDI", 0x3f, 0x3a}, /* EA_MODE_PCDI */ - {"pcix", "PCIX", 0x3f, 0x3b}, /* EA_MODE_PCIX */ - {"i", "I", 0x3f, 0x3c}, /* EA_MODE_I */ -}; - - -char* g_cc_table[16][2] = -{ - { "t", "T"}, /* 0000 */ - { "f", "F"}, /* 0001 */ - {"hi", "HI"}, /* 0010 */ - {"ls", "LS"}, /* 0011 */ - {"cc", "CC"}, /* 0100 */ - {"cs", "CS"}, /* 0101 */ - {"ne", "NE"}, /* 0110 */ - {"eq", "EQ"}, /* 0111 */ - {"vc", "VC"}, /* 1000 */ - {"vs", "VS"}, /* 1001 */ - {"pl", "PL"}, /* 1010 */ - {"mi", "MI"}, /* 1011 */ - {"ge", "GE"}, /* 1100 */ - {"lt", "LT"}, /* 1101 */ - {"gt", "GT"}, /* 1110 */ - {"le", "LE"}, /* 1111 */ -}; - -/* size to index translator (0 -> 0, 8 and 16 -> 1, 32 -> 2) */ -int g_size_select_table[33] = -{ - 0, /* unsized */ - 0, 0, 0, 0, 0, 0, 0, 1, /* 8 */ - 0, 0, 0, 0, 0, 0, 0, 1, /* 16 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 /* 32 */ -}; - -/* Extra cycles required for certain EA modes */ -int g_ea_cycle_table[13][NUM_CPUS][3] = -{/* 000 010 020 */ - {{ 0, 0, 0}, { 0, 0, 0}, { 0, 0, 0}}, /* EA_MODE_NONE */ - {{ 0, 4, 8}, { 0, 4, 8}, { 0, 4, 4}}, /* EA_MODE_AI */ - {{ 0, 4, 8}, { 0, 4, 8}, { 0, 4, 4}}, /* EA_MODE_PI */ - {{ 0, 4, 8}, { 0, 4, 8}, { 0, 4, 4}}, /* EA_MODE_PI7 */ - {{ 0, 6, 10}, { 0, 6, 10}, { 0, 5, 5}}, /* EA_MODE_PD */ - {{ 0, 6, 10}, { 0, 6, 10}, { 0, 5, 5}}, /* EA_MODE_PD7 */ - {{ 0, 8, 12}, { 0, 8, 12}, { 0, 5, 5}}, /* EA_MODE_DI */ - {{ 0, 10, 14}, { 0, 10, 14}, { 0, 7, 7}}, /* EA_MODE_IX */ - {{ 0, 8, 12}, { 0, 8, 12}, { 0, 4, 4}}, /* EA_MODE_AW */ - {{ 0, 12, 16}, { 0, 12, 16}, { 0, 4, 4}}, /* EA_MODE_AL */ - {{ 0, 8, 12}, { 0, 8, 12}, { 0, 5, 5}}, /* EA_MODE_PCDI */ - {{ 0, 10, 14}, { 0, 10, 14}, { 0, 7, 7}}, /* EA_MODE_PCIX */ - {{ 0, 4, 8}, { 0, 4, 8}, { 0, 2, 4}}, /* EA_MODE_I */ -}; - -/* Extra cycles for JMP instruction (000, 010) */ -int g_jmp_cycle_table[13] = -{ - 0, /* EA_MODE_NONE */ - 4, /* EA_MODE_AI */ - 0, /* EA_MODE_PI */ - 0, /* EA_MODE_PI7 */ - 0, /* EA_MODE_PD */ - 0, /* EA_MODE_PD7 */ - 6, /* EA_MODE_DI */ - 8, /* EA_MODE_IX */ - 6, /* EA_MODE_AW */ - 8, /* EA_MODE_AL */ - 6, /* EA_MODE_PCDI */ - 10, /* EA_MODE_PCIX */ - 0, /* EA_MODE_I */ -}; - -/* Extra cycles for JSR instruction (000, 010) */ -int g_jsr_cycle_table[13] = -{ - 0, /* EA_MODE_NONE */ - 4, /* EA_MODE_AI */ - 0, /* EA_MODE_PI */ - 0, /* EA_MODE_PI7 */ - 0, /* EA_MODE_PD */ - 0, /* EA_MODE_PD7 */ - 6, /* EA_MODE_DI */ - 10, /* EA_MODE_IX */ - 6, /* EA_MODE_AW */ - 8, /* EA_MODE_AL */ - 6, /* EA_MODE_PCDI */ - 10, /* EA_MODE_PCIX */ - 0, /* EA_MODE_I */ -}; - -/* Extra cycles for LEA instruction (000, 010) */ -int g_lea_cycle_table[13] = -{ - 0, /* EA_MODE_NONE */ - 4, /* EA_MODE_AI */ - 0, /* EA_MODE_PI */ - 0, /* EA_MODE_PI7 */ - 0, /* EA_MODE_PD */ - 0, /* EA_MODE_PD7 */ - 8, /* EA_MODE_DI */ - 12, /* EA_MODE_IX */ - 8, /* EA_MODE_AW */ - 12, /* EA_MODE_AL */ - 8, /* EA_MODE_PCDI */ - 12, /* EA_MODE_PCIX */ - 0, /* EA_MODE_I */ -}; - -/* Extra cycles for PEA instruction (000, 010) */ -int g_pea_cycle_table[13] = -{ - 0, /* EA_MODE_NONE */ - 4, /* EA_MODE_AI */ - 0, /* EA_MODE_PI */ - 0, /* EA_MODE_PI7 */ - 0, /* EA_MODE_PD */ - 0, /* EA_MODE_PD7 */ - 10, /* EA_MODE_DI */ - 14, /* EA_MODE_IX */ - 10, /* EA_MODE_AW */ - 14, /* EA_MODE_AL */ - 10, /* EA_MODE_PCDI */ - 14, /* EA_MODE_PCIX */ - 0, /* EA_MODE_I */ -}; - -/* Extra cycles for MOVES instruction (010) */ -int g_moves_cycle_table[13][3] = -{ - { 0, 0, 0}, /* EA_MODE_NONE */ - { 0, 4, 6}, /* EA_MODE_AI */ - { 0, 4, 6}, /* EA_MODE_PI */ - { 0, 4, 6}, /* EA_MODE_PI7 */ - { 0, 6, 12}, /* EA_MODE_PD */ - { 0, 6, 12}, /* EA_MODE_PD7 */ - { 0, 12, 16}, /* EA_MODE_DI */ - { 0, 16, 20}, /* EA_MODE_IX */ - { 0, 12, 16}, /* EA_MODE_AW */ - { 0, 16, 20}, /* EA_MODE_AL */ - { 0, 0, 0}, /* EA_MODE_PCDI */ - { 0, 0, 0}, /* EA_MODE_PCIX */ - { 0, 0, 0}, /* EA_MODE_I */ -}; - -/* Extra cycles for CLR instruction (010) */ -int g_clr_cycle_table[13][3] = -{ - { 0, 0, 0}, /* EA_MODE_NONE */ - { 0, 4, 6}, /* EA_MODE_AI */ - { 0, 4, 6}, /* EA_MODE_PI */ - { 0, 4, 6}, /* EA_MODE_PI7 */ - { 0, 6, 8}, /* EA_MODE_PD */ - { 0, 6, 8}, /* EA_MODE_PD7 */ - { 0, 8, 10}, /* EA_MODE_DI */ - { 0, 10, 14}, /* EA_MODE_IX */ - { 0, 8, 10}, /* EA_MODE_AW */ - { 0, 10, 14}, /* EA_MODE_AL */ - { 0, 0, 0}, /* EA_MODE_PCDI */ - { 0, 0, 0}, /* EA_MODE_PCIX */ - { 0, 0, 0}, /* EA_MODE_I */ -}; - - - -/* ======================================================================== */ -/* =========================== UTILITY FUNCTIONS ========================== */ -/* ======================================================================== */ - -/* Print an error message and exit with status error */ -void error_exit(char* fmt, ...) -{ - va_list args; - fprintf(stderr, "In %s, near or on line %d:\n\t", g_input_filename, g_line_number); - va_start(args, fmt); - vfprintf(stderr, fmt, args); - va_end(args); - fprintf(stderr, "\n"); - - if(g_prototype_file) fclose(g_prototype_file); - if(g_table_file) fclose(g_table_file); - if(g_ops_ac_file) fclose(g_ops_ac_file); - if(g_ops_dm_file) fclose(g_ops_dm_file); - if(g_ops_nz_file) fclose(g_ops_nz_file); - if(g_input_file) fclose(g_input_file); - - exit(EXIT_FAILURE); -} - -/* Print an error message, call perror(), and exit with status error */ -void perror_exit(char* fmt, ...) -{ - va_list args; - va_start(args, fmt); - vfprintf(stderr, fmt, args); - va_end(args); - perror(""); - - if(g_prototype_file) fclose(g_prototype_file); - if(g_table_file) fclose(g_table_file); - if(g_ops_ac_file) fclose(g_ops_ac_file); - if(g_ops_dm_file) fclose(g_ops_dm_file); - if(g_ops_nz_file) fclose(g_ops_nz_file); - if(g_input_file) fclose(g_input_file); - - exit(EXIT_FAILURE); -} - - -/* copy until 0 or space and exit with error if we read too far */ -int check_strsncpy(char* dst, char* src, int maxlength) -{ - char* p = dst; - while(*src && *src != ' ') - { - *p++ = *src++; - if(p - dst > maxlength) - error_exit("Field too long"); - } - *p = 0; - return p - dst; -} - -/* copy until 0 or specified character and exit with error if we read too far */ -int check_strcncpy(char* dst, char* src, char delim, int maxlength) -{ - char* p = dst; - while(*src && *src != delim) - { - *p++ = *src++; - if(p - dst > maxlength) - error_exit("Field too long"); - } - *p = 0; - return p - dst; -} - -/* convert ascii to integer and exit with error if we find invalid data */ -int check_atoi(char* str, int *result) -{ - int accum = 0; - char* p = str; - while(*p >= '0' && *p <= '9') - { - accum *= 10; - accum += *p++ - '0'; - } - if(*p != ' ' && *p != 0) - error_exit("Malformed integer value (%c)", *p); - *result = accum; - return p - str; -} - -/* Skip past spaces in a string */ -int skip_spaces(char* str) -{ - char* p = str; - - while(*p == ' ') - p++; - - return p - str; -} - -/* Count the number of set bits in a value */ -int num_bits(int value) -{ - value = ((value & 0xaaaa) >> 1) + (value & 0x5555); - value = ((value & 0xcccc) >> 2) + (value & 0x3333); - value = ((value & 0xf0f0) >> 4) + (value & 0x0f0f); - value = ((value & 0xff00) >> 8) + (value & 0x00ff); - return value; -} - -/* Convert a hex value written in ASCII */ -int atoh(char* buff) -{ - int accum = 0; - - for(;;buff++) - { - if(*buff >= '0' && *buff <= '9') - { - accum <<= 4; - accum += *buff - '0'; - } - else if(*buff >= 'a' && *buff <= 'f') - { - accum <<= 4; - accum += *buff - 'a' + 10; - } - else break; - } - return accum; -} - -/* Get a line of text from a file, discarding any end-of-line characters */ -int fgetline(char* buff, int nchars, FILE* file) -{ - int length; - - if(fgets(buff, nchars, file) == NULL) - return -1; - if(buff[0] == '\r') - memcpy(buff, buff + 1, nchars - 1); - - length = strlen(buff); - while(length && (buff[length-1] == '\r' || buff[length-1] == '\n')) - length--; - buff[length] = 0; - g_line_number++; - - return length; -} - - - -/* ======================================================================== */ -/* =========================== HELPER FUNCTIONS =========================== */ -/* ======================================================================== */ - -/* Calculate the number of cycles an opcode requires */ -int get_oper_cycles(opcode_struct* op, int ea_mode, int cpu_type) -{ - int size = g_size_select_table[op->size]; - - if(op->cpus[cpu_type] == '.') - return 0; - - if(cpu_type < CPU_TYPE_020) - { - if(cpu_type == CPU_TYPE_010) - { - if(strcmp(op->name, "moves") == 0) - return op->cycles[cpu_type] + g_moves_cycle_table[ea_mode][size]; - if(strcmp(op->name, "clr") == 0) - return op->cycles[cpu_type] + g_clr_cycle_table[ea_mode][size]; - } - - /* ASG: added these cases -- immediate modes take 2 extra cycles here */ - if(cpu_type == CPU_TYPE_000 && ea_mode == EA_MODE_I && - ((strcmp(op->name, "add") == 0 && strcmp(op->spec_proc, "er") == 0) || - strcmp(op->name, "adda") == 0 || - (strcmp(op->name, "and") == 0 && strcmp(op->spec_proc, "er") == 0) || - (strcmp(op->name, "or") == 0 && strcmp(op->spec_proc, "er") == 0) || - (strcmp(op->name, "sub") == 0 && strcmp(op->spec_proc, "er") == 0) || - strcmp(op->name, "suba") == 0)) - return op->cycles[cpu_type] + g_ea_cycle_table[ea_mode][cpu_type][size] + 2; - - if(strcmp(op->name, "jmp") == 0) - return op->cycles[cpu_type] + g_jmp_cycle_table[ea_mode]; - if(strcmp(op->name, "jsr") == 0) - return op->cycles[cpu_type] + g_jsr_cycle_table[ea_mode]; - if(strcmp(op->name, "lea") == 0) - return op->cycles[cpu_type] + g_lea_cycle_table[ea_mode]; - if(strcmp(op->name, "pea") == 0) - return op->cycles[cpu_type] + g_pea_cycle_table[ea_mode]; - } - return op->cycles[cpu_type] + g_ea_cycle_table[ea_mode][cpu_type][size]; -} - -/* Find an opcode in the opcode handler list */ -opcode_struct* find_opcode(char* name, int size, char* spec_proc, char* spec_ea) -{ - opcode_struct* op; - - - for(op = g_opcode_input_table;op->name != NULL;op++) - { - if( strcmp(name, op->name) == 0 && - (size == (int)op->size) && - strcmp(spec_proc, op->spec_proc) == 0 && - strcmp(spec_ea, op->spec_ea) == 0) - return op; - } - return NULL; -} - -/* Specifically find the illegal opcode in the list */ -opcode_struct* find_illegal_opcode(void) -{ - opcode_struct* op; - - for(op = g_opcode_input_table;op->name != NULL;op++) - { - if(strcmp(op->name, "illegal") == 0) - return op; - } - return NULL; -} - -/* Parse an opcode handler name */ -int extract_opcode_info(char* src, char* name, int* size, char* spec_proc, char* spec_ea) -{ - char* ptr = strstr(src, ID_OPHANDLER_NAME); - - if(ptr == NULL) - return 0; - - ptr += strlen(ID_OPHANDLER_NAME) + 1; - - ptr += check_strcncpy(name, ptr, ',', MAX_NAME_LENGTH); - if(*ptr != ',') return 0; - ptr++; - ptr += skip_spaces(ptr); - - *size = atoi(ptr); - ptr = strstr(ptr, ","); - if(ptr == NULL) return 0; - ptr++; - ptr += skip_spaces(ptr); - - ptr += check_strcncpy(spec_proc, ptr, ',', MAX_SPEC_PROC_LENGTH); - if(*ptr != ',') return 0; - ptr++; - ptr += skip_spaces(ptr); - - ptr += check_strcncpy(spec_ea, ptr, ')', MAX_SPEC_EA_LENGTH); - if(*ptr != ')') return 0; - - return 1; -} - - -/* Add a search/replace pair to a replace structure */ -void add_replace_string(replace_struct* replace, char* search_str, char* replace_str) -{ - if(replace->length >= MAX_REPLACE_LENGTH) - error_exit("overflow in replace structure"); - - strcpy(replace->replace[replace->length][0], search_str); - strcpy(replace->replace[replace->length++][1], replace_str); -} - -/* Write a function body while replacing any selected strings */ -void write_body(FILE* filep, body_struct* body, replace_struct* replace) -{ - int i; - int j; - char* ptr; - char output[MAX_LINE_LENGTH+1]; - char temp_buff[MAX_LINE_LENGTH+1]; - int found; - - for(i=0;ilength;i++) - { - strcpy(output, body->body[i]); - /* Check for the base directive header */ - if(strstr(output, ID_BASE) != NULL) - { - /* Search for any text we need to replace */ - found = 0; - for(j=0;jlength;j++) - { - ptr = strstr(output, replace->replace[j][0]); - if(ptr) - { - /* We found something to replace */ - found = 1; - strcpy(temp_buff, ptr+strlen(replace->replace[j][0])); - strcpy(ptr, replace->replace[j][1]); - strcat(ptr, temp_buff); - } - } - /* Found a directive with no matching replace string */ - if(!found) - error_exit("Unknown " ID_BASE " directive"); - } - fprintf(filep, "%s\n", output); - } - fprintf(filep, "\n\n"); -} - -/* Generate a base function name from an opcode struct */ -void get_base_name(char* base_name, opcode_struct* op) -{ - sprintf(base_name, "m68k_op_%s", op->name); - if(op->size > 0) - sprintf(base_name+strlen(base_name), "_%d", op->size); - if(strcmp(op->spec_proc, UNSPECIFIED) != 0) - sprintf(base_name+strlen(base_name), "_%s", op->spec_proc); - if(strcmp(op->spec_ea, UNSPECIFIED) != 0) - sprintf(base_name+strlen(base_name), "_%s", op->spec_ea); -} - -/* Write the prototype of an opcode handler function */ -void write_prototype(FILE* filep, char* base_name) -{ - fprintf(filep, "void %s(void);\n", base_name); -} - -/* Write the name of an opcode handler function */ -void write_function_name(FILE* filep, char* base_name) -{ - fprintf(filep, "void %s(void)\n", base_name); -} - -void add_opcode_output_table_entry(opcode_struct* op, char* name) -{ - opcode_struct* ptr; - if(g_opcode_output_table_length > MAX_OPCODE_OUTPUT_TABLE_LENGTH) - error_exit("Opcode output table overflow"); - - ptr = g_opcode_output_table + g_opcode_output_table_length++; - - *ptr = *op; - strcpy(ptr->name, name); - ptr->bits = num_bits(ptr->op_mask); -} - -/* - * Comparison function for qsort() - * For entries with an equal number of set bits in - * the mask compare the match values - */ -static int DECL_SPEC compare_nof_true_bits(const void* aptr, const void* bptr) -{ - const opcode_struct *a = aptr, *b = bptr; - if(a->bits != b->bits) - return a->bits - b->bits; - if(a->op_mask != b->op_mask) - return a->op_mask - b->op_mask; - return a->op_match - b->op_match; -} - -void print_opcode_output_table(FILE* filep) -{ - int i; - qsort((void *)g_opcode_output_table, g_opcode_output_table_length, sizeof(g_opcode_output_table[0]), compare_nof_true_bits); - - for(i=0;iname, op->op_mask, op->op_match); - - for(i=0;icycles[i]); - if(i < NUM_CPUS-1) - fprintf(filep, ", "); - } - - fprintf(filep, "}},\n"); -} - -/* Fill out an opcode struct with a specific addressing mode of the source opcode struct */ -void set_opcode_struct(opcode_struct* src, opcode_struct* dst, int ea_mode) -{ - int i; - - *dst = *src; - - for(i=0;icycles[i] = get_oper_cycles(dst, ea_mode, i); - if(strcmp(dst->spec_ea, UNSPECIFIED) == 0 && ea_mode != EA_MODE_NONE) - sprintf(dst->spec_ea, "%s", g_ea_info_table[ea_mode].fname_add); - dst->op_mask |= g_ea_info_table[ea_mode].mask_add; - dst->op_match |= g_ea_info_table[ea_mode].match_add; -} - - -/* Generate a final opcode handler from the provided data */ -void generate_opcode_handler(FILE* filep, body_struct* body, replace_struct* replace, opcode_struct* opinfo, int ea_mode) -{ - char str[MAX_LINE_LENGTH+1]; - opcode_struct* op = malloc(sizeof(opcode_struct)); - - /* Set the opcode structure and write the tables, prototypes, etc */ - set_opcode_struct(opinfo, op, ea_mode); - get_base_name(str, op); - write_prototype(g_prototype_file, str); - add_opcode_output_table_entry(op, str); - write_function_name(filep, str); - - /* Add any replace strings needed */ - if(ea_mode != EA_MODE_NONE) - { - sprintf(str, "EA_%s_8()", g_ea_info_table[ea_mode].ea_add); - add_replace_string(replace, ID_OPHANDLER_EA_AY_8, str); - sprintf(str, "EA_%s_16()", g_ea_info_table[ea_mode].ea_add); - add_replace_string(replace, ID_OPHANDLER_EA_AY_16, str); - sprintf(str, "EA_%s_32()", g_ea_info_table[ea_mode].ea_add); - add_replace_string(replace, ID_OPHANDLER_EA_AY_32, str); - sprintf(str, "OPER_%s_8()", g_ea_info_table[ea_mode].ea_add); - add_replace_string(replace, ID_OPHANDLER_OPER_AY_8, str); - sprintf(str, "OPER_%s_16()", g_ea_info_table[ea_mode].ea_add); - add_replace_string(replace, ID_OPHANDLER_OPER_AY_16, str); - sprintf(str, "OPER_%s_32()", g_ea_info_table[ea_mode].ea_add); - add_replace_string(replace, ID_OPHANDLER_OPER_AY_32, str); - } - - /* Now write the function body with the selected replace strings */ - write_body(filep, body, replace); - g_num_functions++; - free(op); -} - -/* Generate opcode variants based on available addressing modes */ -void generate_opcode_ea_variants(FILE* filep, body_struct* body, replace_struct* replace, opcode_struct* op) -{ - int old_length = replace->length; - - /* No ea modes available for this opcode */ - if(HAS_NO_EA_MODE(op->ea_allowed)) - { - generate_opcode_handler(filep, body, replace, op, EA_MODE_NONE); - return; - } - - /* Check for and create specific opcodes for each available addressing mode */ - if(HAS_EA_AI(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_AI); - replace->length = old_length; - if(HAS_EA_PI(op->ea_allowed)) - { - generate_opcode_handler(filep, body, replace, op, EA_MODE_PI); - replace->length = old_length; - if(op->size == 8) - generate_opcode_handler(filep, body, replace, op, EA_MODE_PI7); - } - replace->length = old_length; - if(HAS_EA_PD(op->ea_allowed)) - { - generate_opcode_handler(filep, body, replace, op, EA_MODE_PD); - replace->length = old_length; - if(op->size == 8) - generate_opcode_handler(filep, body, replace, op, EA_MODE_PD7); - } - replace->length = old_length; - if(HAS_EA_DI(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_DI); - replace->length = old_length; - if(HAS_EA_IX(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_IX); - replace->length = old_length; - if(HAS_EA_AW(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_AW); - replace->length = old_length; - if(HAS_EA_AL(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_AL); - replace->length = old_length; - if(HAS_EA_PCDI(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_PCDI); - replace->length = old_length; - if(HAS_EA_PCIX(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_PCIX); - replace->length = old_length; - if(HAS_EA_I(op->ea_allowed)) - generate_opcode_handler(filep, body, replace, op, EA_MODE_I); - replace->length = old_length; -} - -/* Generate variants of condition code opcodes */ -void generate_opcode_cc_variants(FILE* filep, body_struct* body, replace_struct* replace, opcode_struct* op_in, int offset) -{ - char repl[20]; - char replnot[20]; - int i; - int old_length = replace->length; - opcode_struct* op = malloc(sizeof(opcode_struct)); - - *op = *op_in; - - op->op_mask |= 0x0f00; - - /* Do all condition codes except t and f */ - for(i=2;i<16;i++) - { - /* Add replace strings for this condition code */ - sprintf(repl, "COND_%s()", g_cc_table[i][1]); - sprintf(replnot, "COND_NOT_%s()", g_cc_table[i][1]); - - add_replace_string(replace, ID_OPHANDLER_CC, repl); - add_replace_string(replace, ID_OPHANDLER_NOT_CC, replnot); - - /* Set the new opcode info */ - strcpy(op->name+offset, g_cc_table[i][0]); - - op->op_match = (op->op_match & 0xf0ff) | (i<<8); - - /* Generate all opcode variants for this modified opcode */ - generate_opcode_ea_variants(filep, body, replace, op); - /* Remove the above replace strings */ - replace->length = old_length; - } - free(op); -} - -/* Process the opcode handlers section of the input file */ -void process_opcode_handlers(void) -{ - FILE* input_file = g_input_file; - FILE* output_file; - char func_name[MAX_LINE_LENGTH+1]; - char oper_name[MAX_LINE_LENGTH+1]; - int oper_size; - char oper_spec_proc[MAX_LINE_LENGTH+1]; - char oper_spec_ea[MAX_LINE_LENGTH+1]; - opcode_struct* opinfo; - replace_struct* replace = malloc(sizeof(replace_struct)); - body_struct* body = malloc(sizeof(body_struct)); - - - output_file = g_ops_ac_file; - - for(;;) - { - /* Find the first line of the function */ - func_name[0] = 0; - while(strstr(func_name, ID_OPHANDLER_NAME) == NULL) - { - if(strcmp(func_name, ID_INPUT_SEPARATOR) == 0) - { - free(replace); - free(body); - return; /* all done */ - } - if(fgetline(func_name, MAX_LINE_LENGTH, input_file) < 0) - error_exit("Premature end of file when getting function name"); - } - /* Get the rest of the function */ - for(body->length=0;;body->length++) - { - if(body->length > MAX_BODY_LENGTH) - error_exit("Function too long"); - - if(fgetline(body->body[body->length], MAX_LINE_LENGTH, input_file) < 0) - error_exit("Premature end of file when getting function body"); - - if(body->body[body->length][0] == '}') - { - body->length++; - break; - } - } - - g_num_primitives++; - - /* Extract the function name information */ - if(!extract_opcode_info(func_name, oper_name, &oper_size, oper_spec_proc, oper_spec_ea)) - error_exit("Invalid " ID_OPHANDLER_NAME " format"); - - /* Find the corresponding table entry */ - opinfo = find_opcode(oper_name, oper_size, oper_spec_proc, oper_spec_ea); - if(opinfo == NULL) - error_exit("Unable to find matching table entry for %s", func_name); - - /* Change output files if we pass 'c' or 'n' */ - if(output_file == g_ops_ac_file && oper_name[0] > 'c') - output_file = g_ops_dm_file; - else if(output_file == g_ops_dm_file && oper_name[0] > 'm') - output_file = g_ops_nz_file; - - replace->length = 0; - - /* Generate opcode variants */ - if(strcmp(opinfo->name, "bcc") == 0 || strcmp(opinfo->name, "scc") == 0) - generate_opcode_cc_variants(output_file, body, replace, opinfo, 1); - else if(strcmp(opinfo->name, "dbcc") == 0) - generate_opcode_cc_variants(output_file, body, replace, opinfo, 2); - else if(strcmp(opinfo->name, "trapcc") == 0) - generate_opcode_cc_variants(output_file, body, replace, opinfo, 4); - else - generate_opcode_ea_variants(output_file, body, replace, opinfo); - } -} - - -/* Populate the opcode handler table from the input file */ -void populate_table(void) -{ - char* ptr; - char bitpattern[17]; - opcode_struct* op; - char buff[MAX_LINE_LENGTH]; - int i; - int temp; - - buff[0] = 0; - - /* Find the start of the table */ - while(strcmp(buff, ID_TABLE_START) != 0) - if(fgetline(buff, MAX_LINE_LENGTH, g_input_file) < 0) - error_exit("Premature EOF while reading table"); - - /* Process the entire table */ - for(op = g_opcode_input_table;;op++) - { - if(fgetline(buff, MAX_LINE_LENGTH, g_input_file) < 0) - error_exit("Premature EOF while reading table"); - if(strlen(buff) == 0) - continue; - /* We finish when we find an input separator */ - if(strcmp(buff, ID_INPUT_SEPARATOR) == 0) - break; - - /* Extract the info from the table */ - ptr = buff; - - /* Name */ - ptr += skip_spaces(ptr); - ptr += check_strsncpy(op->name, ptr, MAX_NAME_LENGTH); - - /* Size */ - ptr += skip_spaces(ptr); - ptr += check_atoi(ptr, &temp); - op->size = (unsigned char)temp; - - /* Special processing */ - ptr += skip_spaces(ptr); - ptr += check_strsncpy(op->spec_proc, ptr, MAX_SPEC_PROC_LENGTH); - - /* Specified EA Mode */ - ptr += skip_spaces(ptr); - ptr += check_strsncpy(op->spec_ea, ptr, MAX_SPEC_EA_LENGTH); - - /* Bit Pattern (more processing later) */ - ptr += skip_spaces(ptr); - ptr += check_strsncpy(bitpattern, ptr, 17); - - /* Allowed Addressing Mode List */ - ptr += skip_spaces(ptr); - ptr += check_strsncpy(op->ea_allowed, ptr, EA_ALLOWED_LENGTH); - - /* CPU operating mode (U = user or supervisor, S = supervisor only */ - ptr += skip_spaces(ptr); - for(i=0;icpu_mode[i] = *ptr++; - ptr += skip_spaces(ptr); - } - - /* Allowed CPUs for this instruction */ - for(i=0;icpus[i] = UNSPECIFIED_CH; - op->cycles[i] = 0; - ptr++; - } - else - { - op->cpus[i] = (char)('0' + i); - ptr += check_atoi(ptr, &temp); - op->cycles[i] = (unsigned char)temp; - } - } - - /* generate mask and match from bitpattern */ - op->op_mask = 0; - op->op_match = 0; - for(i=0;i<16;i++) - { - op->op_mask |= (bitpattern[i] != '.') << (15-i); - op->op_match |= (bitpattern[i] == '1') << (15-i); - } - } - /* Terminate the list */ - op->name[0] = 0; -} - -/* Read a header or footer insert from the input file */ -void read_insert(char* insert) -{ - char* ptr = insert; - char* overflow = insert + MAX_INSERT_LENGTH - MAX_LINE_LENGTH; - int length; - char* first_blank = NULL; - - /* Skip any leading blank lines */ - for(length = 0;length == 0;length = fgetline(ptr, MAX_LINE_LENGTH, g_input_file)) - if(ptr >= overflow) - error_exit("Buffer overflow reading inserts"); - if(length < 0) - error_exit("Premature EOF while reading inserts"); - - /* Advance and append newline */ - ptr += length; - strcpy(ptr++, "\n"); - - /* Read until next separator */ - for(;;) - { - /* Read a new line */ - if(ptr >= overflow) - error_exit("Buffer overflow reading inserts"); - if((length = fgetline(ptr, MAX_LINE_LENGTH, g_input_file)) < 0) - error_exit("Premature EOF while reading inserts"); - - /* Stop if we read a separator */ - if(strcmp(ptr, ID_INPUT_SEPARATOR) == 0) - break; - - /* keep track in case there are trailing blanks */ - if(length == 0) - { - if(first_blank == NULL) - first_blank = ptr; - } - else - first_blank = NULL; - - /* Advance and append newline */ - ptr += length; - strcpy(ptr++, "\n"); - } - - /* kill any trailing blank lines */ - if(first_blank) - ptr = first_blank; - *ptr = 0; -} - - - -/* ======================================================================== */ -/* ============================= MAIN FUNCTION ============================ */ -/* ======================================================================== */ - -int main(int argc, char **argv) -{ - /* File stuff */ - char output_path[MAX_DIR] = ""; - char filename[MAX_PATH]; - /* Section identifier */ - char section_id[MAX_LINE_LENGTH+1]; - /* Inserts */ - char temp_insert[MAX_INSERT_LENGTH+1]; - char prototype_footer_insert[MAX_INSERT_LENGTH+1]; - char table_footer_insert[MAX_INSERT_LENGTH+1]; - char ophandler_footer_insert[MAX_INSERT_LENGTH+1]; - /* Flags if we've processed certain parts already */ - int prototype_header_read = 0; - int prototype_footer_read = 0; - int table_header_read = 0; - int table_footer_read = 0; - int ophandler_header_read = 0; - int ophandler_footer_read = 0; - int table_body_read = 0; - int ophandler_body_read = 0; - - printf("\n\t\tMusashi v%s 68000, 68010, 68EC020, 68020 emulator\n", g_version); - printf("\t\tCopyright 1998-2000 Karl Stenerud (karl@mame.net)\n\n"); - - /* Check if output path and source for the input file are given */ - if(argc > 1) - { - char *ptr; - strcpy(output_path, argv[1]); - - for(ptr = strchr(output_path, '\\'); ptr; ptr = strchr(ptr, '\\')) - *ptr = '/'; - if(output_path[strlen(output_path)-1] != '/') - strcat(output_path, "/"); - if(argc > 2) - strcpy(g_input_filename, argv[2]); - } - - - /* Open the files we need */ - sprintf(filename, "%s%s", output_path, FILENAME_PROTOTYPE); - if((g_prototype_file = fopen(filename, "wt")) == NULL) - perror_exit("Unable to create prototype file (%s)\n", filename); - - sprintf(filename, "%s%s", output_path, FILENAME_TABLE); - if((g_table_file = fopen(filename, "wt")) == NULL) - perror_exit("Unable to create table file (%s)\n", filename); - - sprintf(filename, "%s%s", output_path, FILENAME_OPS_AC); - if((g_ops_ac_file = fopen(filename, "wt")) == NULL) - perror_exit("Unable to create ops ac file (%s)\n", filename); - - sprintf(filename, "%s%s", output_path, FILENAME_OPS_DM); - if((g_ops_dm_file = fopen(filename, "wt")) == NULL) - perror_exit("Unable to create ops dm file (%s)\n", filename); - - sprintf(filename, "%s%s", output_path, FILENAME_OPS_NZ); - if((g_ops_nz_file = fopen(filename, "wt")) == NULL) - perror_exit("Unable to create ops nz file (%s)\n", filename); - - if((g_input_file=fopen(g_input_filename, "rt")) == NULL) - perror_exit("can't open %s for input", g_input_filename); - - - /* Get to the first section of the input file */ - section_id[0] = 0; - while(strcmp(section_id, ID_INPUT_SEPARATOR) != 0) - if(fgetline(section_id, MAX_LINE_LENGTH, g_input_file) < 0) - error_exit("Premature EOF while reading input file"); - - /* Now process all sections */ - for(;;) - { - if(fgetline(section_id, MAX_LINE_LENGTH, g_input_file) < 0) - error_exit("Premature EOF while reading input file"); - if(strcmp(section_id, ID_PROTOTYPE_HEADER) == 0) - { - if(prototype_header_read) - error_exit("Duplicate prototype header"); - read_insert(temp_insert); - fprintf(g_prototype_file, "%s\n\n", temp_insert); - prototype_header_read = 1; - } - else if(strcmp(section_id, ID_TABLE_HEADER) == 0) - { - if(table_header_read) - error_exit("Duplicate table header"); - read_insert(temp_insert); - fprintf(g_table_file, "%s", temp_insert); - table_header_read = 1; - } - else if(strcmp(section_id, ID_OPHANDLER_HEADER) == 0) - { - if(ophandler_header_read) - error_exit("Duplicate opcode handler header"); - read_insert(temp_insert); - fprintf(g_ops_ac_file, "%s\n\n", temp_insert); - fprintf(g_ops_dm_file, "%s\n\n", temp_insert); - fprintf(g_ops_nz_file, "%s\n\n", temp_insert); - ophandler_header_read = 1; - } - else if(strcmp(section_id, ID_PROTOTYPE_FOOTER) == 0) - { - if(prototype_footer_read) - error_exit("Duplicate prototype footer"); - read_insert(prototype_footer_insert); - prototype_footer_read = 1; - } - else if(strcmp(section_id, ID_TABLE_FOOTER) == 0) - { - if(table_footer_read) - error_exit("Duplicate table footer"); - read_insert(table_footer_insert); - table_footer_read = 1; - } - else if(strcmp(section_id, ID_OPHANDLER_FOOTER) == 0) - { - if(ophandler_footer_read) - error_exit("Duplicate opcode handler footer"); - read_insert(ophandler_footer_insert); - ophandler_footer_read = 1; - } - else if(strcmp(section_id, ID_TABLE_BODY) == 0) - { - if(!prototype_header_read) - error_exit("Table body encountered before prototype header"); - if(!table_header_read) - error_exit("Table body encountered before table header"); - if(!ophandler_header_read) - error_exit("Table body encountered before opcode handler header"); - - if(table_body_read) - error_exit("Duplicate table body"); - - populate_table(); - table_body_read = 1; - } - else if(strcmp(section_id, ID_OPHANDLER_BODY) == 0) - { - if(!prototype_header_read) - error_exit("Opcode handlers encountered before prototype header"); - if(!table_header_read) - error_exit("Opcode handlers encountered before table header"); - if(!ophandler_header_read) - error_exit("Opcode handlers encountered before opcode handler header"); - if(!table_body_read) - error_exit("Opcode handlers encountered before table body"); - - if(ophandler_body_read) - error_exit("Duplicate opcode handler section"); - - process_opcode_handlers(); - - ophandler_body_read = 1; - } - else if(strcmp(section_id, ID_END) == 0) - { - /* End of input file. Do a sanity check and then write footers */ - if(!prototype_header_read) - error_exit("Missing prototype header"); - if(!prototype_footer_read) - error_exit("Missing prototype footer"); - if(!table_header_read) - error_exit("Missing table header"); - if(!table_footer_read) - error_exit("Missing table footer"); - if(!table_body_read) - error_exit("Missing table body"); - if(!ophandler_header_read) - error_exit("Missing opcode handler header"); - if(!ophandler_footer_read) - error_exit("Missing opcode handler footer"); - if(!ophandler_body_read) - error_exit("Missing opcode handler body"); - - print_opcode_output_table(g_table_file); - - fprintf(g_prototype_file, "%s\n\n", prototype_footer_insert); - fprintf(g_table_file, "%s\n\n", table_footer_insert); - fprintf(g_ops_ac_file, "%s\n\n", ophandler_footer_insert); - fprintf(g_ops_dm_file, "%s\n\n", ophandler_footer_insert); - fprintf(g_ops_nz_file, "%s\n\n", ophandler_footer_insert); - - break; - } - else - { - error_exit("Unknown section identifier: %s", section_id); - } - } - - /* Close all files and exit */ - fclose(g_prototype_file); - fclose(g_table_file); - fclose(g_ops_ac_file); - fclose(g_ops_dm_file); - fclose(g_ops_nz_file); - fclose(g_input_file); - - printf("Generated %d opcode handlers from %d primitives\n", g_num_functions, g_num_primitives); - - return 0; -} - - - -/* ======================================================================== */ -/* ============================== END OF FILE ============================= */ -/* ======================================================================== */ diff --git a/src/op.cpp b/src/op.cpp index f9264c5..e951d5f 100644 --- a/src/op.cpp +++ b/src/op.cpp @@ -20,7 +20,7 @@ #include "gpu.h" #include "jaguar.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" #include "memory.h" #include "tom.h" diff --git a/src/tom.cpp b/src/tom.cpp index 97d993e..88223c2 100644 --- a/src/tom.cpp +++ b/src/tom.cpp @@ -263,7 +263,7 @@ #include "gpu.h" #include "jaguar.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" //#include "memory.h" #include "op.h" #include "settings.h" diff --git a/src/unzip.c b/src/unzip.c deleted file mode 100644 index e28e7d4..0000000 --- a/src/unzip.c +++ /dev/null @@ -1,753 +0,0 @@ -// -// ZIP file support (mostly ripped from MAME--thx MAME team!) -// Mostly this is here to simplify interfacing to zlib... -// -// Added by James Hammons -// (C) 2010 Underground Software -// -// JLH = James Hammons -// -// Who When What -// --- ---------- ------------------------------------------------------------- -// JLH 01/16/2010 Created this log ;-) -// JLH 02/28/2010 Removed unnecessary cruft -// - -#include "unzip.h" - -#include -#include -#include -#include -#include -#include "log.h" - -/* public globals */ -int gUnzipQuiet = 0; /* flag controls error messages */ - - -#define ERROR_CORRUPT "The zipfile seems to be corrupt, please check it" -#define ERROR_FILESYSTEM "Your filesystem seems to be corrupt, please check it" -#define ERROR_UNSUPPORTED "The format of this zipfile is not supported, please recompress it" - -#define INFLATE_INPUT_BUFFER_MAX 16384 -#ifndef MIN -#define MIN(x,y) ((x)<(y)?(x):(y)) -#endif - -/* Print a error message */ -void errormsg(const char * extmsg, const char * usermsg, const char * zipname) -{ - /* Output to the user with no internal detail */ - if (!gUnzipQuiet) - printf("Error in zipfile %s\n%s\n", zipname, usermsg); - /* Output to log file with all informations */ -// WriteLog("Error in zipfile %s: %s\n", zipname, extmsg); -} - -/* ------------------------------------------------------------------------- - Unzip support - ------------------------------------------------------------------------- */ - -/* Use these to avoid structure padding and byte-ordering problems */ -static uint16_t read_word(char * buf) -{ - unsigned char * ubuf = (unsigned char *)buf; - - return ((uint16_t)ubuf[1] << 8) | (uint16_t)ubuf[0]; -} - -/* Use these to avoid structure padding and byte-ordering problems */ -static uint32_t read_dword(char * buf) -{ - unsigned char * ubuf = (unsigned char *)buf; - - return ((uint32_t)ubuf[3] << 24) | ((uint32_t)ubuf[2] << 16) | ((uint32_t)ubuf[1] << 8) | (uint32_t)ubuf[0]; -} - -/* Locate end-of-central-dir sig in buffer and return offset - out: - *offset offset of cent dir start in buffer - return: - ==0 not found - !=0 found, *offset valid -*/ -static int ecd_find_sig(char * buffer, int buflen, int * offset) -{ - static char ecdsig[] = { 'P', 'K', 0x05, 0x06 }; - int i; - - for(i=buflen-22; i>=0; i--) - { - if (memcmp(buffer+i, ecdsig, 4) == 0) - { - *offset = i; - return 1; - } - } - - return 0; -} - -/* Read ecd data in zip structure - in: - zip->fp, zip->length zip file - out: - zip->ecd, zip->ecd_length ecd data -*/ -static int ecd_read(ZIP * zip) -{ - char * buf; - int buf_length = 1024; /* initial buffer length */ - - while (1) - { - int offset; - - if (buf_length > zip->length) - buf_length = zip->length; - - if (fseek(zip->fp, zip->length - buf_length, SEEK_SET) != 0) - { - return -1; - } - - /* allocate buffer */ - buf = (char *)malloc(buf_length); - - if (!buf) - { - return -1; - } - - if (fread(buf, 1, buf_length, zip->fp) != (unsigned int)buf_length) - { - free(buf); - return -1; - } - - if (ecd_find_sig(buf, buf_length, &offset)) - { - zip->ecd_length = buf_length - offset; - - zip->ecd = (char *)malloc(zip->ecd_length); - - if (!zip->ecd) - { - free(buf); - return -1; - } - - memcpy(zip->ecd, buf + offset, zip->ecd_length); - free(buf); - return 0; - } - - free(buf); - - if (buf_length < zip->length) - { - /* double buffer */ - buf_length = 2 * buf_length; - WriteLog("Retry reading of zip ecd for %d bytes\n",buf_length); - - } - else - return -1; - } -} - -/* offsets in end of central directory structure */ -#define ZIPESIG 0x00 -#define ZIPEDSK 0x04 -#define ZIPECEN 0x06 -#define ZIPENUM 0x08 -#define ZIPECENN 0x0a -#define ZIPECSZ 0x0c -#define ZIPEOFST 0x10 -#define ZIPECOML 0x14 -#define ZIPECOM 0x16 - -/* offsets in central directory entry structure */ -#define ZIPCENSIG 0x0 -#define ZIPCVER 0x4 -#define ZIPCOS 0x5 -#define ZIPCVXT 0x6 -#define ZIPCEXOS 0x7 -#define ZIPCFLG 0x8 -#define ZIPCMTHD 0xa -#define ZIPCTIM 0xc -#define ZIPCDAT 0xe -#define ZIPCCRC 0x10 -#define ZIPCSIZ 0x14 -#define ZIPCUNC 0x18 -#define ZIPCFNL 0x1c -#define ZIPCXTL 0x1e -#define ZIPCCML 0x20 -#define ZIPDSK 0x22 -#define ZIPINT 0x24 -#define ZIPEXT 0x26 -#define ZIPOFST 0x2a -#define ZIPCFN 0x2e - -/* offsets in local file header structure */ -#define ZIPLOCSIG 0x00 -#define ZIPVER 0x04 -#define ZIPGENFLG 0x06 -#define ZIPMTHD 0x08 -#define ZIPTIME 0x0a -#define ZIPDATE 0x0c -#define ZIPCRC 0x0e -#define ZIPSIZE 0x12 -#define ZIPUNCMP 0x16 -#define ZIPFNLN 0x1a -#define ZIPXTRALN 0x1c -#define ZIPNAME 0x1e - -// -// Opens a zip stream for reading -// return: -// !=0 success, zip stream -// ==0 error -// -ZIP * openzip(int pathtype, int pathindex, const char * zipfile) -{ - /* allocate */ - ZIP * zip = (ZIP *)malloc(sizeof(ZIP)); - if (!zip) - return 0; - - /* open */ - zip->fp = fopen(zipfile, "rb"); - if (!zip->fp) - { - errormsg("Opening for reading", ERROR_FILESYSTEM, zipfile); - free(zip); - return 0; - } - - /* go to end */ - if (fseek(zip->fp, 0L, SEEK_END) != 0) - { - errormsg ("Seeking to end", ERROR_FILESYSTEM, zipfile); - fclose(zip->fp); - free(zip); - return 0; - } - - /* get length */ - zip->length = ftell(zip->fp); - if (zip->length < 0) - { - errormsg("Get file size", ERROR_FILESYSTEM, zipfile); - fclose(zip->fp); - free(zip); - return 0; - } - if (zip->length == 0) - { - errormsg ("Empty file", ERROR_CORRUPT, zipfile); - fclose(zip->fp); - free(zip); - return 0; - } - - /* read ecd data */ - if (ecd_read(zip) != 0) - { - errormsg("Reading ECD (end of central directory)", ERROR_CORRUPT, zipfile); - fclose(zip->fp); - free(zip); - return 0; - } - - /* compile ecd info */ - zip->end_of_cent_dir_sig = read_dword (zip->ecd+ZIPESIG); - zip->number_of_this_disk = read_word (zip->ecd+ZIPEDSK); - zip->number_of_disk_start_cent_dir = read_word (zip->ecd+ZIPECEN); - zip->total_entries_cent_dir_this_disk = read_word (zip->ecd+ZIPENUM); - zip->total_entries_cent_dir = read_word (zip->ecd+ZIPECENN); - zip->size_of_cent_dir = read_dword (zip->ecd+ZIPECSZ); - zip->offset_to_start_of_cent_dir = read_dword (zip->ecd+ZIPEOFST); - zip->zipfile_comment_length = read_word (zip->ecd+ZIPECOML); - zip->zipfile_comment = zip->ecd+ZIPECOM; - - /* verify that we can work with this zipfile (no disk spanning allowed) */ - if ((zip->number_of_this_disk != zip->number_of_disk_start_cent_dir) - || (zip->total_entries_cent_dir_this_disk != zip->total_entries_cent_dir) - || (zip->total_entries_cent_dir < 1)) - { - errormsg("Cannot span disks", ERROR_UNSUPPORTED, zipfile); - free(zip->ecd); - fclose(zip->fp); - free(zip); - return 0; - } - - if (fseek(zip->fp, zip->offset_to_start_of_cent_dir, SEEK_SET) != 0) - { - errormsg("Seeking to central directory", ERROR_CORRUPT, zipfile); - free(zip->ecd); - fclose(zip->fp); - free(zip); - return 0; - } - - /* read from start of central directory */ - zip->cd = (char *)malloc(zip->size_of_cent_dir); - if (!zip->cd) - { - free(zip->ecd); - fclose(zip->fp); - free(zip); - return 0; - } - - if (fread(zip->cd, 1, zip->size_of_cent_dir, zip->fp) != zip->size_of_cent_dir) - { - errormsg("Reading central directory", ERROR_CORRUPT, zipfile); - free(zip->cd); - free(zip->ecd); - fclose(zip->fp); - free(zip); - return 0; - } - - /* reset ent */ - zip->ent.name = 0; - - /* rewind */ - zip->cd_pos = 0; - - /* file name */ - zip->zip = (char*)malloc(strlen(zipfile)+1); - if (!zip->zip) - { - free(zip->cd); - free(zip->ecd); - fclose(zip->fp); - free(zip); - return 0; - } - strcpy(zip->zip, zipfile); - zip->pathtype = pathtype; - zip->pathindex = pathindex; - - return zip; -} - -/* Reads the current entry from a zip stream - in: - zip opened zip - return: - !=0 success - ==0 error -*/ -struct zipent * readzip(ZIP * zip) -{ - - /* end of directory */ - if (zip->cd_pos >= zip->size_of_cent_dir) - return 0; - - /* compile zipent info */ - zip->ent.cent_file_header_sig = read_dword (zip->cd+zip->cd_pos+ZIPCENSIG); - zip->ent.version_made_by = *(zip->cd+zip->cd_pos+ZIPCVER); - zip->ent.host_os = *(zip->cd+zip->cd_pos+ZIPCOS); - zip->ent.version_needed_to_extract = *(zip->cd+zip->cd_pos+ZIPCVXT); - zip->ent.os_needed_to_extract = *(zip->cd+zip->cd_pos+ZIPCEXOS); - zip->ent.general_purpose_bit_flag = read_word (zip->cd+zip->cd_pos+ZIPCFLG); - zip->ent.compression_method = read_word (zip->cd+zip->cd_pos+ZIPCMTHD); - zip->ent.last_mod_file_time = read_word (zip->cd+zip->cd_pos+ZIPCTIM); - zip->ent.last_mod_file_date = read_word (zip->cd+zip->cd_pos+ZIPCDAT); - zip->ent.crc32 = read_dword (zip->cd+zip->cd_pos+ZIPCCRC); - zip->ent.compressed_size = read_dword (zip->cd+zip->cd_pos+ZIPCSIZ); - zip->ent.uncompressed_size = read_dword (zip->cd+zip->cd_pos+ZIPCUNC); - zip->ent.filename_length = read_word (zip->cd+zip->cd_pos+ZIPCFNL); - zip->ent.extra_field_length = read_word (zip->cd+zip->cd_pos+ZIPCXTL); - zip->ent.file_comment_length = read_word (zip->cd+zip->cd_pos+ZIPCCML); - zip->ent.disk_number_start = read_word (zip->cd+zip->cd_pos+ZIPDSK); - zip->ent.internal_file_attrib = read_word (zip->cd+zip->cd_pos+ZIPINT); - zip->ent.external_file_attrib = read_dword (zip->cd+zip->cd_pos+ZIPEXT); - zip->ent.offset_lcl_hdr_frm_frst_disk = read_dword (zip->cd+zip->cd_pos+ZIPOFST); - - /* check to see if filename length is illegally long (past the size of this directory - entry) */ - if (zip->cd_pos + ZIPCFN + zip->ent.filename_length > zip->size_of_cent_dir) - { - errormsg("Invalid filename length in directory", ERROR_CORRUPT,zip->zip); - return 0; - } - - /* copy filename */ - free(zip->ent.name); - zip->ent.name = (char*)malloc(zip->ent.filename_length + 1); - memcpy(zip->ent.name, zip->cd+zip->cd_pos+ZIPCFN, zip->ent.filename_length); - zip->ent.name[zip->ent.filename_length] = 0; - - /* skip to next entry in central dir */ - zip->cd_pos += ZIPCFN + zip->ent.filename_length + zip->ent.extra_field_length + zip->ent.file_comment_length; - - return &zip->ent; -} - -/* Closes a zip stream */ -void closezip(ZIP * zip) -{ - /* release all */ - free(zip->ent.name); - free(zip->cd); - free(zip->ecd); - - /* only if not suspended */ - if (zip->fp) - fclose(zip->fp); - - free(zip->zip); - free(zip); -} - -/* Suspend access to a zip file (release file handler) - in: - zip opened zip - note: - A suspended zip is automatically reopened at first call of - readuncompressd() or readcompressed() functions -*/ -void suspendzip(ZIP * zip) -{ - if (zip->fp) - { - fclose(zip->fp); - zip->fp = 0; - } -} - -/* Revive a suspended zip file (reopen file handler) - in: - zip suspended zip - return: - zip success - ==0 error (zip must be closed with closezip) -*/ -static ZIP * revivezip(ZIP * zip) -{ - if (!zip->fp) - { - zip->fp = fopen(zip->zip, "rb"); - if (!zip->fp) - return 0; - } - - return zip; -} - -/* Reset a zip stream to the first entry - in: - zip opened zip - note: - ZIP file must be opened and not suspended -*/ -void rewindzip(ZIP * zip) -{ - zip->cd_pos = 0; -} - -// -// Seek zip->fp to compressed data -// return: -// ==0 success -// <0 error -// -int seekcompresszip(ZIP * zip, struct zipent * ent) -{ - char buf[ZIPNAME]; - long offset; - - if (!zip->fp) - { - if (!revivezip(zip)) - return -1; - } - - if (fseek(zip->fp, ent->offset_lcl_hdr_frm_frst_disk, SEEK_SET) != 0) - { - errormsg("Seeking to header", ERROR_CORRUPT, zip->zip); - return -1; - } - - if (fread(buf, 1, ZIPNAME, zip->fp) != ZIPNAME) - { - errormsg("Reading header", ERROR_CORRUPT, zip->zip); - return -1; - } - - { - uint16_t filename_length = read_word(buf+ZIPFNLN); - uint16_t extra_field_length = read_word(buf+ZIPXTRALN); - - // calculate offset to data and fseek() there - offset = ent->offset_lcl_hdr_frm_frst_disk + ZIPNAME + filename_length + extra_field_length; - - if (fseek(zip->fp, offset, SEEK_SET) != 0) - { - errormsg("Seeking to compressed data", ERROR_CORRUPT, zip->zip); - return -1; - } - - } - - return 0; -} - -// -// Inflate a file -// in: -// in_file stream to inflate -// in_size size of the compressed data to read -// out: -// out_size size of decompressed data -// out_data buffer for decompressed data -// return: -// ==0 ok -// -// 990525 rewritten for use with zlib MLR -// -static int inflate_file(FILE * in_file, unsigned in_size, unsigned char * out_data, unsigned out_size) -{ - int err; - unsigned char * in_buffer; - z_stream d_stream; // decompression stream - - d_stream.zalloc = 0; - d_stream.zfree = 0; - d_stream.opaque = 0; - - d_stream.next_in = 0; - d_stream.avail_in = 0; - d_stream.next_out = out_data; - d_stream.avail_out = out_size; - - err = inflateInit2(&d_stream, -MAX_WBITS); - /* windowBits is passed < 0 to tell that there is no zlib header. - * Note that in this case inflate *requires* an extra "dummy" byte - * after the compressed stream in order to complete decompression and - * return Z_STREAM_END. - */ - if (err != Z_OK) - { - WriteLog("inflateInit error: %d\n", err); - return -1; - } - - in_buffer = (unsigned char*)malloc(INFLATE_INPUT_BUFFER_MAX+1); - if (!in_buffer) - return -1; - - for (;;) - { - if (in_size <= 0) - { - WriteLog("inflate error: compressed size too small\n"); - free (in_buffer); - return -1; - } - d_stream.next_in = in_buffer; - d_stream.avail_in = fread(in_buffer, 1, MIN(in_size, INFLATE_INPUT_BUFFER_MAX), in_file); - in_size -= d_stream.avail_in; - if (in_size == 0) - d_stream.avail_in++; /* add dummy byte at end of compressed data */ - - err = inflate(&d_stream, Z_NO_FLUSH); - if (err == Z_STREAM_END) - break; - if (err != Z_OK) - { - WriteLog("inflate error: %d\n", err); - free (in_buffer); - return -1; - } - } - - err = inflateEnd(&d_stream); - if (err != Z_OK) - { - WriteLog("inflateEnd error: %d\n", err); - free (in_buffer); - return -1; - } - - free (in_buffer); - - if ((d_stream.avail_out > 0) || (in_size > 0)) - { - WriteLog("zip size mismatch. %i\n", in_size); - return -1; - } - - return 0; -} - -// -// Read compressed data -// out: -// data compressed data read -// return: -// ==0 success -// <0 error -// -int readcompresszip(ZIP * zip, struct zipent * ent, char * data) -{ - int err = seekcompresszip(zip, ent); - if (err != 0) - return err; - - if (fread(data, 1, ent->compressed_size, zip->fp) != ent->compressed_size) - { - errormsg("Reading compressed data", ERROR_CORRUPT, zip->zip); - return -1; - } - - return 0; -} - -// -// Read UNcompressed data -// out: -// data UNcompressed data -// return: -// ==0 success -// <0 error -// -int readuncompresszip(ZIP * zip, struct zipent * ent, char * data) -{ - if (ent->compression_method == 0x0000) - { - /* file is not compressed, simply stored */ - - /* check if size are equal */ - if (ent->compressed_size != ent->uncompressed_size) - { - errormsg("Wrong uncompressed size in store compression", ERROR_CORRUPT,zip->zip); - return -3; - } - - return readcompresszip(zip, ent, data); - } - else if (ent->compression_method == 0x0008) - { - /* file is compressed using "Deflate" method */ - if (ent->version_needed_to_extract > 0x14) - { - errormsg("Version too new", ERROR_UNSUPPORTED, zip->zip); - return -2; - } - - if (ent->os_needed_to_extract != 0x00) - { - errormsg("OS not supported", ERROR_UNSUPPORTED, zip->zip); - return -2; - } - - if (ent->disk_number_start != zip->number_of_this_disk) - { - errormsg("Cannot span disks", ERROR_UNSUPPORTED, zip->zip); - return -2; - } - - /* read compressed data */ - if (seekcompresszip(zip, ent) != 0) - { - return -1; - } - - /* configure inflate */ - if (inflate_file(zip->fp, ent->compressed_size, (unsigned char *)data, ent->uncompressed_size)) - { - errormsg("Inflating compressed data", ERROR_CORRUPT, zip->zip); - return -3; - } - - return 0; - } - else - { - errormsg("Compression method unsupported", ERROR_UNSUPPORTED, zip->zip); - return -2; - } -} - -/* ------------------------------------------------------------------------- - Backward MAME compatibility - ------------------------------------------------------------------------- */ - -// -// Compare two filenames -// NOTE: Don't check directory in zip and ignore case -// -static int equal_filename(const char * zipfile, const char * file) -{ -// const char * s1 = file; - // start comparison after last / also...! - const char * s1 = strrchr(file, '/'); - if (s1) - s1++; - else - s1 = file; - // start comparison after last / - const char * s2 = strrchr(zipfile, '/'); - if (s2) - s2++; - else - s2 = zipfile; -//WriteLog("--> Comparing filenames: [%s] <-> [%s]\n", s1, s2); - - // This assumes that s1 is longer than s2... Might not be! !!! FIX !!! - while (*s1 && toupper(*s1) == toupper(*s2)) - { - s1++; - s2++; - } - - return !*s1 && !*s2; -} - -// -// Pass the path to the zipfile and the name of the file within the zipfile. -// buf is set to point to the uncompressed image of that zipped file (preallocated by user!). -// length will be set to the length of the uncompressed data. -// -int load_zipped_file(int pathtype, int pathindex, const char * zipfile, const char * filename, unsigned char ** buf, uint32_t * length) -{ - ZIP * zip = openzip(pathtype, pathindex, zipfile); - - if (!zip) - return -1; - - while (readzip(zip)) - { - /* NS981003: support for "load by CRC" */ - char crc[9]; - - struct zipent * ent = &(zip->ent); - sprintf(crc, "%08x", (unsigned int)ent->crc32); - - if (filename == NULL || equal_filename(ent->name, filename) - || (ent->crc32 && !strcmp(crc, filename))) - { - *length = ent->uncompressed_size; - - if (readuncompresszip(zip, ent, (char *)*buf) != 0) - { - closezip(zip); - return -1; - } - - suspendzip(zip); - return 0; - } - } - - suspendzip(zip); - return -1; -} diff --git a/src/unzip.cpp b/src/unzip.cpp new file mode 100644 index 0000000..0f9085a --- /dev/null +++ b/src/unzip.cpp @@ -0,0 +1,136 @@ +// +// ZIP file support +// This is here to simplify interfacing to zlib, as zlib does NO zip file handling +// +// by James Hammons +// (C) 2012 Underground Software +// +// JLH = James Hammons +// +// Who When What +// --- ---------- ------------------------------------------------------------- +// JLH 01/16/2010 Created this log ;-) +// JLH 02/28/2010 Removed unnecessary cruft +// JLH 05/31/2012 Rewrote everything and removed all MAME code +// + +#include "unzip.h" + +#include +#include +#include +#include "log.h" + + +uint32_t GetLong(FILE * fp) +{ + uint32_t n = ((uint32_t)fgetc(fp)); + n |= ((uint32_t)fgetc(fp)) << 8; + n |= ((uint32_t)fgetc(fp)) << 16; + n |= ((uint32_t)fgetc(fp)) << 24; + + return n; +} + + +uint16_t GetWord(FILE * fp) +{ + uint16_t n = ((uint16_t)fgetc(fp)); + n |= ((uint16_t)fgetc(fp)) << 8; + + return n; +} + + +bool GetZIPHeader(FILE * fp, ZipFileEntry & ze) +{ + ze.signature = GetLong(fp); + ze.version = GetWord(fp); + ze.flags = GetWord(fp); + ze.method = GetWord(fp); + ze.modifiedTime = GetWord(fp); + ze.modifiedDate = GetWord(fp); + ze.crc32 = GetLong(fp); + ze.compressedSize = GetLong(fp); + ze.uncompressedSize = GetLong(fp); + ze.filenameLength = GetWord(fp); + ze.extraLength = GetWord(fp); + + // This handling is really ungraceful; but if someone is going to feed us + // shit, then why eat it? :-) + if (ze.filenameLength < 512) + { + fread(ze.filename, 1, ze.filenameLength, fp); + ze.filename[ze.filenameLength] = 0; + } + else + { + fseek(fp, ze.filenameLength, SEEK_CUR); + ze.filename[0] = 0; + } + + // Skip the "extra" header + fseek(fp, ze.extraLength, SEEK_CUR); + + return (ze.signature == 0x04034B50 ? true : false); +} + + +// +// Uncompress a file from a ZIP file filestream +// NOTE: The passed in buffer *must* be fully allocated before calling this! +// +#define CHUNKSIZE 16384 +int UncompressFileFromZIP(FILE * fp, ZipFileEntry ze, uint8_t * buffer) +{ + z_stream zip; + unsigned char inBuffer[CHUNKSIZE]; + uint32_t remaining = ze.compressedSize; + + // Set up z_stream for inflating + zip.zalloc = Z_NULL; + zip.zfree = Z_NULL; + zip.opaque = Z_NULL; + zip.avail_in = 0; + zip.next_in = Z_NULL; + + int ret = inflateInit2(&zip, -MAX_WBITS); // -MAX_WBITS tells it there's no header + + // Bail if can't initialize the z_stream... + if (ret != Z_OK) + return ret; + + zip.avail_out = ze.uncompressedSize; + zip.next_out = buffer; + + // Decompress until deflate stream ends or we hit end of file + do + { + zip.avail_in = fread(inBuffer, 1, (remaining < CHUNKSIZE ? remaining : CHUNKSIZE), fp); + zip.next_in = inBuffer; + remaining -= CHUNKSIZE; + + if (ferror(fp)) + { + inflateEnd(&zip); + return Z_ERRNO; + } + + if (zip.avail_in == 0) + break; + + ret = inflate(&zip, Z_NO_FLUSH); + + if ((ret == Z_NEED_DICT) || (ret == Z_DATA_ERROR) || (ret == Z_MEM_ERROR)) + { + inflateEnd(&zip); + return ret; + } + + } + while (ret != Z_STREAM_END); + + inflateEnd(&zip); + + return (ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR); +} diff --git a/src/unzip.h b/src/unzip.h index d8ddb31..6f53b07 100644 --- a/src/unzip.h +++ b/src/unzip.h @@ -4,132 +4,23 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif - -/*************************************************************************** - * Support for retrieving files from zipfiles - ***************************************************************************/ - -struct zipent +struct ZipFileEntry { - uint32_t cent_file_header_sig; - uint8_t version_made_by; - uint8_t host_os; - uint8_t version_needed_to_extract; - uint8_t os_needed_to_extract; - uint16_t general_purpose_bit_flag; - uint16_t compression_method; - uint16_t last_mod_file_time; - uint16_t last_mod_file_date; - uint32_t crc32; - uint32_t compressed_size; - uint32_t uncompressed_size; - uint16_t filename_length; - uint16_t extra_field_length; - uint16_t file_comment_length; - uint16_t disk_number_start; - uint16_t internal_file_attrib; - uint32_t external_file_attrib; - uint32_t offset_lcl_hdr_frm_frst_disk; - char * name; /* 0 terminated */ + uint32_t signature; + uint16_t version; + uint16_t flags; + uint16_t method; + uint16_t modifiedTime; + uint16_t modifiedDate; + uint32_t crc32; + uint32_t compressedSize; + uint32_t uncompressedSize; + uint16_t filenameLength; + uint16_t extraLength; + uint8_t filename[512]; }; -typedef struct _ZIP -{ - char * zip; /* zip name */ - FILE * fp; /* zip handler */ - int pathtype, pathindex; /* additional path info */ - long length; /* length of zip file */ - char * ecd; /* end_of_cent_dir data */ - unsigned ecd_length; /* end_of_cent_dir length */ - char * cd; /* cent_dir data */ - unsigned cd_pos; /* position in cent_dir */ - struct zipent ent; /* buffer for readzip */ - /* end_of_cent_dir */ - uint32_t end_of_cent_dir_sig; - uint16_t number_of_this_disk; - uint16_t number_of_disk_start_cent_dir; - uint16_t total_entries_cent_dir_this_disk; - uint16_t total_entries_cent_dir; - uint32_t size_of_cent_dir; - uint32_t offset_to_start_of_cent_dir; - uint16_t zipfile_comment_length; - char * zipfile_comment; /* pointer in ecd */ -} ZIP; - -/* Opens a zip stream for reading - return: - !=0 success, zip stream - ==0 error -*/ -ZIP * openzip(int pathtype, int pathindex, const char * path); - -/* Closes a zip stream */ -void closezip(ZIP * zip); - -/* Reads the current entry from a zip stream - in: - zip opened zip - return: - !=0 success - ==0 error -*/ -struct zipent * readzip(ZIP * zip); - -/* Suspend access to a zip file (release file handler) - in: - zip opened zip - note: - A suspended zip is automatically reopened at first call of - readuncompressd() or readcompressed() functions -*/ -void suspendzip(ZIP * zip); - -/* Resets a zip stream to the first entry - in: - zip opened zip - note: - ZIP file must be opened and not suspended -*/ -void rewindzip(ZIP * zip); - -/* Read compressed data from a zip entry - in: - zip opened zip - ent entry to read - out: - data buffer for data, ent.compressed_size uint8_ts allocated by the caller - return: - ==0 success - <0 error -*/ -int readcompresszip(ZIP * zip, struct zipent * ent, char * data); - -/* Read decompressed data from a zip entry - in: - zip zip stream open - ent entry to read - out: - data buffer for data, ent.uncompressed_size uint8_ts allocated by the caller - return: - ==0 success - <0 error -*/ -int readuncompresszip(ZIP * zip, struct zipent * ent, char * data); - -/* public functions */ -int /* error */ load_zipped_file(int pathtype, int pathindex, const char * zipfile, const char * filename, - unsigned char ** buf, uint32_t * length); - -void unzip_cache_clear(void); - -/* public globals */ -extern int gUnzipQuiet; /* flag controls error messages */ - -#ifdef __cplusplus -} -#endif +bool GetZIPHeader(FILE *, ZipFileEntry &); +int UncompressFileFromZIP(FILE *, ZipFileEntry, uint8_t *); #endif // __UNZIP_H__ diff --git a/virtualjaguar.pro b/virtualjaguar.pro index 27959de..86bfcca 100644 --- a/virtualjaguar.pro +++ b/virtualjaguar.pro @@ -6,7 +6,7 @@ # # See the README and GPLv3 files for licensing and warranty information # -# NOTE: Musashi is built and linked in as a library, so there should be no more +# NOTE: M68000 core is built and linked in as a library, so there should be no more # problems with using the qmake build system as-is. :-) # Other than on the Mac, where it stupidly defaults to making XCode binaries. >:-( # Well, we fixed it in the Makefile, by doing platfrom detection there. :-/ @@ -16,10 +16,8 @@ TARGET = virtualjaguar CONFIG += qt warn_on release # debug RESOURCES += virtualjaguar.qrc -#LIBS += -Lobj -ljaguarcore -lz -lmusashi LIBS += -Lobj -ljaguarcore -lz -lm68k QT += opengl -#CROSS = i686-pc-mingw32- # We stuff all the intermediate crap into obj/ so it won't confuse us mere mortals ;-) OBJECTS_DIR = obj @@ -42,8 +40,8 @@ win32 { LIBS += res/vj-ico.o } # C/C++ flags... # NOTE: May have to put -Wall back in, but only on non-release cycles. It can # cause problems if you're not careful. (Can do this via command line in qmake) -QMAKE_CFLAGS += `$(CROSS)sdl-config --cflags` -O2 -ffast-math -fomit-frame-pointer -QMAKE_CXXFLAGS += `$(CROSS)sdl-config --cflags` -O2 -ffast-math -fomit-frame-pointer +QMAKE_CFLAGS += `$(CROSS)sdl-config --cflags` +QMAKE_CXXFLAGS += `$(CROSS)sdl-config --cflags` # Need to add libcdio stuffola (checking/including)... -- 2.37.2

  • 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%0Ar^rbp8XDa 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⁣J-Y38LzVA(S@2zy}R_^NR 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 diff --git a/res/cart-blank.png b/res/cart-blank.png index 976a23d63df2db3005497c8c6040c819d5a8e7fa..3c8c4e517efa69c62acf0ea3604827a9dff52433 100644 GIT binary patch literal 238214 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