From 2e7b37527a6706d02f2a021bc977e24389b013cc Mon Sep 17 00:00:00 2001 From: Morten Delenk Date: Sun, 26 Jun 2016 17:14:09 +0200 Subject: [PATCH] dojafioqjriosjfilajdklafjweofjwiofwujfowiidkioeadjakldjaklfjsdklfjsdilfjiosdafjl --- kernel/Makefile | 8 +- kernel/hal/Makefile | 5 +- kernel/hal/x86/Makefile | 1 + kernel/hal/x86/include/textDISP.hpp | 19 +- kernel/hal/x86/init/init.cpp | 5 +- kernel/{kernel => hal/x86}/io/output.cpp | 0 kernel/hal/x86/io/textDISP.cpp | 132 +++- kernel/hal/x86/mm/pmm.cpp | 102 ++++ kernel/hal/x86_64/Makefile | 1 + kernel/hal/x86_64/blk/BlockDevice.cpp | 5 + kernel/hal/x86_64/include/textDISP.hpp | 19 +- kernel/hal/x86_64/init/init.cpp | 26 +- kernel/hal/x86_64/io/output.cpp | 54 ++ kernel/hal/x86_64/io/textDISP.cpp | 130 ++++ kernel/hal/x86_64/mm/pmm.cpp | 102 ++++ kernel/hal/x86_64/mm/pmm2.cpp | 2 + kernel/kernel/include/textDISP.hpp | 19 +- kernel/kernel/init.cpp | 18 +- kernel/kernel/io/textDISP.cpp | 84 --- kernel/kernel/mm/pmm.cpp | 115 ---- kernel/kernel/string.c | 3 + kernel/libhal.a | Bin 0 -> 523352 bytes mtgos.sym | 741 ++++++++++++----------- 23 files changed, 999 insertions(+), 592 deletions(-) rename kernel/{kernel => hal/x86}/io/output.cpp (100%) create mode 100644 kernel/hal/x86_64/blk/BlockDevice.cpp create mode 100644 kernel/hal/x86_64/io/output.cpp delete mode 100644 kernel/kernel/io/textDISP.cpp delete mode 100644 kernel/kernel/mm/pmm.cpp create mode 100644 kernel/libhal.a diff --git a/kernel/Makefile b/kernel/Makefile index 45ffa7f..7f3131a 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1,13 +1,13 @@ include ../kernel.settings SRCS = $(shell find hal/$(arch) -name '*.cpp' -o -name '*.[cS]') KERNSRCS = $(shell find kernel -name '*.cpp' -o -name '*.c') -OBJS = $(addsuffix .o,$(basename $(SRCS))) -OBJS += $(addsuffix .o,$(basename $(KERNSRCS))) +#OBJS = $(addsuffix .o,$(basename $(SRCS))) +OBJS = $(addsuffix .o,$(basename $(KERNSRCS))) LD = $(PREFIX)g++ -LDFLAGS = -nostdlib -nodefaultlibs -nostdlib -fno-builtin $(ARCHFLAGS) -T kernel-$(arch).ld -z max-page-size=0x1000 -lgcc +LDFLAGS = -nostdlib -nodefaultlibs -nostdlib -fno-builtin $(ARCHFLAGS) -T kernel-$(arch).ld -z max-page-size=0x1000 all: hal kernel - $(LD) $(LDFLAGS) -o mtgos $(OBJS) + $(LD) $(LDFLAGS) -o mtgos $(OBJS) libhal.a -lgcc hal: make -C hal kernel: diff --git a/kernel/hal/Makefile b/kernel/hal/Makefile index 87a14a6..7b4efac 100644 --- a/kernel/hal/Makefile +++ b/kernel/hal/Makefile @@ -1,6 +1,9 @@ include ../../kernel.settings -all: +SRCS = $(shell find $(arch) -name '*.cpp' -o -name '*.[cS]') +OBJS = $(addsuffix .o,$(basename $(SRCS))) +all: make -C $(arch) + ar rcs ../libhal.a $(OBJS) clean: rm -rf hal.o make -C $(arch) clean diff --git a/kernel/hal/x86/Makefile b/kernel/hal/x86/Makefile index 3de515e..2a8b17e 100644 --- a/kernel/hal/x86/Makefile +++ b/kernel/hal/x86/Makefile @@ -4,6 +4,7 @@ OBJS = $(addsuffix .o,$(basename $(SRCS))) CPP = $(PREFIX)g++ CC = $(PREFIX)gcc +AR = $(PREFIX)ar ASFLAGS = -m32 CFLAGS += -m32 -Wall -fno-stack-protector -nostdinc -Ic_include/ -I../../kernel/c_include -ffreestanding -std=c11 -fno-builtin -Werror -nostdlib -g -fpie CPPFLAGS += -m32 -Wall -fno-stack-protector -nostdinc -std=c++14 -Iinclude/ -Ic_include/ -I../../kernel/c_include -I../../kernel/include -fno-rtti -fno-exceptions -ffreestanding -fno-builtin -Werror -nostdlib -fno-use-cxa-atexit -Wextra -Wno-unused -g -fno-pie -Wno-reorder diff --git a/kernel/hal/x86/include/textDISP.hpp b/kernel/hal/x86/include/textDISP.hpp index ca18f3a..2dd893b 100644 --- a/kernel/hal/x86/include/textDISP.hpp +++ b/kernel/hal/x86/include/textDISP.hpp @@ -43,20 +43,23 @@ namespace MTGosHAL { YELLOW=0xFFFF55, WHITE=0xFFFFFF }; - class Screen: public Output { + + class Screen { private: FG_color fg; BG_color bg; uint32_t* lfb; auto putChar(char c) -> void; + int base; public: - Screen(): fg(FG_color::WHITE), bg(BG_color::BLACK) { + auto puts(const char *s) -> void; + Screen(): fg(FG_color::WHITE), bg(BG_color::BLACK), base(10) { } Screen(struct multiboot_info* mb_info): Screen() {init(mb_info);} auto init(struct multiboot_info*) -> void; template auto operator<< (T output) -> Screen & { - Output::operator<<(output); + puts(output); return *this; } auto clrscr() -> void; @@ -69,5 +72,15 @@ namespace MTGosHAL { auto Screen::operator<<(FG_color fg) -> Screen &; template <> auto Screen::operator<<(BG_color bg) -> Screen &; + template <> + auto Screen::operator<<(Base output) -> Screen &; + template <> + auto Screen::operator<<(int output) -> Screen &; + template <> + auto Screen::operator<<(long int output) -> Screen &; + template <> + auto Screen::operator<<(char output) -> Screen &; + template <> + auto Screen::operator<<(char* output) -> Screen &; } #endif diff --git a/kernel/hal/x86/init/init.cpp b/kernel/hal/x86/init/init.cpp index e823bf6..cfe89cb 100644 --- a/kernel/hal/x86/init/init.cpp +++ b/kernel/hal/x86/init/init.cpp @@ -10,7 +10,8 @@ #include #include extern "C" void intr_stub_0(void); -void main(void ** programs); +void main(void ** programs, MTGosHAL::Serial &debug, MTGosHAL::PMM &mm, MTGosHAL::Screen &out, + MTGosHAL::Screen &err, MTGosHAL::Keyboard &in, MTGosHAL::Multitasking &tasks, MTGosHAL::BlockDevice &disk); void** progs; namespace MTGosHAL { Serial debug; @@ -77,7 +78,7 @@ namespace MTGosHAL { progs[i]=(void*)(mods[i].mod_start); debug << "Found module!\n"; } - ::main(progs); + ::main(progs, debug, mm, out, err, in, tasks, disk); uint8_t buf[512]; disk.readSector(disk.getDriveNumByName("ATA0m1"),0,buf); out << (char*)buf; diff --git a/kernel/kernel/io/output.cpp b/kernel/hal/x86/io/output.cpp similarity index 100% rename from kernel/kernel/io/output.cpp rename to kernel/hal/x86/io/output.cpp diff --git a/kernel/hal/x86/io/textDISP.cpp b/kernel/hal/x86/io/textDISP.cpp index 52bc3ee..7ef9259 100644 --- a/kernel/hal/x86/io/textDISP.cpp +++ b/kernel/hal/x86/io/textDISP.cpp @@ -2,9 +2,91 @@ #include #include #include +#include +#include +#include +int x=0, y=0; namespace MTGosHAL { + auto Screen::putChar(char c) -> void { + switch(c) { + case '\n': + x=0; y++; + break; + case '\r': + x=0; + + break; + case '\b': + x--; + if(x<0) x=0; + putChar(' '); + x--; + if(x<0) x=0; + break; + case '\0': + break; + default: + for(int lx=0;lx<8;lx++) { + for(int ly=0;ly<8;ly++) { + if(font[(int)((uint8_t)c)][ly]&(1<(fg); + } else { + lfb[(x*8+lx)+(y*8+ly)*1024]=0x000000;//static_cast(bg); + } + } + } + x++; + if(x==SCREEN_WIDTH) { + x=0; y++; + } + break; + } + if(y>SCREEN_HEIGHT) + scroll(); + } + auto Screen::clrscr() -> void { + for(int p=0;p<1024*786;p++) { + lfb[p]=0x000000;//static_cast(bg); + } + x=y=0; + } + auto Screen::scroll() -> void { + for(int ly=0;ly<786-8;ly++) { + for(int lx=0;lx<1024;lx++) { + lfb[lx+ly*1024]=lfb[lx+(ly+8)*1024]; + } + } + for(int ly=786-8;ly<786;ly++) { + for(int lx=0;lx<1024;lx++) { + lfb[lx+ly*1024]=0x000000;//static_cast(bg); + } + } + y--; + } + template <> + auto Screen::operator<<(FG_color fg) -> Screen &{ + this->fg=fg; + return *this; + } + template <> + auto Screen::operator<<(BG_color bg) -> Screen &{ + this->bg=bg; + return *this; + } + auto Screen::setColor(FG_color fg) -> Screen &{ + this->fg=fg; + return *this; + } + auto Screen::setColor(BG_color bg) -> Screen &{ + this->bg=bg; + return *this; + } + auto Screen::setColor(FG_color fg, BG_color bg) -> Screen &{ + return (*this).setColor(fg).setColor(bg); + } + auto Screen::init(struct multiboot_info* mb_info) -> void { - lfb=(uint32_t*)((uint32_t)mb_info->framebuffer_addr); + lfb=(uint32_t*)((uintptr_t)mb_info->framebuffer_addr); //clrscr(); //Render '\001' character for(int tx=0;tx<16;tx++) { @@ -18,4 +100,52 @@ namespace MTGosHAL { } } } + auto Screen::puts(const char* s) -> void { + int i=0; + while(s[i]!='\0') + putChar(s[i++]); + } + template <> + auto Screen::operator<<(Base output) -> Screen & { + base=static_cast(output); + return *this; + } + template <> + auto Screen::operator<<(int op) -> Screen & { + uintptr_t output=op; + const char* chars="0123456789ABCDEF"; + char buf[33]; + buf[32]='\0'; + char* ptr=buf+31; + do { + *(ptr--)=chars[output%base]; + output/=base; + } while(output && (ptr!=buf)); + puts(ptr+1); + return *this; + } + template <> + auto Screen::operator<<(long int op) -> Screen & { + uint64_t output=op; + const char* chars="0123456789ABCDEF"; + char buf[65]; + buf[64]='\0'; + char* ptr=buf+63; + do { + *(ptr--)=chars[output%base]; + output/=base; + } while(output && (ptr!=buf)); + puts(ptr+1); + return *this; + } + template <> + auto Screen::operator<<(char output) -> Screen & { + putChar(output); + return *this; + } + template <> + auto Screen::operator<<(char* output) -> Screen & { + puts(output); + return *this; + } } diff --git a/kernel/hal/x86/mm/pmm.cpp b/kernel/hal/x86/mm/pmm.cpp index d9cbd66..c49412d 100644 --- a/kernel/hal/x86/mm/pmm.cpp +++ b/kernel/hal/x86/mm/pmm.cpp @@ -1,9 +1,111 @@ #include #include #include +#define PAGESIZE 4096 +#define UNSHIFT(a) ((a)>>12) +#define SHIFT(a) ((a)<<12) +#define FLAGS 0xfff extern "C" const int kernel_start; extern "C" const int kernel_end; //those are voids actually +void *operator new(size_t size) { + return MTGosHAL::mm.alloc(size); +} +void *operator new[](size_t size) { + return MTGosHAL::mm.alloc(size); +} +void operator delete(void* p) { + MTGosHAL::mm.free(p); +} +void operator delete[](void* p) { + MTGosHAL::mm.free(p); +} +void operator delete(void* p, size_t size) { + MTGosHAL::mm.free(p); +} +void operator delete[](void* p, size_t size) { + MTGosHAL::mm.free(p); +} namespace MTGosHAL { + auto PMM::alloc(size_t length) -> void * { + if(!head) { + //Alloc space for head + if(length+sizeof(malloc_t)<=PAGESIZE) { //Small optimization. The routine for allocating more than one continuous page is terribly slow. + void *tmp; + *this >> tmp; + head=(malloc_t*)tmp; + } else + head=(malloc_t*)(*this)(UNSHIFT((length+sizeof(malloc_t)))+1); + if(!head) //The alloc() didn't work! We're out of RAM! + return nullptr; + head->len=length; + head->next=head->last=nullptr; + malloc_t* tmp=head; + tmp++; + return (void*)tmp; + } + malloc_t* curr=head; + malloc_t* last=nullptr; + do { + uintptr_t loc=(uintptr_t)curr+sizeof(malloc_t)+curr->len; + if((loc+length+sizeof(malloc_t))<((loc&(~FLAGS))+PAGESIZE) && + ((!curr->next) || (loc+length+sizeof(malloc_t))<((uintptr_t)(curr->next)))) { + malloc_t *allocd=(malloc_t *)loc; + allocd->len=length; + allocd->last=curr; + allocd->next=curr->next; //Set double linked list + curr->next=allocd; + if(allocd->next) + allocd->next->last=allocd; + malloc_t *tmp=allocd; + tmp++; + return (void*)tmp; + } + last=curr; + curr=curr->next; + } while(curr); + malloc_t *allocd=nullptr; + if(length+sizeof(malloc_t)<=PAGESIZE) { //Small optimization. The routine for allocating more than one continuous page is terribly slow. + void *tmp; + *this >> tmp; + allocd=(malloc_t*)tmp; + } else + allocd=(malloc_t*)(*this)(UNSHIFT(length+sizeof(malloc_t))+1); + if(!allocd) //The alloc() didn't work! We're out of RAM! + return nullptr; + last->next=allocd; + allocd->len=length; + allocd->last=last; + allocd->next=nullptr; + malloc_t *tmp=allocd; + tmp++; + return (void*)tmp; + } + auto PMM::free(void* ptr) -> bool { + if(!ptr) + return false; + malloc_t* curr=head; + malloc_t* chk=(malloc_t*)ptr; + chk--; + do { + if(curr==chk) { + uintptr_t start=((uintptr_t)chk)&(~FLAGS); + uintptr_t end=start+PAGESIZE; + if((((uintptr_t)(curr->last)last)>=end))&&(((uintptr_t)(curr->next)>=end)||((uintptr_t)(curr->next)last) + curr->last->next=curr->next; + else { + head=curr->next; + } + if(curr->next) + curr->next->last=curr->last; + return true; + } + curr=curr->next; + } while(curr); + return false; + } PMM::PMM(): head(nullptr), pmm2() {} auto PMM::init(struct multiboot_info* mb_info) -> void { pmm2.init(mb_info); diff --git a/kernel/hal/x86_64/Makefile b/kernel/hal/x86_64/Makefile index a492974..7d172a9 100644 --- a/kernel/hal/x86_64/Makefile +++ b/kernel/hal/x86_64/Makefile @@ -4,6 +4,7 @@ OBJS = $(addsuffix .o,$(basename $(SRCS))) CPP = $(PREFIX)g++ CC = $(PREFIX)gcc +AR = $(PREFIX)ar ASFLAGS = -m64 CFLAGS += -m64 -Wall -fno-stack-protector -nostdinc -Ic_include/ -I../../kernel/c_include -ffreestanding -std=c11 -fno-builtin -Werror -nostdlib -g -fpie -ffreestanding -mcmodel=large -mno-mmx -mno-sse -mno-sse2 CPPFLAGS += -m64 -Wall -fno-stack-protector -nostdinc -std=c++14 -Iinclude/ -Ic_include/ -I../../kernel/c_include -I../../kernel/include -fno-rtti -fno-exceptions -ffreestanding -fno-builtin -Werror -nostdlib -fno-use-cxa-atexit -Wextra -Wno-unused -g -fno-pie -Wno-reorder -ffreestanding -mcmodel=large -mno-mmx -mno-sse -mno-sse2 diff --git a/kernel/hal/x86_64/blk/BlockDevice.cpp b/kernel/hal/x86_64/blk/BlockDevice.cpp new file mode 100644 index 0000000..c4f40e8 --- /dev/null +++ b/kernel/hal/x86_64/blk/BlockDevice.cpp @@ -0,0 +1,5 @@ +#include +namespace MTGosHAL { + BlockDevice::BlockDevice() {} + BlockDevice::~BlockDevice() {} +} diff --git a/kernel/hal/x86_64/include/textDISP.hpp b/kernel/hal/x86_64/include/textDISP.hpp index ca18f3a..5caefd0 100644 --- a/kernel/hal/x86_64/include/textDISP.hpp +++ b/kernel/hal/x86_64/include/textDISP.hpp @@ -43,20 +43,23 @@ namespace MTGosHAL { YELLOW=0xFFFF55, WHITE=0xFFFFFF }; - class Screen: public Output { + + class Screen { private: FG_color fg; BG_color bg; uint32_t* lfb; + int base; auto putChar(char c) -> void; public: - Screen(): fg(FG_color::WHITE), bg(BG_color::BLACK) { + auto puts(const char *s) -> void; + Screen(): fg(FG_color::WHITE), bg(BG_color::BLACK), base(10) { } Screen(struct multiboot_info* mb_info): Screen() {init(mb_info);} auto init(struct multiboot_info*) -> void; template auto operator<< (T output) -> Screen & { - Output::operator<<(output); + puts(output); return *this; } auto clrscr() -> void; @@ -69,5 +72,15 @@ namespace MTGosHAL { auto Screen::operator<<(FG_color fg) -> Screen &; template <> auto Screen::operator<<(BG_color bg) -> Screen &; + template <> + auto Screen::operator<<(Base output) -> Screen &; + template <> + auto Screen::operator<<(int output) -> Screen &; + template <> + auto Screen::operator<<(long int output) -> Screen &; + template <> + auto Screen::operator<<(char output) -> Screen &; + template <> + auto Screen::operator<<(char* output) -> Screen &; } #endif diff --git a/kernel/hal/x86_64/init/init.cpp b/kernel/hal/x86_64/init/init.cpp index 7d06b38..e94d139 100644 --- a/kernel/hal/x86_64/init/init.cpp +++ b/kernel/hal/x86_64/init/init.cpp @@ -10,7 +10,8 @@ #include #include extern "C" void intr_stub_0(void); -void main(void ** programs); +void main(void ** programs, MTGosHAL::Serial debug, MTGosHAL::PMM mm, MTGosHAL::Screen out, + MTGosHAL::Screen err, MTGosHAL::Keyboard in, MTGosHAL::Multitasking tasks, MTGosHAL::BlockDevice disk); void** progs; namespace MTGosHAL { Serial debug; @@ -21,6 +22,7 @@ namespace MTGosHAL { Screen err; Keyboard in; Multitasking tasks; + BlockDevice disk; struct multiboot_info* ebx; void main(long eax, struct multiboot_info* mb, uint64_t**** pt) { ebx=mb; @@ -57,12 +59,30 @@ namespace MTGosHAL { auto startup() -> void { //asm volatile("ltr %%ax" : : "a"(5<<3)); - debug << "Init MM\n"; + out << "Init MM\n"; new (&mm) PMM(ebx); - debug << "Init Keyboard\n"; + out << "Init Keyboard\n"; new (&in) Keyboard(); + + out << "Init Multitasking\n"; + new (&tasks) Multitasking(); + + out << "Init blockdev\n"; + new (&disk) BlockDevice(); + out << "Kernel initialized\n"; + multiboot_mod_list *mods = (multiboot_mod_list*) (uint64_t)(ebx->mods_addr); + progs=(void**)mm.alloc(8192); + for(int i=0;i<1024;i++) { + progs[i]=nullptr; + } + for(uint32_t i=0;i<(ebx->mods_count<1023?ebx->mods_count:1023);i++) { //Basically until MIN(ebx->mods_count, 1023), as we only support loading up to 1023 programs directly. + progs[i]=(void*)((uint64_t)mods[i].mod_start); + out << "Found module!\n"; + } + ::main(progs, debug, mm, out, err, in, tasks, disk); + } } typedef void (*constructor)(); diff --git a/kernel/hal/x86_64/io/output.cpp b/kernel/hal/x86_64/io/output.cpp new file mode 100644 index 0000000..e909c75 --- /dev/null +++ b/kernel/hal/x86_64/io/output.cpp @@ -0,0 +1,54 @@ +#include +#include +#include +#include +namespace MTGosHAL { + auto Output::puts(const char* s) -> void { + int i=0; + while(s[i]!='\0') + putChar(s[i++]); + } + template <> + auto Output::operator<<(Base output) -> Output & { + base=static_cast(output); + return *this; + } + template <> + auto Output::operator<<(int op) -> Output & { + uintptr_t output=op; + const char* chars="0123456789ABCDEF"; + char buf[33]; + buf[32]='\0'; + char* ptr=buf+31; + do { + *(ptr--)=chars[output%base]; + output/=base; + } while(output && (ptr!=buf)); + puts(ptr+1); + return *this; + } + template <> + auto Output::operator<<(long int op) -> Output & { + uint64_t output=op; + const char* chars="0123456789ABCDEF"; + char buf[65]; + buf[64]='\0'; + char* ptr=buf+63; + do { + *(ptr--)=chars[output%base]; + output/=base; + } while(output && (ptr!=buf)); + puts(ptr+1); + return *this; + } + template <> + auto Output::operator<<(char output) -> Output & { + putChar(output); + return *this; + } + template <> + auto Output::operator<<(char* output) -> Output & { + puts(output); + return *this; + } +} diff --git a/kernel/hal/x86_64/io/textDISP.cpp b/kernel/hal/x86_64/io/textDISP.cpp index 155dc76..38d3331 100644 --- a/kernel/hal/x86_64/io/textDISP.cpp +++ b/kernel/hal/x86_64/io/textDISP.cpp @@ -2,7 +2,89 @@ #include #include #include +#include +#include +#include +int x=0, y=0; namespace MTGosHAL { + auto Screen::putChar(char c) -> void { + switch(c) { + case '\n': + x=0; y++; + break; + case '\r': + x=0; + + break; + case '\b': + x--; + if(x<0) x=0; + putChar(' '); + x--; + if(x<0) x=0; + break; + case '\0': + break; + default: + for(int lx=0;lx<8;lx++) { + for(int ly=0;ly<8;ly++) { + if(font[(int)((uint8_t)c)][ly]&(1<(fg); + } else { + lfb[(x*8+lx)+(y*8+ly)*1024]=0x000000;//static_cast(bg); + } + } + } + x++; + if(x==SCREEN_WIDTH) { + x=0; y++; + } + break; + } + if(y>SCREEN_HEIGHT) + scroll(); + } + auto Screen::clrscr() -> void { + for(int p=0;p<1024*786;p++) { + lfb[p]=0x000000;//static_cast(bg); + } + x=y=0; + } + auto Screen::scroll() -> void { + for(int ly=0;ly<786-8;ly++) { + for(int lx=0;lx<1024;lx++) { + lfb[lx+ly*1024]=lfb[lx+(ly+8)*1024]; + } + } + for(int ly=786-8;ly<786;ly++) { + for(int lx=0;lx<1024;lx++) { + lfb[lx+ly*1024]=0x000000;//static_cast(bg); + } + } + y--; + } + template <> + auto Screen::operator<<(FG_color fg) -> Screen &{ + this->fg=fg; + return *this; + } + template <> + auto Screen::operator<<(BG_color bg) -> Screen &{ + this->bg=bg; + return *this; + } + auto Screen::setColor(FG_color fg) -> Screen &{ + this->fg=fg; + return *this; + } + auto Screen::setColor(BG_color bg) -> Screen &{ + this->bg=bg; + return *this; + } + auto Screen::setColor(FG_color fg, BG_color bg) -> Screen &{ + return (*this).setColor(fg).setColor(bg); + } + auto Screen::init(struct multiboot_info* mb_info) -> void { lfb=(uint32_t*)((uintptr_t)mb_info->framebuffer_addr); //clrscr(); @@ -18,4 +100,52 @@ namespace MTGosHAL { } } } + auto Screen::puts(const char* s) -> void { + int i=0; + while(s[i]!='\0') + putChar(s[i++]); + } + template <> + auto Screen::operator<<(Base output) -> Screen & { + base=static_cast(output); + return *this; + } + template <> + auto Screen::operator<<(int op) -> Screen & { + uintptr_t output=op; + const char* chars="0123456789ABCDEF"; + char buf[33]; + buf[32]='\0'; + char* ptr=buf+31; + do { + *(ptr--)=chars[output%base]; + output/=base; + } while(output && (ptr!=buf)); + puts(ptr+1); + return *this; + } + template <> + auto Screen::operator<<(long int op) -> Screen & { + uint64_t output=op; + const char* chars="0123456789ABCDEF"; + char buf[65]; + buf[64]='\0'; + char* ptr=buf+63; + do { + *(ptr--)=chars[output%base]; + output/=base; + } while(output && (ptr!=buf)); + puts(ptr+1); + return *this; + } + template <> + auto Screen::operator<<(char output) -> Screen & { + putChar(output); + return *this; + } + template <> + auto Screen::operator<<(char* output) -> Screen & { + puts(output); + return *this; + } } diff --git a/kernel/hal/x86_64/mm/pmm.cpp b/kernel/hal/x86_64/mm/pmm.cpp index b2bd820..fb7fddb 100644 --- a/kernel/hal/x86_64/mm/pmm.cpp +++ b/kernel/hal/x86_64/mm/pmm.cpp @@ -2,7 +2,109 @@ #include extern "C" const int kernel_start; extern "C" const int kernel_end; //those are voids actually +#define PAGESIZE 0x200000 +#define UNSHIFT(a) ((a)>>20) +#define SHIFT(a) ((a)<<20) +#define FLAGS 0x7ffff +void *operator new(size_t size) { + return MTGosHAL::mm.alloc(size); +} +void *operator new[](size_t size) { + return MTGosHAL::mm.alloc(size); +} +void operator delete(void* p) { + MTGosHAL::mm.free(p); +} +void operator delete[](void* p) { + MTGosHAL::mm.free(p); +} +void operator delete(void* p, size_t size) { + MTGosHAL::mm.free(p); +} +void operator delete[](void* p, size_t size) { + MTGosHAL::mm.free(p); +} namespace MTGosHAL { + auto PMM::alloc(size_t length) -> void * { + if(!head) { + //Alloc space for head + if(length+sizeof(malloc_t)<=PAGESIZE) { //Small optimization. The routine for allocating more than one continuous page is terribly slow. + void *tmp; + *this >> tmp; + head=(malloc_t*)tmp; + } else + head=(malloc_t*)(*this)(UNSHIFT((length+sizeof(malloc_t)))+1); + if(!head) //The alloc() didn't work! We're out of RAM! + return nullptr; + head->len=length; + head->next=head->last=nullptr; + malloc_t* tmp=head; + tmp++; + return (void*)tmp; + } + malloc_t* curr=head; + malloc_t* last=nullptr; + do { + uintptr_t loc=(uintptr_t)curr+sizeof(malloc_t)+curr->len; + if((loc+length+sizeof(malloc_t))<((loc&(~FLAGS))+PAGESIZE) && + ((!curr->next) || (loc+length+sizeof(malloc_t))<((uintptr_t)(curr->next)))) { + malloc_t *allocd=(malloc_t *)loc; + allocd->len=length; + allocd->last=curr; + allocd->next=curr->next; //Set double linked list + curr->next=allocd; + if(allocd->next) + allocd->next->last=allocd; + malloc_t *tmp=allocd; + tmp++; + return (void*)tmp; + } + last=curr; + curr=curr->next; + } while(curr); + malloc_t *allocd=nullptr; + if(length+sizeof(malloc_t)<=PAGESIZE) { //Small optimization. The routine for allocating more than one continuous page is terribly slow. + void *tmp; + *this >> tmp; + allocd=(malloc_t*)tmp; + } else + allocd=(malloc_t*)(*this)(UNSHIFT(length+sizeof(malloc_t))+1); + if(!allocd) //The alloc() didn't work! We're out of RAM! + return nullptr; + last->next=allocd; + allocd->len=length; + allocd->last=last; + allocd->next=nullptr; + malloc_t *tmp=allocd; + tmp++; + return (void*)tmp; + } + auto PMM::free(void* ptr) -> bool { + if(!ptr) + return false; + malloc_t* curr=head; + malloc_t* chk=(malloc_t*)ptr; + chk--; + do { + if(curr==chk) { + uintptr_t start=((uintptr_t)chk)&(~FLAGS); + uintptr_t end=start+PAGESIZE; + if((((uintptr_t)(curr->last)last)>=end))&&(((uintptr_t)(curr->next)>=end)||((uintptr_t)(curr->next)last) + curr->last->next=curr->next; + else { + head=curr->next; + } + if(curr->next) + curr->next->last=curr->last; + return true; + } + curr=curr->next; + } while(curr); + return false; + } PMM::PMM(): head(nullptr), pmm2() {} auto PMM::init(struct multiboot_info* mb_info) -> void { pmm2.init(mb_info); diff --git a/kernel/hal/x86_64/mm/pmm2.cpp b/kernel/hal/x86_64/mm/pmm2.cpp index f6d13c4..bca4d80 100644 --- a/kernel/hal/x86_64/mm/pmm2.cpp +++ b/kernel/hal/x86_64/mm/pmm2.cpp @@ -16,6 +16,8 @@ namespace MTGosHAL { PMM2::PMM2(): pmm3() { } auto PMM2::markUsed(const void * addr, uint32_t length) -> bool { + if(length<0x200000) + length=0x200000; uintptr_t add=(uintptr_t)addr; uint64_t pagetid = SPLIT1_UNSHIFT(add); diff --git a/kernel/kernel/include/textDISP.hpp b/kernel/kernel/include/textDISP.hpp index 6a18f40..75a9e6d 100644 --- a/kernel/kernel/include/textDISP.hpp +++ b/kernel/kernel/include/textDISP.hpp @@ -42,18 +42,21 @@ namespace MTGosHAL { YELLOW=0xFFFF55, WHITE=0xFFFFFF }; - class Screen: public Output { + + class Screen { private: FG_color fg; BG_color bg; uint32_t* lfb; + int base; auto putChar(char c) -> void; public: - Screen(): fg(FG_color::WHITE), bg(BG_color::BLACK) { + auto puts(const char *s) -> void; + Screen(): fg(FG_color::WHITE), bg(BG_color::BLACK), base(10) { } template auto operator<< (T output) -> Screen & { - Output::operator<<(output); + puts(output); return *this; } auto clrscr() -> void; @@ -66,5 +69,15 @@ namespace MTGosHAL { auto Screen::operator<<(FG_color fg) -> Screen &; template <> auto Screen::operator<<(BG_color bg) -> Screen &; + template <> + auto Screen::operator<<(Base output) -> Screen &; + template <> + auto Screen::operator<<(int output) -> Screen &; + template <> + auto Screen::operator<<(long int output) -> Screen &; + template <> + auto Screen::operator<<(char output) -> Screen &; + template <> + auto Screen::operator<<(char* output) -> Screen &; } #endif diff --git a/kernel/kernel/init.cpp b/kernel/kernel/init.cpp index f0b92fd..a64dc91 100644 --- a/kernel/kernel/init.cpp +++ b/kernel/kernel/init.cpp @@ -6,6 +6,7 @@ #include #include #include +#include void * operator new (size_t, void * p) { return p ; } void * operator new[] (size_t, void * p) { return p ; } void operator delete (void *, void *) { } @@ -16,28 +17,29 @@ void pid_null() { } void task_a() { while(true) - MTGosHAL::out << "a"; + out << "a"; } void task_b() { while(true) - MTGosHAL::out << "b"; + out << "b"; } void task_c() { while(true) - MTGosHAL::out << "c"; + out << "c"; } void task_d() { while(true) - MTGosHAL::out << "d"; + out << "d"; } -void main(void** files) { - MTGosHAL::out << "Initializing Kernel!\n"; +void main(void ** files, MTGosHAL::Serial &debug, MTGosHAL::PMM &mm, MTGosHAL::Screen &out, + MTGosHAL::Screen &err, MTGosHAL::Keyboard &in, MTGosHAL::Multitasking &tasks, MTGosHAL::BlockDevice &disk) { + out << "Initializing Kernel!\n"; Elf32_Ehdr** programs=(Elf32_Ehdr**)files; - MTGosHAL::tasks.initTask(&pid_null); + tasks.initTask(&pid_null); for(int i=0;programs[i];i++) { void(*start)()=(void(*)())load(programs[i]); if(!start) continue; - MTGosHAL::tasks.initTask(start); + tasks.initTask(start); } } diff --git a/kernel/kernel/io/textDISP.cpp b/kernel/kernel/io/textDISP.cpp deleted file mode 100644 index dd142c7..0000000 --- a/kernel/kernel/io/textDISP.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include -#include -#include -int x=0, y=0; -namespace MTGosHAL { - auto Screen::putChar(char c) -> void { - switch(c) { - case '\n': - x=0; y++; - break; - case '\r': - x=0; - - break; - case '\b': - x--; - if(x<0) x=0; - putChar(' '); - x--; - if(x<0) x=0; - break; - case '\0': - break; - default: - for(int lx=0;lx<8;lx++) { - for(int ly=0;ly<8;ly++) { - if(font[(int)((uint8_t)c)][ly]&(1<(fg); - } else { - lfb[(x*8+lx)+(y*8+ly)*1024]=0x000000;//static_cast(bg); - } - } - } - x++; - if(x==SCREEN_WIDTH) { - x=0; y++; - } - break; - } - if(y>SCREEN_HEIGHT) - scroll(); - } - auto Screen::clrscr() -> void { - for(int p=0;p<1024*786;p++) { - lfb[p]=0x000000;//static_cast(bg); - } - x=y=0; - } - auto Screen::scroll() -> void { - for(int ly=0;ly<786-8;ly++) { - for(int lx=0;lx<1024;lx++) { - lfb[lx+ly*1024]=lfb[lx+(ly+8)*1024]; - } - } - for(int ly=786-8;ly<786;ly++) { - for(int lx=0;lx<1024;lx++) { - lfb[lx+ly*1024]=0x000000;//static_cast(bg); - } - } - y--; - } - template <> - auto Screen::operator<<(FG_color fg) -> Screen &{ - this->fg=fg; - return *this; - } - template <> - auto Screen::operator<<(BG_color bg) -> Screen &{ - this->bg=bg; - return *this; - } - auto Screen::setColor(FG_color fg) -> Screen &{ - this->fg=fg; - return *this; - } - auto Screen::setColor(BG_color bg) -> Screen &{ - this->bg=bg; - return *this; - } - auto Screen::setColor(FG_color fg, BG_color bg) -> Screen &{ - return (*this).setColor(fg).setColor(bg); - } -} diff --git a/kernel/kernel/mm/pmm.cpp b/kernel/kernel/mm/pmm.cpp deleted file mode 100644 index 15cfa1a..0000000 --- a/kernel/kernel/mm/pmm.cpp +++ /dev/null @@ -1,115 +0,0 @@ -#include -#include -#include -#ifdef __LP64 -#define PAGESIZE 0x200000 -#define UNSHIFT(a) ((a)>>20) -#define SHIFT(a) ((a)<<20) -#define FLAGS 0x7ffff -#else -#define PAGESIZE 4096 -#define UNSHIFT(a) ((a)>>12) -#define SHIFT(a) ((a)<<12) -#define FLAGS 0xfff -#endif -void *operator new(size_t size) { - return MTGosHAL::mm.alloc(size); -} -void *operator new[](size_t size) { - return MTGosHAL::mm.alloc(size); -} -void operator delete(void* p) { - MTGosHAL::mm.free(p); -} -void operator delete[](void* p) { - MTGosHAL::mm.free(p); -} -void operator delete(void* p, size_t size) { - MTGosHAL::mm.free(p); -} -void operator delete[](void* p, size_t size) { - MTGosHAL::mm.free(p); -} -namespace MTGosHAL { - - auto PMM::alloc(size_t length) -> void * { - if(!head) { - //Alloc space for head - if(length+sizeof(malloc_t)<=PAGESIZE) { //Small optimization. The routine for allocating more than one continuous page is terribly slow. - void *tmp; - *this >> tmp; - head=(malloc_t*)tmp; - } else - head=(malloc_t*)(*this)(UNSHIFT((length+sizeof(malloc_t)))+1); - if(!head) //The alloc() didn't work! We're out of RAM! - return nullptr; - head->len=length; - head->next=head->last=nullptr; - malloc_t* tmp=head; - tmp++; - return (void*)tmp; - } - malloc_t* curr=head; - malloc_t* last=nullptr; - do { - uintptr_t loc=(uintptr_t)curr+sizeof(malloc_t)+curr->len; - if((loc+length+sizeof(malloc_t))<((loc&(~FLAGS))+PAGESIZE) && - ((!curr->next) || (loc+length+sizeof(malloc_t))<((uintptr_t)(curr->next)))) { - malloc_t *allocd=(malloc_t *)loc; - allocd->len=length; - allocd->last=curr; - allocd->next=curr->next; //Set double linked list - curr->next=allocd; - if(allocd->next) - allocd->next->last=allocd; - malloc_t *tmp=allocd; - tmp++; - return (void*)tmp; - } - last=curr; - curr=curr->next; - } while(curr); - malloc_t *allocd=nullptr; - if(length+sizeof(malloc_t)<=PAGESIZE) { //Small optimization. The routine for allocating more than one continuous page is terribly slow. - void *tmp; - *this >> tmp; - allocd=(malloc_t*)tmp; - } else - allocd=(malloc_t*)(*this)(UNSHIFT(length+sizeof(malloc_t))+1); - if(!allocd) //The alloc() didn't work! We're out of RAM! - return nullptr; - last->next=allocd; - allocd->len=length; - allocd->last=last; - allocd->next=nullptr; - malloc_t *tmp=allocd; - tmp++; - return (void*)tmp; - } - auto PMM::free(void* ptr) -> bool { - if(!ptr) - return false; - malloc_t* curr=head; - malloc_t* chk=(malloc_t*)ptr; - chk--; - do { - if(curr==chk) { - uintptr_t start=((uintptr_t)chk)&(~FLAGS); - uintptr_t end=start+PAGESIZE; - if((((uintptr_t)(curr->last)last)>=end))&&(((uintptr_t)(curr->next)>=end)||((uintptr_t)(curr->next)last) - curr->last->next=curr->next; - else { - head=curr->next; - } - if(curr->next) - curr->next->last=curr->last; - return true; - } - curr=curr->next; - } while(curr); - return false; - } -} diff --git a/kernel/kernel/string.c b/kernel/kernel/string.c index eaea754..69589e7 100644 --- a/kernel/kernel/string.c +++ b/kernel/kernel/string.c @@ -13,6 +13,9 @@ void memmove(void* dst, void* src, uint32_t size) { to[i]=from[i]; //This would get optimized by gcc to memmove(dst, src, size); if optimizations are enabled. } } +void memcpy(void* dest, void* src, uint32_t size) { + memmove(dest, src, size); +} uint32_t strlen(const char* str) { uint32_t i=0; char* str2=(char*)((uintptr_t)str); diff --git a/kernel/libhal.a b/kernel/libhal.a new file mode 100644 index 0000000000000000000000000000000000000000..03b79d3401db0518c2902b424a3fed3e52402cb4 GIT binary patch literal 523352 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

KWQ21IAW_K(6 zuhOp1EBrnw*ZMJR{Vo1=mHuZNOg(?A@biy0IPEi`%jWZK!PhGMXCnAdQuwsUnNEd2 zD)oPf!Y>eh&MW-Fb*3H%72YlRT&M6mM8LmS;d$ZPPb>V#B^Ql;M~d}I9#HvMB#?hjP@X-a_W=L-M0DD&Sb+~)Hqg&!vU zzPi!mXUnaVe2!FjpU|gS;eQc4uJBtWf9p4}`TL?rhE)25wCiOG&uupKD=K_c3{u)} zLzm6prhkRPA3DvXyH4Rx$#}d$;ah|cKdkUagkL|Q@VZk?{$Ex2)nYJyQ{h`>oc>nf z7m9rQqr%UYa;@LMwznr_%BB50bXoi|v6tEuKKKHYE~jzn_q@WbUujz5GbS7FGKGIp zfgH*{tl7D-%$7-p|kZ%*!J!hIdAEjANLiqVUg+C(od{E)v5c~7%3jc-Jjo($cC*?k>@K+1{f2;663;v|St-Vzz1_V#v#$4@u;yjbBk z$#_3s;g2Li@mTs2**1u%&8-zcflJR8mh>XY81mLpxw2bR!h5tnQ zeL&$COZ_fTxGnc0h2y8$`P!>+o6jp1{$eTj28GXx+<1q=e{-72|KkcjQ_|n9@Y^?< z^xswZXJx+j9}0g!cc zSB4GU9#;6i%?5v5;WnQ?DExG>D^`eIX8Xm`ZH>a;D}1<3;g)VK3V$qW>eH)mOSd6~ ze@f)@B?`B6+o$kzgg$RkxYe6CDg4a!raqrg_-lopUsd?LN$!1L;dcB!rtrH&@BEL# zPZfS!w#H;=>3of(J3`?AJRJct)t?;jl{JcWp)?fEJ zg}>lT(=YE+xb@e4Na24Jz4=9jTYu446n>-F-@jA%8>Co&`d27?PUPy<3jdSnoi{7|yHf7$3g0d1KdEqA?tKd1B7TI26n^wpQ_mkM{7Yg# z{8r<_pMO#KpQWD1%DA`v`&+qRukagW9+y;jNbHI>g{eK!>0Z(QFu!FcS7M; z%6ws7;qMZ@x>n(TlX=$L6uwdT?N)`alKYP+d@~UQ*F6e9S>{pqD|}MM&$kr*Jjv%* z3V)-_Q~s#%BZc4Uq(5!HTqJT}jl%n6oSvZYV?;lmrtouxo)Lu)NcwXWzEA3xQ}{J9 zPaIbGxY)OOh1+-JrxkvOwCjMvuM~P-rSM+CuUGhA#NK+R!hat({rG-`KPLL|PKDnR zHtGLO;e~Am|F*(ED)jlO!Z%3&{#xOe3VohbxaF&LN11YLzyHG8=L&y?;5migEc~-m z;r9t2zE|Owi+*gA@oLNcv&hLl!AX60o2v2WxP$jN_&x{kb?~blywAbk?%@3n{s9L+ z&%y6;@Bs(^s)G+Y_>UcY$iaW(;KL67cL(3;;LF9{vGjRL=yRmP>qO3Z{Ml%`HR@GcdPVvef%MXTYunxs(h}LdF~@B zz1B0@G}(t9l^s2e@yVS!s~=StqMO* z@Er=@D)^AX+XR1^!uJS1uJBh0zTd$`gfU@m65P_~A(=P5SK&V+LgD&^%4f5Iy@woJ zR4K>&Ugcx+|6hgM{0|ekLd8)&Hvi`dZtM9%sZYpBPyA`$gG?&i`dhLpA3LAjq0-y; zGGDLoW2JvTyafJzh1+$h-wJN)pAtU)yGp-Y?9Y?MPhk1;9Kp9M{7%7p75*x*-(I5d zn+2a#_-6&bMB)D__^TBDH^Hw}xLs#@i^8{vo&0Wv=LG+-!gmY)Nrmqh{0j=F_p9l$ z{!~l1_Xz$&mHvx@|3cyaPw@Xy_-};H)_-I3UoCQSx!5ljr}uv8TBq>41rI6Q`q_61 zZu!KHm!iT~i9LCVlaGj6F85}I+i~=e%E#vaGlj2`b)v_de8j}z{EwA*YA@k7{|ySa zIy)n{Zr6~)4{zq|y_Y)q&@=YBQKh%_zg^+4k$miWDb-U%A!qe7Cx0>78DB5{PTP;u z;-6_#xLp@NPvLD+(F+uAZG{Pimn8jy!rvtL6$-yY@HZ;_n}WYh;ZF$uFA6`38i?yd z3g0UDrxczM{CFZj0=z9{&^3O^|LZxsH1!T+l8`vq?jJDqN+zpOv!NQKu)XTCt; zX9~VW;kyJ+Dg4!fXBGY-!3Pxn6Ty9juM+;5Qg}%40}9_R_-hq@f#7dexaH5A75-OA z|9*wXMQ;DA!e1=-HwD+@^hXMRqsX7f6#n?>#8sa62Pc0Kd5ph6?0xD-!Z$GLd1om6 z9KqWJ*Y)XExUJ7i6~0B}_?VNwh;lCBI)&T%+^BF{pHHa#t^E1C!mkm#`pZr}qFT7z z->CFwihcfjg@5`KLx?98Zqxr=;h&ar>!g1y-7LOb;nvS)^@&YyaZ4-0#Z=)6$+VOA z!wc&(9^y~457upO*uia{1Z{V4mrwc~+?CrGIylwIUUL#4zH;@{2k=y-G01L z;WoX9OI{Zi(Zwm7Bt6kUh7KcQz6a~b$80tU*E{KHXnseCXUm~m!gmXhR_Q+`^VT+n zAG6T_)^|bq$W)&rhMn}XbjOJA;8gB^MGa7N@Q{S*YhJ>(p4T2>fXfyBc_Gq42NzMr z$Xgto%AGyl0RN=$Z%Mm8sPG06Dt9`#r7c09b8yPv`ehza`1^#O-%$7?(l2&w+V(CN z`dA*e__?)wVI0ddHlJMrSUqF$lcXY>R6Xw$#uW7s?EB0{U6(%&og z-^B_)N$^V)zFzohpTgfN(EkR7$EBm*p>R5< zjIMW^uYjKGWgNXv;rEDu`H;eYb(8@(Ds_=IT z{p&~p;nFhU&(m4=Q-H)@e@ovb1MBUVi5ExoX#nuYgpmuh}?UL z!f&F2aOD;LE*UTSy^p)4+-a5mQ_?T<3J=M6IiT=0VzgeS@CQZzUZwE&iy*h>PFVUp zD)hWwrT_I-)2_EE{HVCW->LAMjxhMG3jcu^HFh3s%RNiR(MMGJJFI?GxLsGfN8zvB zY|8yNg&!k)Xy@6s+?yrczpM1`6Mob0zwAty{C}X*KP+{t5AbPw}=xXcVC-h&f@b`%vK2qU75xsew z!ha$3e7?dzB6jr#h2J7Lol8uYt}erT>QL-$8}HT=;O0!tWD#=qvnXl7B(rTZIl6D}1}?mrE4>Rna5+6h5)q(BV>r z|3>P0rNZrdjQYK~FN?i>ol1Y2$QgU?tnIJGGfcVfQ0eWy&vz@_+AHr<_*o*~KBVy1 z2^~JJ@OKCw-mUOKk>{UNcv{Bw7ZpA)@&?e_ZHq{ol43VQ247h5vWR#N4Csdcprq;hzxwa=*fR1^;)2Um^VVErp*X_NRW2b(iql zPgMG!i(c06w}zy@9#iS(SD1F`_g+sCy{6xLT@*X#?<$`gPc`{8$oRJX@^JcVB@?cJsDT_VTyd%iCcyJ%FUpAmVe-~at$ z$do&)(%biJtKJKi{?hLSUnP3#3YE{e=&9E!{4;{TLE*zfhc_$yH!^B3Hkz z@IBHm-%?u}eyr4UlfvIAcG@e$d!?Qkg@0A%J3^jd-tmCcM}|#+pCNKX#C?F%?@7=l=4OD~{k7r-3h=8$4s0-w z1^8{!UTI!{-ztC%rvN`v=qcI0Rd_-A<(&$D&#?yh7lq${x&dxi__w6rKc?_aQtsUf-!A=ouflH-yYYU7 zzgOs~`TshxE2Nl!ukM!lpicim!FBqKFt{EsGcxbc<7I{LzaB3;M1Jb=(kT6<$IGA$ z2whLR|5exXo1$NIJ&%+Ebv=J6_K&XTyp&s2PvJLR&(lQ?>v6qS+7=NvUOV=`fo!n6LN=D3w^;;57y3=0v{3XII z%_;67Cm#_F{K(H8Tu8~deUFOrk)g|Yh(FC9K)1cy9o%j2g%0kv_i_h!+k1I znk#;BV32=U13yT=*J}=*St3dG&!a5y2>+Z)tsiV@F3pQx~!B3i)#D)f-vHQ~>_QyJ&CQ0z?ASTV| z!fXj$%9I>)!-bK>3BNcqK8vpBaDHT@RIvRkP$@q%Q3xLAWHq4a{AdZ;m@+ug6n@Lx z<_li)nn!1+rwcP+Gfq^P^!Z1fz2=G1?Bbl^+yCq5&0u`18{E9M%Z-@9{7xFFm}P?7 z@1>sas`313&*Az08qc5p9G>4@dfE|9*|~&qNOPdE0*4 zM^~%-2cBj5%kX@y@%KcH@|$avPy6zye0@D6l zMEO&s*m2!qzJgC(e%lh|-}OcF$WNW}$>*iZr}N2mp7i8N;`k!{;$AxK&Lzsf@qY6Z z@i$%6{v`gEEFbx}SG}wU*x&E5anH8=Ll2rKnocm^RDK$N&$j$7N{s8P<}3Jow&maW zh&&>KfyyV};Ew1?rI za-g{#eUrGQZ<<%rH>rR6re(O{u7f}Cy7Jd+yAEFZWY@LXC%X=Qsf*@Me0AMrLr*>Q z;C+WAZ3t<9iL}4$y8rUaC4t;tEw}e)|3;xJFa6uemxb_Izp#!{Ts!=?uF-Gazw8i2 zK2~?=%Ix3j9{VB1+`qkPEwHXnQ4C$54dJ79O|E>R?lt!=oZ9tSN=H}iWPkae$NqLm zYCYI>#jjIna@WDnJn+9yJ=Jya&U@+W4cP~lY;V`W&m;a`ia+>0mk_8foFQPxa@=38 z5E;4}*FJSJ-F+W--|sqjf7ctXqRc;K@lLy}x$&r`2Vl!B2KwdFhkh;t`Vea(b3f&T1HJd5E)P4y~vsQayoG zPjodtfoITZK^qSCFQbSD?*s0&%`Q%jg=S_KLi|h7p=oD~uIj*w%~S}#2|rtUVQ5F8 zG*g%gP3ET-3S+0NsvIE)7g5+S6^JTnk`emgecceRB>f=QXpl*mLN%`Xy5)q{*Mkj2 z=rkPBf#9-bjrcKiufEBNIMS!2=G1tWPYp+1LP-4zd>V<>uV%f^6@e!{+_AyK< zn%FT_AE%0&!>{XkEtg&td;$Iry9h$WOh@yA&O!U{w(J78T4^cD~ z=V*D5HE`XXGXDVfORnIzdD3BBx;43bbTYd9T^X|J9&JeNi< zM;$rj5miiXOds#4*~JBK8A*2UOZYnqOzSN>-riDy-ciLFZyB4|uS6c}I@^c5qbA1i z)bl8o7PXJg0b6^hvE@BrqhknN)tIKYS-2k?&l+clJ{n)R2@R!&HenCdl%`=|tblP51~3U(GdK&X3jo83jB= zh4A^loc(e#AxsUALze6D$FWWgmzyy|HKgAaHqqvnfy_|kO>3V(zNVBFjY$kyerUyt zGL=?vNp+VZiz_LcW2tA?>X)_YBd(a)@KTbd5PlQK2oBR+-irsFA@Iq$HJwztw&*2C_hR3?T^-MV)G zeXosilD6599}3z8f{5~h`;-^ z?x5CqM@>(A%gB)MI?xhkuVvH$^{Yqq0*5uLC}3=1r0sZEd6^&)1EjWrpV{CP;# z(NCl752EP_)BVd?q%pI--bRavf1+{SGE{fv{6f-eJbFD<2jPU*cnpP`5N`1rkEQTh zgyUZ0aTGot;h5KWJcUCDN4>@qD7+Ejh}ZZ$3WpI6dyOYjIJL5r-|sb^bPclKzOpoe z@bf9$wX!sd@Czv1zp^xj@W~Y3y|Of4^cq7Hz7ROVr%-qj&(3*`>nS|9vXt@~H&Af@ z%2L{EJe7i%uPjAS>S+|d8e!DtbP69r7_~fu!Z#v}+Ha)rEeNAkn<#u6!f5Sg3g58` zA70~`6u!%Zw^I1tm8BwTu#LhGtQ?*98p9NP$RvqS`1`0ll0+%|)0I#gjWG)T(mMs8 zxS%(elbFJP5WDFB=woE_N*2C#F+`;Cci1)M7#6&BJwSKcm^D1Sx%*cdp*w}BeL*x^ zIFy68k`uiR;kxS(O$QHf-fLKfux4Dz2|3A!gJ>?m)Vc|^UbW&jR1mTFSa~ZwV8W}2 zfefFoGWDdNMxmcUIqdzEinCtDRb&=ihg>$`k7KzNYe?W28m!{F)+G_&8l)*VWff=k z5q#F2kLW^>q%022`Qe=8Qbb=JBq@u-Rpd+XSRCFQL>qC)lKc3k6+ZyJa;h-nH8rtZ z=cYETBvoVV+NM<$UhA!=tjt-q^#IJEG-mhe3&=Ewu7(Qm$tE|!3$F}<`4d4fvBJ6J zwW}|s--+YWR$tag+^Zp>L(Iq<4h=P52%PcbV{~Dco(spCOX< zoA75TY<_rY_2(!&Wbk__ywij~zZTDubO49kNBLZ6!e5~9mw<;JEj;d2vB)nrz>iDqmYo4(ASAHx%yIms4EO)BS1VwjVWf)w?} zCbCsGkqx}DiPYrAro%Bxw$|5SUO{(c)opAd%eB4-$rbwyu{5 zkAlqIP7_xyhzyDr$&?KcFF})!x|2TPl)9(Rq^P@@(0Pc+pwx!z@4A%RPGXK zw!AC=IZ4Py^3M7>QT8zJN;Kt0{Lw7LBO;!CPSLA7+{pWLsiAazPQEF8Cw<_myP43{ zDB?ww37WF~oA}PWfzq~e5`1ixz!N~*D60PYsd8;EMx*om<%2xw(_#}5&o__vhK9Q*R5_i{KUhDk2|t%?Qw5!g^gK%s<(Rexj;eNW4(sM z&szP$)j3ROmI)5BG^XneUI!d|5gHCZ8}{XjxTKyrJh$#eClJ(BkA$mNQx=pIHbz5} z$uEWaL!aC1>2`H<-HT2zzzi}RTSt#z0+?Gz$0)6#02I8ND7xAvJHmx?>&g*pYeisy zZ9`2cKb$CJs#LD@Iy9(>YJW6p-?X~X*8Z4v6^%L8X$;2paZY1!dpwuRjh#8XT%8k~ zhgL_?=;yihGwCoz<${;nf=^n8f~QYdjc%~e^EZNYC*k=QZ~z6Kj6l;#;PDV62%N&i z4{}-WmXupZ4cu^CUAc2kEjIvKc%2h-`Whzv8T3URwebjW2oZ17=^U|nt=w;^tIKh( zop}l(wjt@(W58+6#|R8byc%GbV^QbG>4=Rs*LAKNTX$sLQ7g6|Kep~|ttU{w<4xQK zuu=Sk`s1M$>BjI4-L@Qjb)9!)T?EMz^f1L#WdNUsHPkI@b4DDdnlz*@wtJFzpg zk$s+x?6huV&s*cEtXvp7s@+-p3SKezK|mOnfB^Tqtx!=L^9 zImn+o`Ew6{p3k4=49Q0Gs$nB7A|hLJkYgh)8shG8^Yt6^^;`bpwy+*;q=^i9PP|6v zzLA%A8Zko!4x_kU zu+ZH+Nsg_N{Ct6NvIiG6!GM3uwmM<)ym~7gLVEqd& z{z(0q>j-Rmw7a|MP4$U&4WZxHpSAXu9p7vEaDDT-rfv17AKkQm$A|xLX6gbikh~E)+`nsrgVe z9EpYFUU#muYsl{$$nNp>jugPjh#t?67X10bgs=oMKpC-URS{mmLH;5hO!?K+EX`*J z`uBQ0!`(x<*1oy2oIyI!QA=Tz77Kqp%W@=6bDm9 z+v0e^*{x?J(n=$?y|A}9T8M;8h5XoHfm)RZlfyq4G4P?OHAdbN5=9*>~K1q zM47|Xu2PiwgxVFcnUF#55o^Whx{b?CKjJ3Pu67b!7%33Bx3Q zXnu0Gv=FMuyZjXB@6%%`JVs5Rj<3b9hS}TpWO}_x5FDxd2HL@ht+`G=+uNSY&_IjF zqB8y>QILV93kF{Tq-`gLBqGs(WA61sELv2(NILaoP?2_I?1x%n&Pd5a&iZ(7egyo4 zcjm!+zJGDbj^u#sb{Hd8q{cv&dL|npdXg~VJ{a87+vd0R_4H>3vPPur%Jlnjo1LZ~ zi9llT9od22Y`0->7B!$&g{VoicQ}K#E1MxQWkA1P;%kJGJ~SRlA@CK z=l7<1hB{~GyE5JK4t!!B?~qSTsqrU~ap<-AEZ&i?7@RR|4zaSYzHL5c>+)DZ=gRWsrbC=;#BB8`6*~$CMrQLR zk~da5mF255(2dw2H9j`G2+6Q9(hN%@k&Z=T@l+xji?k%esYpvGr$(+IGN*$!1wcJ%b#MViX#kLtBPiV$Ky8MoG&LLWWwakgOq} zwPx8|>d$mSuCv^QHDWH(P8TybB4D+Vt$L;LH$Fbx?QypvDUS&VgfVn}ehStHhKDsL z(uilH+R*~d;Z!^tjz*Hvc&eo(9FNE1;YeX?ByF{zF%=xTQQ=Z2ZG6?J7g<|FnZX@? zXJ#l%x~RnwRgeIE{?1mi4?FrOlCD%ZY)tuDN|zLlm1DKyMSPKPww5|{dXyxm^gtKH zy4A9gSR|YzDT$Hg4ptzNkwdBM))?6agV})`#D90&0F<=lO*}ySHjru0(a5GOsUyaU z6Ghkog}FRS6SjC`u!+iD-;?d>8`$Ib?i^&5>*~|?zTsBXmE}=co18bC!+fHbjTqvQ zvaAtxLK0zdW-h-tPfCczKUqp;BOws~loE#Y91d7%?S#!eHA_MU4bPE&Gh>IXq-Pia z#;&3E<|igfWWyKynfbBlV%dmAEwwczl8YxmhOg7j>B=h`OT{r6GPJFj2u7O0rO|XM zo`4}2Peqd9WH=p#CEP;OHD@@p$aF^YbYa?GoP%`t{8rdmMi@z#_Ml5)_b7QkMV12u zkC+I`FbGAWv3OuR_byJi9_YA}ew3&Pw54Ay4vC zg#{4TsDtxo_Dy?a*`P4wipPkIhU?SGY97n9_2u6&>F9`XC+O}+o#6yYZNOL%} zbvhBp$0#&iVd|Wzd}*S9+nL#|)6@G+0J=R0L=jq8oGF|$QJ8`EVidRe(&*$l`%{Un zl+Q#Af1#~#u$(i>g=`&1RUeFt)u(%Tfx@*iwg#uE22i@*#kJXwzI<<=yXR;`c*_o~ATyJ-- zmj$ec24;JQGKj`VLd~AZ{DrX_OT}0=aaZzm=ILv~B-xvX!wp7X#pH-xG_3=DyL!D> zIsSsm@fLOcf$V4~E0GK=D}P7#aC;|fSWHJqk9zsJxv2w&z{G-@4K2f2MUU#YZ5-Vc z!Ym15qBA!*gxO&KK(>Qb+SAk~MHVqlAF}-&d-rC^?G~%BgP;@&GY)^bf+U7_IjCEL z5rJyhn%WxDkRbJfkywIRGmg{2##|p4Gnf%Nnbw@YGdnPt>+20gKnKsvDIGQtCapH$ z%k->rUk!A&f>rILzJe4yqL!Ky__i)!_4O?6*0Vo^oM`3ZcIMi%eSS}0yYwD)9`q1f z6y!DZd$L1aeeKA@+7-o_NyxsMuCf%3PNo+1ia(m4gLjF&G0bKTp{wVEH0}o3C5$Z0 zKyVGISPFJjYxi*0sXJS6ZGD)@b;8Uets+(&SkRlE&cpvyn3-5GRxmrzNF%fN%vICf z>_MnByLnQ>lWa!-!Yvz1wWRPxuFVvTDfno4qGVd;%F~K|QVOf=ikpWo?jktjj0q1P zX|@-wr&@|eU<#VeT zEWdZNk8*gB9H#qIG(}}IhFo@9#;~Y#xH~>p#5lwgVt#aV_hrh{T4NgJvTc4#OPW1O z-PzsXs?o(#$y;b>ut_&*&ow6H@y%YI$5D~waOTp2ODq0Zo` zCQlYsn6#0TN1Q}j61J8RZG&Oo6Yg*l#o*{8aIQ3UjJE4;Ap<+wZlo@iDs8)|3*MXu+!9lW1_4}k6L6Fx{Ao}irOU_2ALCq8plkQ7bkr3tAp8$ zXIo}2!qiR!F*_y)1lLt!Yt|;$=Xa5-P`Wyp_fnPETIELA*s?>poyl^@TnwI5g6>a3R{yM-WV;i%m-@GVNSMfE8JZd5ml_i7hOYj z-jjv0+~t*wK}`dj1RN5wpnQ7nuQVd*INq|ipwX{ z2CvBgJM$cJ#~?Ra*hU5&tON|fgO4Sys%0o^;v!SFL}l1H3$0;sCc_olIf#B@Wka5? z9M(p_-?R>fE~J4=gMmh$%XSrB86$+BX6+|p3*hBeR;?6j&+ZIVE9}69$s+Y?AYC1y zU2SrhhRLkjSv6#{Q9LBM95K74)w%H2`h#6q%d@ILWVWNwEi1XE9UnP>N6oTae|vwh z%o2*l@fMpq`cl?xsvduQrZlo)M{kAG3X6_3Q{YKI5*Q1@@d!o|u@n|lNN~|?*@FZg zFHTr-R#<3bR~Rps+qo*}&B9E0gUv3OMd(_$?N$ZSH)%n!q0!aGEd$fFqIKfIPR&c1 zS;&}Fhxp?7#yaN6#vsNUlNmm(binDwh9demJ1{WZj}?CLu_nkb)Mi%G=&8xVet#ST zh89R7iEvCSEuKIQ?&%o}xQ7=;ET1|uomxe3#x9RQggG3Pj#n-W@hq^a0n)vUmu=6g*=4pfgWV##hcL9r>A{i$Lltdxq!lX% z-nOFsHhQ%tXoz)yV?BtM4rOk_Q!2Y)IX4SdCU2;*?bMn&5tA-5TA4f*CIj|Olv~9z zsI8}+Y`%bt^tKH&uR_0(1xv%%jG-8uy3rK;sR@kFmS`%~l7{BQLKyGC5#1y+gkZgy zcr@tafEUfIAG&iO*G9W=26LkCxiqIEp_!?NkqOnI%;@Cj@ANSR8$e^Q`dw})$yrRQ zXsO(~#iD^*% z-Mv5oEdx!9Wk8pODvaMq()w%zr!}vTLlk8(eL3K?SSCvYSx{pq=A>lqI3nKG&=v7k zhB>(~gQ!I=So6@_$c~8J5ok?TYEo)uXC~Lpj)ltEnT)NZ2)gX3XO;nx8TFcvXJ9Ut z-B;C%MHQ|#w?S6EscCO}7P+-S!nQ*hnDJ1tCLvymcyl@)PPAa7S_;Z6o@j~3BT3px z7LCJCYrG8XL=l4;Svf0H)>KKfw8RoLkuj|6VwZ zTroFUC{9c+c=!bXVoc`{BM`5$pjvi~l`uvgLOYd74sz3Cpj!5+sg}!{xKhg4jVRto zaRL4=G@>aI49K8vL3~3yvX=PPd z?Ra(5MJlE!OIv@Uuh{RdCU8ObkdemQz+?=NL=DWf8m)zR<&8VyaSFs}qH;vB$ygx) z&4xBt{sr?yZ?KI#ihfs?wqSA?Dewz10SHnb7oz;!Vh9R z)8wt-r9R9tu++zTxzaWh&Byc3RG1P}Qq9+ALt+g-FV zn`UT}Sjl7mEOrWZ^6p*Ql0i-bQ-^Zv%(58NK-u@OlzXIx85gtbSI+n#379YysInH! zTE5X7<%KHt3y?#Az3jr`j`dykKUXfQSKMV`oyW1M0V@QB(%!&ekcKx{{70S$ViyeP3EgdqjmAkZ7!2qG>HNTcShAV9>hq4hG@o-Fp z*@H{d;j#s3>r$mOx+{j*oGiN|7qd%Z-j3>B=(R3v0f0tv8o|57Xr(iYP0>86%^n)3 z^|nOoMd}_L;Qf?=xP3aArkb1S@2OmRi9@`rG~|9A>}rQGyPF(QSi&U@AcD?u1Cl2l z5nv+{I(DWYOPx*=YidYq^pTRH*#dHLc9KMr6-3>KohP&^)IX5v?8!h0w_~9ZtFf2| z^S$;wDngN# zXULfS1o_91f1--$Y{tq|f!icYW6;%>LS}O<&5v2DV>e!L8v8p+rTl^UP$Zp7k~@T_ zNL4#Y$pV*^99ZNYZqEvB#4LN0*;YaC$9PBcC*Es$`G8lqe{J1~hplKjgx68%7%cju zYYTm34qyA)`nEO8$B_WH6vyuf;rmYf1@ZNFaDot^mlBSP&sDI`cU{@g&|SxAD38l2 z0j}HV!=|afHOS)@!g2BI!Z!Y5QwI}M`x8yTJ43(2$ywD`L&dM$mE#*Ke$CFs`8}gD zAfbkeU$ZMmH&pz(n~T#6($!akIisp7qM_!mP2pez53gj`xEjpKH&rnW_S_{E)8K7T zh`DVDezCPOx`9v3t;FcAfltt_g`30EbW8)Eu&YtZ=d>yiM?&BV-Y*K`(;ULPQRMoD-> zE*T!rhvP|p29}<@^oJ*sDySZX|8NGH;HtaisnX!Cg?)sh@f#<5wKY9?{N0Pv4Yf(HM*s$N<}bRSvp$pqjFR7Owk3%$h2M{ z-U;eP@(ighQZjPLp(=VQ_oYJvGZ`y8>D@epKIPYM=)@JeATBDj*2#<-e7%I} z>yU$oBuroLk}&0Ss)Xt5{SqeJ)i$4Ya98?%$-(Ko7kfP<0m_Hpr+S^nln`c%f;fC@GI=* zjDC86aQd^C?K{G3SroTP5)i&x!t`a^NI2E!*Fx+hMdGsf+d_OB*tQm5CY{`GqJ#AO z<~*=rg@0cR>k)^{O@wl@8KhC>vOI! zDg8DZT^3&_?K)ZEr%Ss|Q+P@k`CNsELY!^zo7y)2PYOMEFOmKNg@0ZcbDzQ=6-K^P z;nxely;b3S=oG4Sv%-(1is8CL;lB_QoPPU^E?fT-rM+KP`2G+l^Bz+8^&&jXVGZSc zZ2CW_^!7K|={K|JvgO+J$142$Ax`F{6#kzp4Sue|uMxbU@SB9M78L#?nKE6f@H<3k zy-wj-Gx6}=q3~g$+ea0CyvVE1DEynEOdeGD_y*Ii-)fwM6Rvt0$Chr-m;8@a_&(vE zlNA0_;h%Pew+bCztnguxGZ!elB+6$@;g1M@g~IuWLDc_s3jc-3jSni^^2ePDKS9!e zP2qGjFkL@X_!J*};(3oM+~)IZh1Uxm=wK1LES(?XQ^|2Ipu+!K#_tA&zftJ6>HlNz zP2j7luD;=OZw4+QB!P&66PHm2$vh%pLUQ5eA&{6s!J(Is+(0Cg84#=p8mE+^V5?%C zTdkBe&6@=K)S z?X}lld+mMBJxAahz`sP`{8%|Y$^4c@FAl#zDMA1K%UP9elP4N5&q2R^L7MN!v(%=oaUb+@ShP@3tB(r28g})Rz^_F-^PIqciuvVt0-u9= z-xYWZ#@ELJ{~Y*d0xyT&{x0wf{kmNT1^(tljqCT=MEqDg?0?uGop1WL5cYhu!0%xK zI>re+WtzrM6!=JtyIg_K7^~?|7Wk7BG+rTaqyJig8~vXlaHIbv0yp~a5V+C*4+U=Y zf3d)g{?`lqLcf;(8i5=A-z;#W|IGq7`oCY`M*sgQaHIcc1#a~JlE97r-xPQ|&Oa3R zld#*r2z)sD@f(2~K4!6J?CN~p%%@`%#;d_+VBC!s_}?)fvE-1z?s1YU-D z=X!w~|9`8%e+&ITF7U6=uHOp0%&YbCrojIbao2|eH+*&r{O90vK;TAiUc_sh&8GYb z?0me$;oqhRd=KooMBqkmWdct;LAR?>;6`uF0#Cp^(kpN?Z(b?z7|i2$3jA61ut3Mz zD)68d$9Y-c#y|W~;3j_FDe!MFF7^qW-wDpgKLt(~K-CeCc*N*`DC8U_@EI7l#|!*h z@Es@c2QUw&3;a{WAtwp^1o(})0-rZU%ULb(7WDgKflr40EEo8tXjhNG?*x9Oz)ii^ z3w#s&$!3AyexjE10fGM(ar-ubUxo4h2Z4Wpc;hbu9|S(%2>b%XnaMnO=rH{_3U+vm z!0X^Q=yBaq^v6uq=h*^(8sq(Bfu9ZkHc#Nyu&a83zk+((1ilpOpdSkSRM^R70zVn` z{zTx{As)L~;33f8EpYw*G8&Hpe-?4+%L1P~P3z|!fxiuV+a>UKF&}*)@a2BZ=Uagv zgLSTclTM@`e~5k=0ezVM<#z@1F-G74%$w5$J`wU13Y=eb$VWin^RbRNMc@yD&shRL z34XOn;E%AtbaV^+HSBj?C~yb!@_K<^0zF(O@byzP|9b_##INxe1U?tzZaBu1(dV0J z?*xJ0I!*J*68O`ws~x~ujaWLU0)G|sCGgMx5_l8zpO~WSF?`T0XS{`Tmz(R#Cj&R~ z8~%#~Zsw7t0ylA2x8Q#X?CK(cZw3A{fq$sQb{-P^jXci?JQe->s=$8%K05`z8TjV{ zPenZNt-xpcb%7!9H%31Xp>vKFcn1_cN#G&aLmqJM7goV2^jC?%`JJMCR0{lg;AaW^ zJ>ZQ39|b*M4BW_X^m(Je=VCnGF8G|N#c^H}_^H6Z5cmVY|0VE00#894#9~84m6I#* z$)GO*ZshmF?&k`;6@G7?zzw|_Q_Ke;f~o=CuCB+~^7v6d%W292QeRSjgf%W7^BM)4 zzs(2kRnaq^0pDpTN!fAKP`V{*Q;BA0p`A!ZI!v^c}6#{=9_ERhH0Q}4u z0{^obT13~Ib$@R*986#qgg1-*SM@G+=2#;e<5^pi41pPM%z82mo)H}`!R{3!JM2*GFbG|lH2fsaQ# zGe+R1ohJzV3E1;AfgcI`%og}^#1Dl6e+c92WPyK#^MJrl0{?jeZ^t}xioid@{CJwc z(;)v@0>2mbUoY@i;2)X<&aXt}qfOws2++C(o&h^C_v4xVx)t-zg@XQev`gNX@+QXP zdO?4ypQUk}p9uUkjQ8sVK5Bxdzgggah5x)=;9C$6+%516a4zqMc?W*X+-GRoTRBD7 z`=sC#Ox5_a0$+}KN8UdZf}Ou2=r6>0c|+h&Vv+H#!2g1{;sb%3{aL=hn-3%ZIq(~w z37qer=i_ezpNRPL9|F&SehvzJ;#kcm4&&R@`wsL!MBq=rp9~ZDCd`{h349;)d7Qxi z8-8G%z~2QvS>W4XSLp&j3i9U)JP3O}N#I|=9*PBi8qVhm{AkPz^96np#$C0*m&2|W z34A;JVMyTjqJP5zzY2O-F7TJ(XU-A$WANwa3S7V1*l|`1{1}Yu9)XXAee??aUD)%L z0{;x{y;|U{d3* zpLGI%8uQ>%fxnITwngAW5kGVaeB~6~!K(zm7V*y-fd~DX{t|)z67$_Ufscp(-ze}p z=da`UDpZx zrYV~L%>p;qUvC%qZq$3Xz<0u)?-%$3n!WRgz;BqKGoBRq`S3H(3Vavr|3!f>ga3a; z;2rP}ZwUMf#8K}G{3+P~2Lk8c)$;LYfxo3;=QDv{>em^66Zjvo-u#Ea_rpIN6!=W& zISzisjH5m1-ys68z&IKv@N;43M+y8DjML);?twoaC-65Q=VXD?GttzMF7Uk*G@dK) zhcJ##68KAyvsmB_z@Z*@{dE<_1;lmnbodRZ+r^iH0o3Z^KLjDn#l^3HAHekB;zejL zzFhnTv=?UT;vZmK=W2Dh_=C{rNdn)A{efbEkAdHtEAXjUf6W*87>xI7f!~e>EfV;} zn3qEWKMQ_7Ebv)q=yHL-00o~T@Xd%n&lUI$@EfZI{s83Z5%|%lw^!ii{^WDRT)_jratqcSa=dJUoN~M@hyRr0`lsfE8;OJ z=Qa>ZITyjtOF2tWuaxr_z@?nuqF$JtJATdYM&!6&3%?=9^{)o&4m8(C*!&=(%D4*l z$X{@Q3iqo|O>5H^2^{XwSuF4maelGD&HXvX&Y8Deuaidaq@<^I(|1>g{$6HM9pUD> zG=83dlh#nzRp+EF>FjjUI@;L{YbdIGH=ZX-K^uvp;cd!X{ce#*1UGUd$oK;99U4z8a=Q(6E0gh`$RIinBLcZ|sNb=b?1C^*dvAd4z@fggy_q{z+_@ zbZpjN%KkXUJKXxyP=681o3F#Ie+TN{hl1RG4xwfJ&k`nia*+dw4AgsgGZ@&LXdHt22U8@TT_v^ORl;4f= zV)!`=QGSbN<9-_X4e${q`fL9_w0|WCx&0I9&y+Xw2m3_fqE(4y*Q+n*ANtGvG;$k& z&!y~~H}X_XaUTmu2d@|W^e5}*aKFF$x1UZKbofQ4te+pG)t2sej|?~E_v^I&%*)A9 zIl0+|xmhZ;IAIMv!_(`DaP&B{-2TzE>(8}ju}P;z3M!&!2~AP7yiLg*c)7~oN8_89 zg?!H2IQ;F$H=A{Buyk(e3U-aad5{|eo8z&hCZTD)^lH!tL}>`zPCsYY$8wJDpBs-zNq5chn7hDsZF7h zcEgLht@JSZ+TxmOYVO;;-LD6GYq$4qFYSG%u{W^e^4jNu>jK-8AK4P@4cr&p7EnqE zuB&}}UEuZLrr_3{u|dy{;JUN!3$E*aG}t>b*xT--5^t}oeLYzJhv3!^bv|JW8Q&h< zx;uqf-9oH3vrvTHLhLpNlW%(_gV<#RdtV6--d5K8ZE)~wWxen9;Z@!{sr)y2s>_4D-6T1+ zq&M)k`d+t|E9!mrP%=D~LS&)}>aplLEhZv^tJGBmd-jh`zU(Vnn?$5de%QHqOV@a- zc)xo1=F7bYB86UXJpYfkpeRV1Qf(Hnw>S2=q>5`~M9HhB0a1+f`y)QgHyPuq``+faq z9;(Vi=0^q@O)J~sAKNLt1tX5Fk4_)m7I=_SPS5HGM<-wT7m8_uJ*&4n-Kq4o#pzC@ zuSe;^^d5eOBu#T%dV6s4Gr`^+G-(W46Ss$N&ZhX|Q9T*;J4aZ;iYe&udqdQ{b$?87 z{lbG5=l*N{H!5%gqNql4MLoMc!IJ`;lP|rEb+#_BIk^4^wI`vJ!QmHalINh!6nDgw z9eNHbKm0i;_;0kJC$QPGX9ig;iLxcwvxUMZ)y3*mTLJYSLtAtc7X7s@$Y zS_;&Iy>A`dK{|iCCvcl*?@ui)&ojuPjb^~U$ zPU~I0yLTV0S>C=p@bR|50bSvN9+depK0=HXz;lA8D1d z3Xji6A-_b8V%YxCdpzT~gz3!>0b*aCr z&ChT9^mi=_`{|+0X$ejlzqGESySys|#r-qqCB>R(200S(hTk*0UhM`%ltuCAV5Rb8p^=`8v*KSQ$tl~B42Y09G4om5Sy zS37EYtrlmRI{bkJrT&UJ{;I&-GI|wpmA|xhex)CIev_!KDXywvvdXH8x%{SUej9~) zUt2Xu5*(7^BtP*k_BVvP>YAFH!=z|>mvDGVUHx)@Q>TAPnEL=~Y+FH^<9^Uj5%<%p zGh6AUz-=9*`3j|Jek;8{JIk+>-I570qYPh$nPVwvh)$hjP4puu7t}XR;@1q%q{&-RMrf@@y>XqETL;oRN z4d4w5+W%owMw(Oo9A1ywbM|`UI5Q?Tj$b;YO2?(}?HgX7%FxKL5F;KRlWJu6IgEJu zViS z$@T}mWpAgf->WE#yUy;*t zg$}2o=nUe^6V5LB8%~bU88p(Isym8?H?=y0_yU5%zr;CWZfT7(d}#xf;tfA%2Vo<~ zk2)zEe7XEcRb>61Ptv+_C#w0Y_H^1tBO{-~xElrB(ak)o>h z&HRG6IvYkYU*E}G+EYpFPNl!0h0I79hObEFoK5J(CMStIHK~+nlDO8S8Ya=y#hmo; zQ;+z`*P4&&65njj$)+-%hbd>P$xUKNZEHHd5+<3$ByYIc%sc6Lrg4UIdj_eo!IzDd z-qgSxq;8VoTl_7IuSPh7X~-Qz&)ug!_d0_U+iBP-R)dqe*hFG)$HNhzHf-mR;?d=1oLH$c^;(fr(Kde7}q2t zIH_9y7G;0vl5i=IsBTvz-%xe}wMI#pR6$}U{fNtJR?5`Y66hIAG<grN?l38I^5! zd}BG?p3qU?_{MQ^WkN@x;~US(wFw>cmJiT`(tOjMsk z)n}6WOje&MsA?ru6`R1GQNjB2E@c3Y{<`a~(ey$vBD>4+(ZJr1p`695U#{1V}w(@Di3ywO~jBtJtR)4AF9~A{J|y%`&D^G7M27 zD(7@9<=kO%wR2(%(oGq{B^=M=l>dTD6KTp2RZS~5mwgaZ)@`X zH`V1$QQ6}-&G(3p=Z}LX)*QzZCI4wyeI`@M@dQoaiI)HLj62qM0Xg-tKAuS@@^pWK z&+FlUKu4*GKj6SuRh$^&h*u{U_qfTrRa6KuuF`2r;_4>}qW{z$=p(~omHsMAkyx?HE9WR+Fw^i!O!(&?u;U8B=mIDM*4KhsLzd`_);mia8! z>E}4zpwrKDdYMkYz#44U>ECj?O%0$Wi`@yp>m{56uJAva|5Gw^k-MWQ-i4@X0)t=J)D!r zT)gM&Zs&C5?MR**Zldz}^!{WJ5Gz-{1ooK)9PE2Lo+UDKT!e(@21c1mHTGoEk9Xrj z)mU!_hyLD;H8^9p=G_=9G%U_WVtSL~?PS;P-Pr6nC-JhwJ29Q>#qkn1fDX?Mj3!f< z?ba2uasLHc@`>yjV>a%)UeJ0@T!wct6FUAzGI0|MbQ4Nl)%}Y2xhHGMX516b zaa=|RJ&KRRZx&!iL1q-Q@wP}+FKGg26(}lhP!yZixEzzI6Wo)VNnh^CcjrXt?mhfM z|2FR^O+=ksX{)7=j@*i($_z|4aL)e^7!2IFfph-H%^sNbz&TNsMxAV=@WAcUfls2! zu>D5HN+(9bY#PNpR_gUw`RSSnNd-v4AX%)<1vCBm^6-<}&7W&IX&NxL-zEB$|Sjx(EuGtZFFcjhYO2JS4?a8ImOLv#L$ zx@IC}HIVF)#etUs5yvUv4?bx5v2T6ekCzIVX>rF{(95=kkimmxFSxNoA>= zNwEwU7&3&JaiN5vPK-};E}+h#WuK{tPZQHTCyz4hW{he`){G%-KX#q6S z5}!^-DG^XbM1Z6FlZ?7m)f8`PIyRPSY8f?zbZ(&ICXsX;fFG|CRKsXW_>PUI?Jk8- zVvN$S%Vlgb^(QxWoX1n9)JONKm!8O8#*|GgvW^^!Kg3eHON%uQ`b9p)K6sAyzE>b0|# zG0~F-V#sE4RGAz;(MG~7a(gfGIKw=d)T+FQD$BqE4DzWA42#PYa4pQDPfdkGXe11$ zfNZ)khq6>IaZ=wB*J#;hM4G^aGc^M?%~__5pXy87uo;Ir?FZZ71Gj6vSU1h z;*@wXF>$f6F3Xvap zP+C@9sm`fOJG&a_1|BLz9jk9~GC51?I>V+EvttHSpuMHVN@iQ>ER$~OZtiMY($>ao zS(aA1A5G;^{k$OJPd-NM+8FDte8RUV>fh;nHqSdY)ti;-ZAkStrh4mB?|Iy}>&0EZ zo|(R-J>KQ1zInb>x@XAa`(*x$bn5+)C-QfY(ieGCX@{B!;=AHsq;Icx>=Ej#Dfy~# zzFkYHijBS}e7k(Rc0F$BZr1cn))n8q$TxEl)$6U}dSc=)VmMy$^m>2h8OEo#@&}jp z_V7nc*RSZy6O+85oWJ9J{}In(`lvnL=2S|Yq2R9grQQ>nsn?s6a<(tkJCpJrH(9=o zoa6h~@_8@n7E%M2dM6#>Jt4K@_~u0!kNY0?ddX;FV=O(!9Pjy?Z{s|j5o>46h-3r< z3yVtwC1vxA%bn&nx@C>;+v*6P(;e>Y;!e$Sn(HWKKkXu$?&+v+4m3I8_NMwqx>e2z zh31skgyxqm2xVr30t+icA^)Ul+4+;5`nGPqL(x%BxgfH+B_*Nanu_^lC83%?bxo*v zL20NuP!p=Dstuf4T<*^#n!1*Tyd2`dX_Ac6fy(N#@`?qF1*T=@mX4aLzGfb+k zshaE$g(MydsT^l^d2z`+r8*L%tD~)1KkpExPh9-cd4S!LZR}~+2vrKotB-Km6?&9nUkHF znUztPotu%Dl^33tQ<$yPHFrU636oY-!LVvsFjjF*fvbteMygjaEe#Ome3y4#PHtvl zVQzM2K|xkdeokISR&F-)&dubmV4DsWpBf02o>p8nCo5Dkrz})lJ)g|7b6G3hGt=GL z*|e1Is#PP4TBy6UJyh4#)zP%1yDO}EtRSP%=_WfN3!~9y6jdFpsA4^35mXW^uFA{{ z)hwzE5YoAM1RoOT}`t z9d{}S)zR<@(bIUAkkQbSc$#@wFE21-+U*-Nprfo>*$al7)eqH+7LRM&Te!>xIp^gyBJW*%{;FDNiQm!~sxXnyVtkepGO*>nRX zyOP<9Y678(D%L^BA400Utfr1;2-;%X|ZhM}Gc+yP6z3$1hKD{?eEI$)NQrn%>8I+*6qoJ^8b*OZoo zYHQ|%NIlGw9A;OPm_qC%Lcz*PKk7mUdDm8xq}e-qlne zs_Uf4t&69F9J=W)GUV9JkP_LZn7X6xTq@B)(};3J`9$mbA5uEEhSZhkj`2yPOv_j} z8pz?uG*FqD6RD)BwXw~a7hbibt*(Q8h;cI!cN-bfa1cCoH?(z=515phmS32kSD2ld zol}sPm7STJpHYyR8=jh-QBXeFX=!Wd4AnI>u+_U}5ixom(8lR3L^zU}k(J|c>`4>J zil%zWeA zFLo*1Q*(-G-Y2h;#a@L(BYnDV+X+?F)>PKkptCKJB7UMd;w7wnc753eEp;8sYw716 zG)PxC?R87THSnOM71Bq^r25JJ=+O&V^Xi*BXz0_pk3=Q&1M@4Y7KN$;G#XDOQ{yqf zVV!o`?EFn1k_VO11Laz=9Ys0iq4J87d7(K~fq>%V&XWCm=PVkKItt?(9&PQnH+9u7 zBlgunnhEV{L0__{c!AZ5%Hp}?^p#UaT$Pc*k>qk^#gyP-ZHJ1{fnsB0ZMmb&!QwfG zelil6T{~wE`8wr#$`+Ic^k|%2wxGCb5wTU{j@(HD8CYF2|Cl2ZtQ1ndiYu(?BrT&L zCo3Z>Ge0Y*AU8K7Cnq~6BQrcLvyelIi0iRb&4QXd5ySP<2D<;8!prJ;p}EC1D#XmS z8l(cyQ)dULN9Ram(lYiAS!xNKZdS2r#{!foZZ*F6M zMD63X6h=)Jo8BQzUk5uX09d-TgCqKIsI{}9r705W!eskSdsLen$`_^;MjwIff*e{a zVHDdTZDtx7TUKE~PF_wn*LSaP@dVP$aR!I|I-n3?gg-MYo4ZxTkra6v3nZtm zXLh}+pix~~HfN3-*|Ozu7|~B(M^6?}?xwCe+(kX0rWX!?xLy?tvhUF~7v{5;7A_2( z7AT&l42T1X$b=eh44ucPRI<4!dUp8}PLEbdxvoxFj{L^TU zXlA{tWLhJ!Qa^N?MsY}&`XQWOfgN34O*-ZN%&=3RFX?Wg?VwhD(%l)JR==`t8rlBJ zrY?=OH<3h*jTEL5=T_Q|T55bm8U4W$xBf-rid3p+>w=* zl|{aomd}M*xwM?5cq5}Am)vq5g&o?-H-zh()rz#Pn|_ap#VG$QlYjAJ+qIgau{yCW ztb^u=7792*BKpLFVt(=5vJx_i%-O}IvokWti_-Y$8zAtgv6jllVUWCqPGfT&#e%Fk zl9@U!L`D_u<|6J)`8nd1Wdcrid2a0BA2-fV%CbhQT64L>m5C#~4zVW9YHAI*Q6z7R znE0L7h-!_g%(-kqdD#NxupQDxU_nhW_m*;Whl;8xhR!a?Rz5Fk3WekBPd+tqn_pc< zExy#w(Cn&;(-xrTo9kMZG|*3MDWERQP%eO0{$+uZP;PFaT5pyI7Lxai4BlcM4m(f!iH!Qn(qGy7D@T9P+LGp6{ma)-WmRB~ znk6A_2W`DIwU8(4=%`!O>CY@I$fw`f(3W0yRD4BKPPo-FNV~JM={I$}*0ZNUBd!s% z*5Oct+Co3jt*xY8G{hSmF!H2EL%V}wqQ)lL0`mdKF6w^nF8hDc~ar6%Fz5k zO|YVrXgJQ{hBmd*uc>Ku(9d>U0S{vkHFbsR>)L5!OYQq8BeN9j#vf5(Ml~^}`V#=@SZ>(87pe)~;p{lq>DmR`UvdWdSdsSt_+#Bi*BNxK_91G&FTC=RtHke=)cY0Ax2 z>%>3{vC{s7oCigX=aIi`ZtCp9ws4-fBtfyC6Ji5a8$_kFE}cuwj$Cbsss`H#)=r-8 ztLpjG@5OVm{ZLKfaXb~7GpX-ov)tzK0(C(J8Mr%5heGsBMvDh8ukE22<;#>M(x5P# z6Hz0@RLbLvs{Uk!Fv9H~qm!tIF9ADPK)f0UgK&Vy?W-?XxGF&#c z_^C-zx{XvEZf>N@Tv7)FP!k}m9{n3#e_2H+$eWgE zxx4gcAyj}@SzJ>>8wIBZ%Jqm)CKqvI)&R-Va~|Bl3QJRFMt83mD6x1sMsp%0=aA5}T8PGYG10aBt@=JP$TZp|rbTl> zA?@De7m(NF*e*ORe~#18(X=Am=}xOwqg3!5wQF}aF?KhmsgqdVMFE;@PjfnS7|$0Z z*#R1fctsm+;^wk?h;2wmDQJ*cux94bRsh$8%WulfnMqzvIHA*M<$cKQ{OF6L{4>wU zv`O=w-YKNH)M|2MBXdD@D2J~I1>6lyC`v80^@Ru}V`NdMt}^jqTC%XS$W_rdZF~;680f~(vn~>6U{jo;tGU(GL#$}(tS+jM zhXao++o+-kg(W~F1na8|;cECoacSUG*UwM{*|n^RcO$4m9a&gTx^Fz9=M*g9Ly@J6 z3OKPBQ&y(0x9Clm*<|YG!i}Hyh3rYiKZ6|+Kjo&gYl>Q~MK0v)OE1y;M6_;DyJ4Dh zWoc!Eb9N4`LTE+b(M9j0&=;DhQ9QUP0JFBv3h^8r%GB0u1-)#~wDZFrikISan?Y-1 z(^BKN!d)e5GfrL4Hw$3uHRZ$5?-=(Stk{0hOmh6qE?h4=nL@|g6uCxQw{AcI?Z&7& z1JthtbFdqzPR!OIM;Gka&GrGWB5B*rpiN6@UC$Zw^a(N|59-1%D<~e-HpKp6u;+z&N zt6|B>=G>JDu4d~s8ZNxS`n6WgHk~^O(Y+uUbTf$SE3BR@%pu$wA!^e^Pv{nkaieg1 zD@Cte#ibeE%upkg#s`g1i;Z%>>dqCL3Gc@U7Ph41k#Uu>y^Y$(o0>XM5*N*l>C{>w zs0tcN=9hA$6dB3ni7lacX&W^qa6D+{@sK~8wraBqX#X>hY(6)updh!9CL6jERzT|# zn+*p-S?bmaJMOT84>lFI6J3)~-AIm>GGoUAWT= zUB{!*7NFRCmFi{Mf7by(#3LE*_A_{8b&^hewBW=T?gC2)m zR<70(6g69Y05i?Us14LR`Z62U$r=k$847$N`!xMrXz9ys0N>)wrhsgDslJ%0Z$6;@ zrJ70uR6z-C!jzKe6v?SDj$qpEjJmA_JDxddg*h2{xpa$50XgQJyxg3e%=~;>l4s@6 zmZ!cXr?wXmCsGZVWBG!QnP>BIbF+EFM};!M3VIS7?~G(P?G$cD?Ka`6t#u<&fA<#Q zwjxXj#FxFFdLL4V@BE_i+SU=-hGWCF=0YdQ3flUx-NCYO z)6!);v-2<-cv_#&Q5Rn*>(C_=`s(eS7F3^Wt>%(jfdFsxEISZ@po4mM7 zOt%<|FyCw$QNFz2MNMSBbbXMz8s$bM);vf17<@&_YEoqC>brS~%GEXz8SsE1q`Jh7 zk)y2gI~&AfMFnc%mF+xARK#anxC)t~+@QYA%yyTq(w*uO-Yp3Q1ALF9zmP_`)w-;f z7U~fT;2zA=?kFI7&mAT9Y@%jbHF#a+(yb;s$i)O}#})`&^}R7xwfP7r)%<5R>uh~; zWK!4Of)LTx#uB=Jnc^GwE{s0jK5DtIH*$Gpt}dlfU`?0O)MObQ7GVxnYpa3`Cg4`7 z$cPNmwHVs?ba?-d^2DqZH6y7Dt9*MlFR!(BsRRY=bJb0>yz|PdUR_P30s4v(4YxzD z_WOyHvT>D1&jIFAOhpMTt{t^+42!hF$;ifO^p)tSvjBygIds9FHo(IjE5Z%Z584~~ zmhSo5iK8biYC9Xbx@yxvH#+sXWzHU0{qN9OwxgoLft?>sEp_ReByU`rO4JXS$A4yer`@-4&8TKkd>8H zkWYIeg&ajtlqxjETZPrZQi>lJ@{S2z;p8b!J5zgT@Rl%Tkae+pP&)zc<-OMMxnu#| zoUOtdd)=6sAEmW(Y0HqWZB$kj&z)aP^JghtC8NuWbf>}sx~qok7wG>`wK4~Y< z8cXgj0I5GzRYv`pp$s6Zes%L$@sD(-HKsEDrgN8P=otUi*hZLOj-a@PPk5V!hl zsy?sJod)Wbb428-$+$0yW=x|%y~)Kr&rymHPP-;t=cKD$4tc8S{zqu}=5w*4a`bZ<44pUR^0^K9>ftpef1bmhpXq^^~s2F zEjcRkPDP2{lr>X&!@;4om3LqB^Lh(3)WPW>G*{m9RBG5A@!EE5y`7GF0zCh~v}7mFnk zhgo)RBpynM;biALj`>hNhrY)Sfae3(&%lNcBKp&S{}fGbU}kji)0|UuGV1eU!pB>$*#P)01K?W* z!2fFi{L=yO7&0mD$LHXJE`qkRfzQEXAe4`$yqSder-zCG@a6$<_cxTG)5~*sla#`X zb6axKGSUjddD;05g$>z_c?E@yb#=Mny1LA)yu$k2yfAI2XDBkhca?rJnU<5*KtE~9 zFUZKtUlPu3Xv{5a$Y{vVsjJTmXJysp<`*tel(6`@ZI;}g53PZ{G5zj>xX|<9L-BV zy#p!1OkS1=P;SAm>S84jMIdVgdou94m zp0YXX%LU?>0(Kc}7ZAlE>UKFr>c&q%?D{Iyk9>(+|Gy%T7gUbdx>pTaX4Ex z*7l@bl7>R`=0V@P6)bYIOXdD33FAEn-{k(HW*_y7Z^9(LcmVnp1K>X%0RQ;__@e{h zzaIeqcmVvH0q~!bKjeekWzXinvT!?!c-X=xtCIR-uZ2&s@QLL2_%QtSL!c>^wQ!sN zbPKonFR*a+%YDt(30e3wVEnb*!ns{Wrj-_M^S{o*$60*tvT){8fV>ASJk6qi%EHyN z1(5f93m<3E@3wH}-;KP#TDZ;sfQ8%qQxLkbp3U6Ltj1V)CV2DLGz;f?FGAjQ3%B{7 zVc|^wQ_zPk+?KP=!fiemTDUFGdJAX%H-i7qEZpXEw}sn$9X3_*y@`nTmd%EFodgWx~j!fige7H;#Q=UJ)4j3d*o1r~1eX|r&y zcZ)9Wtg>*sT|E|V^SRo>ZFz3BaOVFa_}^>cHlL?0+~)H;3uiv2U2j{s&1WPN(P8xP zhCX%1TDaY=6D{24Gt0tldH%z~Ir#zjpJw4UpC${p`E*-2CwGC*MHX)J`Kg85d~UID zP8xacv2dHuQx(&+gu3%B_kjU}AX^Oul+yoK9(PP1^EPmzV&@|0URi(uNd z$ii(t%PrjIbFPJ}rm(%07Uk?78EZpXEuZ7!sd(^^hd7iOwo6ma|j*vuYV*dd6h{0M>ES^n2#===1UWfBB z)xvFgaxL7Jr`W=o&u_qIo`p|Rob^Yog-^Edw=LYJ|Iotixacny&h`Ed_5RbsCtLi7 zCg>9;%eL@Q7S4R$1)qr)Zu1FRIMcre`YH>z54l_=b-5g2Dt%FyV1m8KTLb)V7<-P1^6(y zq5q}8zk!`UB=BKJ=<-hq{4Afww+lQpT;qHlfe%yf1la9g1%5C5^S=cCbM$)x{E*=@ zb)4pF_Q4E33r@O3&_4kFrwRN)_@%Q1zH6f9e~G|5Q#HO$;5%WrHw*kXm=|src*zva z=NW;+9GvX}zYvr8X9E8t?BwqPFMvJ&Q{ejbNfal+E{xtxe4ilj$1skP1%46QHA3Ls z>H(sW{V~Iz-ypdAEH)0%{dXIrTcMAMezvlCjz<-90-zV^k z#%p?W3EA*h@5rF6_(3|~#X+whz#j24i_kCp2z@>beF*qSfro(~FYx8S&AyG{lX0Tv zJ4MiM0)2+SZf{H z|8apoc%-I(PT-GoL+E%};Ol_DDe$qdhxY~k6WIA~fge9s^Z%>Bcf+3bn^7WmYxM8K zI5v7V`cD$L(fWU%1#a|TBygkuGJzZYR|(wc{|tc}{hR$X(_W+h z7C~?Hze3xip&yO)#cc!7-zD%K^zTywH}k@C0>2ya;hzL< z=CzLmz6bN*0fC!�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

EY`Fzm~?=K7ohX{}=eZ)bH{>u0Q#7JwFlj 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